共享数据库集群快照 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

共享数据库集群快照

使用 Neptune,您可以按以下方式共享手动数据库集群快照:

  • 共享手动数据库集群快照(无论是否加密)可允许经授权的 Amazon 账户复制快照。

  • 共享手动数据库集群快照(无论是否加密)可允许经授权的 Amazon 账户直接从快照还原数据库集群,无需复制数据库集群再从中进行还原。

注意

要共享自动数据库集群快照,请通过复制自动快照来创建手动数据库集群快照,然后共享该副本。

有关从数据库集群快照还原数据库集群的更多信息,请参阅如何从快照还原

您可以与最多 20 个其他 Amazon 账户共享手动快照。您也可以将未加密的手动快照作为公有快照进行共享,这样所有 Amazon 账户均可使用此快照。以公有快照形式共享快照时应谨慎,不要将您的私有信息包含在任何公有快照之中。

注意

当使用 Amazon Command Line Interface (Amazon CLI) 或 Neptune API 从共享的快照还原数据库集群时,您必须指定共享快照的 Amazon 资源名称 (ARN) 作为快照标识符。

共享加密的数据库集群快照

您可共享使用 AES-256 加密算法“静态”加密的数据库集群快照。有关更多信息,请参阅静态加密 Neptune 资源。为此,您必须执行以下步骤:

  1. 与您希望允许其访问快照的任何账户共享用于加密快照的 Amazon Key Management Service (Amazon KMS) 加密密钥。

    可将另一 Amazon 账户添加到 KMS 密钥策略,来与该账户共享 Amazon KMS 加密密钥。有关更新密钥策略的详细信息,请参阅《Amazon KMS 开发人员指南》中的密钥策略。有关创建密钥策略的示例,请参阅本主题下文中的 创建 IAM 策略来启用加密快照的复制功能

  2. 使用 Amazon Web Services Management Console、Amazon CLI 或 Neptune API 与其它账户共享加密的快照。

这些限制适用于共享加密快照:

  • 您无法公开共享加密的快照。

  • 如果某个快照已使用共享该快照的 Amazon 账户的默认 Amazon KMS 加密密钥进行加密,则您无法共享该快照。

允许访问 Amazon KMS 加密密钥

要让另一 Amazon 账户复制通过您的账户共享的加密数据库集群快照,您与之共享快照的账户必须有权访问加密快照的 KMS 密钥。要允许另一 Amazon 账户访问 Amazon KMS 密钥,请使用您要与之共享的 Amazon 账户的 ARN,将 KMS 密钥的密钥策略更新为 KMS 密钥策略中的 Principal。然后允许 kms:CreateGrant 操作。有关一般说明,请参阅《Amazon Key Management Service 开发人员指南》中的允许其它账户中的用户使用 KMS 密钥

在您已向某个 Amazon 账户提供对 KMS 加密密钥的访问权限后,要复制您的加密快照,该 Amazon 账户必须创建 IAM 用户(如果还没有此用户的话)。KMS 安全限制不允许为此使用根 Amazon 账户身份。Amazon 账户还必须将 IAM policy 附加到该 IAM 用户,以允许此 IAM 用户使用您的 KMS 密钥复制加密的数据库集群快照。

在下面的密钥策略示例中,用户 111122223333 是 KMS 加密密钥的所有者,而用户 444455556666 是要与之共享密钥的账户。通过包含用户 444455556666 的根 Amazon 账户身份的 ARN 作为策略的 Principal,以及通过允许 kms:CreateGrant 操作,此更新的密钥策略为 Amazon 账户提供了访问 KMS 密钥的权限。

{ "Id=": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid=": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KeyUser", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid=": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KeyUser", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }

创建 IAM 策略来启用加密快照的复制功能

在外部 Amazon 账户有权访问您的 KMS 密钥之后,账户的所有者可创建一个策略来允许为该账户创建的 IAM 用户复制使用 KMS 密钥加密的快照。

以下示例显示了一个可附加到 Amazon 账户 444455556666 的 IAM 用户的策略。它使 IAM 用户能够从 Amazon 账户 111122223333 复制已使用 us-west-2 区域中 KMS 密钥 c989c1dd-a3f2-4a5d-8d96-e793d082ab26 加密的共享快照。

{ "Version": "2012-10-17", "Statement": [ { "Sid=": "AllowUseOfTheKey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant" ], "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"] }, { "Sid=": "AllowAttachmentOfPersistentResources", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

有关更新密钥策略的详细信息,请参阅《Amazon Key Management Service 开发人员指南》中的密钥策略

共享数据库集群快照

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 Neptune API 共享数据库集群快照。

使用控制台来共享数据库集群快照

使用 Neptune 控制台,可以与最多 20 个 Amazon 账户共享手动数据库集群快照。您也可以停止与一个或多个账户共享手动快照。

共享手动数据库集群快照
  1. 登录 Amazon 管理控制台并通过以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home

  2. 在导航窗格中,选择快照

  3. 选择要共享的手动快照。

  4. 依次选择 Actions (操作)Share Snapshot (共享快照)

  5. DB snapshot visibility (数据库快照可见性) 选择以下一个选项。

    • 如果源未加密,选择公有可允许所有 Amazon 账户从您的手动数据库集群快照还原数据库集群。或者选择私有,以仅允许您指定的 Amazon 账户从您的手动数据库集群快照还原数据库集群。

      警告

      如果将 DB snapshot visibility(数据库快照可见性)设置为 Public(公有),则所有 Amazon 账户均可从您的手动数据库集群快照还原数据库集群,并且可访问您的数据。请勿将包含私密信息的任何手动数据库集群快照以公开形式共享。

    • 如果源已加密,由于已加密的快照无法公开共享,DB snapshot visibility (数据库快照可见性) 将设为 Private (私密)

  6. 对于 Amazon 账户 ID,输入您想要允许从您的手动快照还原数据库集群的账户的 Amazon 账户标识符。然后,选择 Add (添加)。重复操作以加入其他 Amazon 账户标识符,最多可包含 20 个 Amazon 账户。

    如果您在许可账户列表中错加了某个 Amazon 账户标识符,可以选择错误 Amazon 账户标识符右侧的 Delete (删除) 将其从列表中删除。

  7. 为您想要允许还原手动快照的所有 Amazon 账户添加标识符以后,选择保存

停止与某个 Amazon 账户共享手动数据库集群快照
  1. 通过以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home

  2. 在导航窗格中,选择快照

  3. 选择要停止共享的手动快照。

  4. 选择 Actions (操作),然后 Share Snapshot (共享快照)

  5. 要取消某 Amazon 账户的权限,请从授权账户列表中选择该账户的 Amazon 账户标识符所对应的 Delete (删除)

  6. 选择 Save(保存)。