Amazon DocumentDB クラスタースナップショットの共有 - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB クラスタースナップショットの共有

Amazon DocumentDB で、認可された AWS アカウント によってコピーされた手動クラスタースナップショットを共有できます。暗号化されている手動スナップショットまたは暗号化されていない手動スナップショットを共有できます。暗号化されていないスナップショットを共有する場合、承認された AWS アカウント は、クラスターのコピーを作成してそこから復元するのではなく、スナップショットから直接クラスターを復元できます。ただし、共有され暗号化されたスナップショットから、クラスターを復元することはできません。代わりに、クラスターのコピーを作成し、そのコピーからクラスターを復元できます。スナップショットのコピーの詳細については、「Amazon DocumentDB クラスタースナップショットのコピー」を参照してください。

注記

Amazon DocumentDB 自動クラスタースナップショットを共有することはできません。回避策として、自動スナップショットをコピーして手動スナップショットを作成し、そのコピーを共有できます。スナップショットのコピーの詳細については、「Amazon DocumentDB クラスタースナップショットのコピー」を参照してください。スナップショットからクラスターを復元する方法の詳細については、「クラスタースナップショットからの復元」を参照してください。

手動スナップショットは、最大 20 の他の と共有できます AWS アカウント。暗号化されていない手動スナップショットをパブリックとして共有することもできます。これにより、このスナップショットをすべての アカウントが使用できるようになります。スナップショットをパブリックとして共有する場合には、パブリックスナップショットにプライベート情報が含まれないように注意してください。

手動スナップショットを他の と共有し AWS アカウント、 AWS CLI または Amazon DocumentDB API を使用して共有スナップショットからクラスターを復元する場合は、スナップショット識別子として共有スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。

暗号化されたスナップショットの共有

以下の制限は、暗号化されたスナップショットの共有に適用されます。

  • 暗号化されたスナップショットをパブリックとして共有することはできません。

  • スナップショットを共有したアカウントのデフォルトの暗号化キーを使用して AWS KMS 暗号化されたスナップショットを共有することはできません。

暗号化されたスナップショットを共有するには、以下のステップに従います。

  1. スナップショットの暗号化に使用された AWS Key Management Service (AWS KMS) 暗号化キーを、スナップショットにアクセスできるようにするすべてのアカウントと共有します。

    AWS KMS 暗号化キーは、キー AWS AWS KMS ポリシーに他のアカウントを追加することで、別のアカウントと共有できます。キーポリシーの更新の詳細については、「 AWS Key Management Service デベロッパーガイド」のAWS 「KMS でのキーポリシーの使用」を参照してください。キーポリシーの作成例については、このトピックで後述する 暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成を参照してください。

  2. 以下に示されているように AWS CLI、 を使用して、暗号化されたスナップショットを他のアカウントと共有します。 スナップショットの共有

AWS KMS 暗号化キーへのアクセスの許可

お客様のアカウントから共有された暗号化されたスナップショットを別の がコピー AWS アカウント するには、お客様のスナップショットを共有したアカウントに、スナップショットを暗号化した AWS KMS キーへのアクセス権が必要です。別の アカウントに AWS KMS キーへのアクセスを許可するには、キーポリシーのキーポリシーを、キー AWS KMS ポリシーのプリンシパルとして共有しているアカウントの AWS KMS ARN で更新します。次に、kms:CreateGrant アクションを許可します。

暗号化 AWS KMS キーへのアクセス権をアカウントに付与した後、暗号化されたスナップショットをコピーするには、そのアカウントに AWS Identity and Access Management (IAM) ユーザーがない場合は、そのユーザーを作成する必要があります。さらに、そのアカウントは、ユーザーが AWS KMS キーを使用して暗号化されたスナップショットをコピーできるようにする IAM ポリシーをその IAM ユーザーにアタッチする必要があります。セキュリティ AWS KMS 制限のため、アカウントは IAM ユーザーである必要があり、ルート AWS アカウント ID にすることはできません。

次のキーポリシーの例では、ユーザー 123451234512 が AWS KMS 暗号化キーの所有者です。ユーザー 123456789012 がキーの共有先のアカウントです。この更新されたキーポリシーは、アカウントに AWS KMS キーへのアクセスを許可します。これを行うには、ユーザー 123456789012 のルート AWS アカウント ID の ARN をポリシーのプリンシパルとして含め、 kms:CreateGrantアクションを許可します。

{ "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::123451234512:user/KeyUser", "arn:aws:iam::123456789012: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::123451234512:user/KeyUser", "arn:aws:iam::123456789012:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }

暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成

外部の AWS アカウント が AWS KMS キーにアクセスできる場合、そのアカウントの所有者は、アカウント用に作成された IAM ユーザーが、その AWS KMS キーで暗号化された暗号化されたスナップショットをコピーできるようにするポリシーを作成できます。

次の例は、 AWS アカウント 123456789012 の IAM ユーザーにアタッチできるポリシーを示しています。このポリシーにより、IAM ユーザーは、us-west-2 リージョンc989c1dd-a3f2-4a5d-8d96-e793d082ab26の AWS KMS キーで暗号化されたアカウント 123451234512 から共有スナップショットをコピーできます。

{ "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:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"] }, { "Sid": "AllowAttachmentOfPersistentResources", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["arn:aws:kms:us-west-2:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

キーポリシーの更新の詳細については、 AWS Key Management Service デベロッパーガイド 中の AWS KMSのキーポリシーを使用する を参照してください。

スナップショットの共有

スナップショットを共有するには、Amazon DocumentDB の modify-db-snapshot-attribute のオペレーションを使用します。--values-to-add パラメータを使用して、手動スナップショットの復元 AWS アカウント が許可されている の IDs のリストを追加します。

次の例では、2 つの AWS アカウント 識別子 123451234512 と 123456789012 が という名前のスナップショットを復元することを許可しますmanual-snapshot1。また、all 属性値を削除し、スナップショットをプライベートとしてマークします。

Linux、macOS、Unix の場合:

aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-add '["123451234512","123456789012"]'

Windows の場合:

aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-add '["123451234512","123456789012"]'

このオペレーションによる出力は、次のようになります。

{ "DBClusterSnapshotAttributesResult": { "DBClusterSnapshotIdentifier": "sample-cluster-snapshot", "DBClusterSnapshotAttributes": [ { "AttributeName": "restore", "AttributeValues": [ "123451234512", "123456789012" ] } ] } }

リストから AWS アカウント 識別子を削除するには、 --values-to-removeパラメータを使用します。次の例では、 AWS アカウント ID 123456789012 がスナップショットを復元するのを防ぎます。

Linux、macOS、Unix の場合:

aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-remove '["123456789012"]'

Windows の場合:

aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-remove '["123456789012"]'

このオペレーションによる出力は、次のようになります。

{ "DBClusterSnapshotAttributesResult": { "DBClusterSnapshotIdentifier": "sample-cluster-snapshot", "DBClusterSnapshotAttributes": [ { "AttributeName": "restore", "AttributeValues": [ "123451234512" ] } ] } }