共用快照 - Amazon Redshift

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

共用快照

您可以透過授權快照的存取,與其他 AWS 客戶帳戶共用現有的手動快照。每個快照最多可以授權 20 個,每個 AWS Key Management Service (AWS KMS) 金鑰最多可以授權 100 個。也就是說,如果您有 10 個使用單一 KMS 金鑰加密的快照,則可以授權 10 個 AWS 帳戶還原每個快照,或其他組合,這些組合最多可新增 100 個帳戶,且每個快照不得超過 20 個帳戶。在其中一個已授權帳戶登入為使用者的人員,接下來可以描述快照或將其還原,以在其帳戶下建立新的 Amazon Redshift 叢集。例如,如果您使用單獨的 AWS 客戶帳戶進行生產和測試,使用者可以使用生產帳戶登入,並與測試帳戶中的使用者共用快照。某人若以測試帳戶使用者身分登入,他接下來可以還原快照以建立由測試帳戶所擁有的新叢集,以進行測試或診斷工作。

手動快照由建立該快照 AWS 的客戶帳戶永久擁有。僅有在帳戶中擁有快照的使用者,方可授權或撤銷其他帳戶存取該快照。在已授權帳戶中的使用者僅可描述或還原任何與他們分享的快照;他們不得複製或刪除與他們分享的快照。授權將持續生效,除非快照擁有者撤銷之。若授權被撤銷,之前授權的使用者將無法看見該快照,也不能啟動任何參考該快照的新動作。若存取權被撤銷時帳戶正在還原該快照,則該還原會持續進執行至完成。您不得刪除有主動授權的快照;您必須先撤銷所有的授權。

AWS 客戶帳戶一律有權存取帳戶擁有的快照。試圖授權或撤銷擁有者帳戶的存取權將會收到錯誤。您無法還原或描述非作用中 AWS 客戶帳戶擁有的快照。

在您授權存取 AWS 客戶帳戶之後,該帳戶中的使用者都無法在快照上執行任何動作,除非他們擔任具有允許他們這樣做之政策的角色。

  • 只有當快照擁有者帳戶中的使用者所擔任的角色有 IAM 政策允許他們執行使用包含快照的資源規格動作,他們才可授權或撤銷快照的存取權。例如,下列政策允許 AWS 帳戶中的使用者或角色012345678912授權其他帳戶存取名為 的快照my-snapshot20130829

    { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:AuthorizeSnapshotAccess", "redshift:RevokeSnapshotAccess" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829" ] } ] }
  • 已共用快照 AWS 之帳戶中的使用者無法對該快照執行動作,除非他們具有允許這些動作的許可。您可以透過將政策指派給某個角色並擔任該角色來執行此操作。

    • 列出或描述快照;他們必須擁有允許 DescribeClusterSnapshots 動作的 IAM 政策。下列代碼顯示了範例:

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusterSnapshots" ], "Resource":[ "*" ] } ] }
    • 若要還原快照,使用者所擔任的角色必須擁有允許 RestoreFromClusterSnapshot 動作的 IAM 政策,並擁有涵蓋嘗試建立的叢集與快照的資源元素。例如,若帳戶 012345678912 中的使用者已經與帳戶 my-snapshot20130829 分享快照 219876543210,以透過還原快照來建立叢集,則帳戶 219876543210 中的使用者所擔任的角色必須擁有的政策如下所示:

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:RestoreFromClusterSnapshot" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829", "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account" ] } ] }
    • 從 AWS 帳戶撤銷快照的存取權後,該帳戶中的任何使用者都無法存取快照。即使這些帳戶有 IAM 政策允許對之前共用的快照資源執行動作也一樣。

使用主控台共用叢集快照

在 主控台上,您可以授權其他使用者存取您擁有的手動快照,之後您可以在不再需要該快照時撤銷該存取權。

與其他帳戶共用快照
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/redshiftv2/:// 開啟 Amazon Redshift 主控台。

  2. 在導覽功能表上,選擇叢集快照,然後選擇要共用的手動快照。

  3. 針對 Actions (動作),選擇 Manual snapshot settings (手動快照設定) 以顯示手動快照的屬性。

  4. Manage access (管理存取) 區段輸入要共用的一或多個帳戶,然後選擇 Save (儲存)

共用加密快照時的安全考量

當您提供加密快照的存取權時,Redshift 會要求將用來建立快照的 AWS KMS 客戶受管金鑰共用給執行還原的一或多個帳戶。如果金鑰未共用,嘗試還原快照會導致存取遭拒錯誤。接收帳戶不需要任何額外權限即可還原共用快照。當您授權快照存取權並共用金鑰時,授權存取權的身分必須具有用來加密快照之金鑰的 kms:DescribeKey 許可。AWS KMS 權限中有此許可的更詳細描述。如需詳細資訊,請參閱 Amazon Redshift AI 參考文件中的 DescribeKey

客戶受管金鑰政策可透過程式設計方式或在 AWS Key Management Service 主控台上更新。

允許存取加密快照的 AWS KMS 金鑰

若要共用加密快照的 AWS KMS 客戶受管金鑰,請執行下列步驟來更新金鑰政策:

  1. 將 KMS 金鑰政策更新為您在 KMS 金鑰政策中,當作 Principal 共用之 AWS 帳戶的 Amazon Resource Name (ARN)。

  2. 允許 kms:Decrypt 動作。

在以下金鑰政策範例中,使用者 111122223333 是 KMS 金鑰的擁有者,使用者 444455556666 是與其共用該金鑰的帳戶。此金鑰政策透過將使用者的根 AWS 帳戶身分 ARN 作為政策的 ,以及允許 kms:Decrypt動作,授予 AWS 帳戶對範例 KMS 金鑰444455556666Principal的存取權。

{ "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:Decrypt" ], "Resource": "*" } ] }

將存取權授予客戶受管 KMS 金鑰後,還原加密快照的帳戶必須建立 AWS Identity and Access Management (IAM) 角色,如果尚未擁有使用者,則必須建立該角色或使用者。此外,該 AWS 帳戶也必須將 IAM 政策連接至該 IAM 角色或使用者,以允許他們使用您的 KMS 金鑰還原加密的資料庫快照。

如需授予 AWS KMS 金鑰存取權的詳細資訊,請參閱 開發人員指南中的允許其他帳戶中的使用者使用 KMS 金鑰。 AWS Key Management Service

如需金鑰政策的概觀,請參閱 Amazon Redshift 如何使用 AWS KMS