共享資料庫叢集快照 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

共享資料庫叢集快照

使用 Neptune 時,您可以透過下列方式共用手動資料庫叢集快照:

  • 共用手動資料庫叢集快照 (無論加密或未加密) 可讓授權的 AWS 帳戶複製快照。

  • 分享手動資料庫叢集快照 (無論加密或未加密) 可讓授權的 AWS 帳戶直接從快照還原資料庫叢集,而不需要先複製再還原。

注意

若要共用自動資料庫叢集快照,請複製該自動快照來建立手動資料庫叢集快照,然後共用該複本。

如需從資料庫叢集快照還原資料庫叢集的詳細資訊,請參閱如何從快照進行還原

您可以將手動快照最多共用給其他 20 個 AWS 帳戶。您也可以將未加密的手動快照以公有形式共用,讓所有 AWS 帳戶都可使用此快照。將快照以公有形式共用時,請小心不要在任何公有快照中包含您的私人資訊。

注意

使用 AWS Command Line Interface (AWS CLI) 或 Neptune API 從共用快照還原資料庫叢集時,您必須指定共用快照的 Amazon Resource Name (ARN) 做為快照識別符。

共用加密的資料庫叢集快照。

您可以共用已使用 AES-256 加密演算法「靜態」加密的資料庫叢集快照。如需更多詳細資訊,請參閱 靜態加密 Neptune 資源。若要這樣做,您必須採取下列步驟:

  1. 將用於對快照進行加密的 AWS Key Management Service (AWS KMS) 加密金鑰,與您希望能夠存取此快照的任何帳戶共享。

    您可以將其他帳戶新增到 KMS 金鑰政策,以將 AWS KMS 加密金鑰與另一個 AWS 帳戶共用。如需有關更新金鑰政策的詳細資訊,請參閱 https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html 開發人員指南中的AWS KMS金鑰政策。有關建立金鑰政策的範例,請參閱本主題稍後的建立 IAM 政策以允許複製加密快照

  2. 使用 AWS Management Console、AWS CLI 或 Neptune API,與其他帳戶共用加密快照。

共用加密快照有下列限制:

  • 您無法將加密快照以公有形式共用。

  • 如果快照是以共用快照之 AWS 帳戶的預設 AWS KMS 加密金鑰進行加密,則您無法共用此快照。

允許存取 AWS KMS 加密金鑰

若要讓另一個 AWS 帳戶複製從您的帳戶共用的已加密資料庫叢集快照,您與之共用快照的帳戶必須具有加密該快照之 KMS 金鑰的存取權。若要允許另一個 AWS 帳戶存取 AWS KMS 金鑰,請使用您在 KMS 金鑰政策中以 Principal 身分共用之 AWS 帳戶的 ARN,更新 KMS 金鑰的金鑰政策。然後允許 kms:CreateGrant 動作。如需一般指示,請參閱《AWS Key Management Service 開發人員指南》中的允許其他帳戶中的使用者使用 KMS 金鑰

在您授權 AWS 帳戶存取您的 KMS 加密金鑰之後,若要複製您的加密快照,該 AWS 帳戶必須建立 IAM 使用者 (如果還沒有的話)。KMS 安全限制不允許將根 AWS 帳戶身分識別用於此情況。AWS 帳戶還必須將 IAM 政策附加到該 IAM 使用者,以允許 IAM 使用者以您的 KMS 金鑰來複製加密資料庫叢集快照。

在以下金鑰政策範例中,使用者 111122223333 是 KMS 加密金鑰的擁有者,使用者 444455556666 是共用金鑰的帳戶。這個更新的金鑰政策將使用者 444455556666 之 AWS 根帳戶身分的 ARN 納入為政策的 Principal,並允許 kms:CreateGrant 動作,以授予 AWS 帳戶存取 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 政策以允許複製加密快照

在外部 AWS 帳戶可以存取您的 KMS 金鑰之後,該帳戶的擁有者就可以建立政策,允許針對該帳戶建立 IAM 使用者,複製以該 KMS 金鑰加密的加密快照。

下列範例顯示可以連接到 AWS 帳戶 444455556666 之 IAM 使用者的政策。它可讓 IAM 使用者從 AWS 帳戶 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 } } } ] }

如需有關更新金鑰政策的詳細資訊,請參閱 https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html 開發人員指南中的AWS Key Management Service金鑰政策

共享資料庫叢集快照

您可以使用 AWS Management Console、AWS CLI 或 Neptune API 共用資料庫叢集快照。

使用主控台共享資料庫叢集快照

使用 Neptune 主控台,您可以將手動資料庫叢集快照與最多 20 個 AWS 帳戶共用。您也可以停止與一或多個帳戶共享手動快照。

共享手動資料庫叢集快照
  1. 登入 AWS 管理主控台,然後開啟位於 https://console.aws.amazon.com/neptune/home 的 Amazon Neptune​ 主控台。

  2. 在導覽窗格中,選擇 Snapshots (快照)。

  3. 選擇您要共享的手動快照。

  4. 選擇 Actions (動作)Share Snapshot (共享快照)

  5. DB snapshot visibility (資料庫快照可見度) 中,選擇下列其中一個選項。

    • 如果來源未加密,請選擇公有,來允許所有 AWS 帳戶從您的手動資料庫叢集快照還原資料庫叢集。或者選擇私有,只允許您指定的 AWS 帳戶從您的手動資料庫叢集快照還原資料庫叢集。

      警告

      如果您將 DB Snapshot Visibility (資料庫快照可見度) 設為 Public (公有),則所有 AWS 帳戶皆可從您的手動資料庫叢集快照還原資料庫叢集,而且可以存取您的資料。請勿將任何包含私人資訊的手動資料庫叢集快照以 Public (公有) 形式共用。

    • 如果來源資料庫叢集已加密,DB snapshot visibility (資料庫快照可見度) 會設為 Private (私有),因為加密快照無法以公有形式共用。

  6. 針對 AWS 帳戶 ID,輸入帳戶的 AWS 帳戶識別符,這是您想要允許從手動快照還原資料庫叢集的帳戶。接著選擇 Add (新增)。重複上一步來包含其他 AWS 帳戶識別符,最多 20 個 AWS 帳戶。

    如果您誤將 AWS 帳戶識別符新增至允許的帳戶清單,您可以選擇錯誤 AWS 帳戶識別符右邊的 Delete (刪除),以從清單中刪除此識別符。

  7. 在為您想要允許還原手動快照的所有 AWS 帳戶新增識別符之後,請選擇儲存

如要停止與 AWS 帳戶共享手動資料庫叢集快照
  1. https://console.aws.amazon.com/neptune/home 開啟 Amazon Neptune 主控台。

  2. 在導覽窗格中,選擇 Snapshots (快照)。

  3. 選擇您希望停止共享的手動快照。

  4. 選擇 Actions (動作),然後選擇 Share Snapshot (共享快照)。

  5. 若要移除 AWS 帳戶的許可,請從授權帳戶清單中,對該帳戶的 AWS 帳戶識別符選擇 Delete (刪除)。

  6. 選擇 Save (儲存)。