共享 Amazon EBS 快照 - Amazon Elastic Compute Cloud

共享 Amazon EBS 快照

您可以修改快照的許可,與其他 AWS 帳戶共用快照。您可以與所有其他 AWS 帳戶公開共用,或者與指定的 AWS 帳戶私下共用。您授權的使用者可使用您共用的快照,以建立他們自己的 EBS 磁碟區,同時原始快照仍然不受影響。

重要

當您共用快照時,即向其他人授予快照上所有資料的存取權。僅與您信任的人共用快照,共用所有快照資料。

共用快照之前

共用快照時有下列考量:

  • 快照受限於其建立的區域。若要與另一個區域共用快照,請將該快照複製到該區域,然後共用。如需詳細資訊,請參閱 複製 Amazon EBS 快照

  • 您無法共用透過預設 AWS 受管金鑰 加密的快照。您只能共用透過客戶受管金鑰加密的快照。如需詳細資訊,請參閱AWS Key Management Service 開發人員指南中的 建立金鑰

  • 您只能公開共用未加密的快照。

  • 當您共用加密快照時,您也必須共用加密該快照時所用的客戶受管金鑰。如需詳細資訊,請參閱 共用 KMS 金鑰

共享快照

您可以使用本節中描述的其中一種方法來共用快照。

Console
共用快照
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取要共用的快照,然後選取 Actions (動作)、Modify permissions (修改許可)。

  4. 指定快照的許可。目前設定指出快照目前的共用許可。

    • 若要公開與所有 AWS 帳戶共用快照,請選擇 Public (公有)。

    • 若要與特定 AWS 帳戶共用快照,請選擇 Private (私有)。然後,在 Sharing accounts (共用帳戶) 區段中,選擇 Add account (新增帳戶),並輸入帳戶的 12 位數帳戶 ID (無連字號) 以開始。

  5. 選擇 Save changes (儲存變更)

AWS CLI

快照的許可是使用快照的 createVolumePermission 屬性指定。若要將快照公開,請將群組設為 all。若要與特定 AWS 帳戶共享快照,請將使用者設定為 AWS 帳戶的 ID。

公開共用快照

請使用下列其中一個命令。

  • modify-snapshot-attribute (AWS CLI)

    --attribute,請指定 createVolumePermission。在 --operation-type,請指定 add。在 --group-names,請指定 all

    $ aws ec2 modify-snapshot-attribute --snapshot-id 1234567890abcdef0 --attribute createVolumePermission --operation-type add --group-names all
  • Edit-EC2SnapshotAttribute (AWS Tools for Windows PowerShell)

    -Attribute,請指定 CreateVolumePermission。在 -OperationType,請指定 Add。在 -GroupName,請指定 all

    PS C:\> Edit-EC2SnapshotAttribute -SnapshotId 1234567890abcdef0 -Attribute CreateVolumePermission -OperationType Add -GroupName all
私下共用快照

請使用下列其中一個命令。

  • modify-snapshot-attribute (AWS CLI)

    --attribute,請指定 createVolumePermission。在 --operation-type,請指定 add。對於 --user-ids,請指定要與之共用快照的 AWS 帳戶的 12 位數 ID。

    $ aws ec2 modify-snapshot-attribute --snapshot-id 1234567890abcdef0 --attribute createVolumePermission --operation-type add --user-ids 123456789012
  • Edit-EC2SnapshotAttribute (AWS Tools for Windows PowerShell)

    -Attribute,請指定 CreateVolumePermission。在 -OperationType,請指定 Add。對於 UserId,請指定要與之共用快照的 AWS 帳戶的 12 位數 ID。

    PS C:\> Edit-EC2SnapshotAttribute -SnapshotId 1234567890abcdef0 -Attribute CreateVolumePermission -OperationType Add -UserId 123456789012

共用 KMS 金鑰

當您共用加密快照時,您也必須共用加密該快照時所用的客戶受管金鑰。您可以在建立客戶受管金鑰時,為其套用跨帳戶許可,或之後再套用。

存取加密快照的共用客戶受管金鑰使用者必須獲得許可,才可對金鑰執行下列動作:

  • kms:DescribeKey

  • kms:CreateGrant

  • kms:GenerateDataKey

  • kms:ReEncrypt

  • kms:Decrypt

提示

若要遵循最低權限原則人,請勿允許 kms:CreateGrant 的完整存取。相反地,只有 AWS 服務代表使用者建立授與時,才可使用 kms:GrantIsForAWSResource 條件金鑰以允許使用者在 KMS 金鑰上建立授與。

如需控制客戶受管金鑰存取的詳細資訊,請參閱 AWS KMS 開發人員指南中的在 AWS Key Management Service 中使用金鑰政策

若要使用 AWS KMS 主控台共用客戶受管金鑰
  1. 開啟位於 AWS KMShttps://console.aws.amazon.com/kms 主控台。

  2. 若要變更 AWS 區域,請使用頁面右上角的區域選取器。

  3. 選擇導覽窗格中的 Customer managed keys (客戶受管金鑰)

  4. (Alias) 別名資料欄中,選擇用來加密快照的客戶管理金鑰別名 (文字連結)。重要詳細資料會在新頁面開啟。

  5. Key policy (金鑰政策) 區段中,您會看到 policy view (政策檢視)default view (預設檢視)。原則檢視會顯示重要的政策文件。預設檢視會顯示 Key administrators (金鑰管理員)、Key deletion (金鑰刪除)、Key Use (金鑰使用) 和 Other AWSaccounts (其他 AWS 帳戶) 的區段。如果已在主控台中建立政策,但尚未自訂政策,則會顯示預設檢視。如果無法使用預設檢視,則需要在政策檢視中手動編輯政策。如需詳細資訊,請參閱AWS Key Management Service 開發人員指南中的 檢視金鑰政策 (主控台)

    根據您可以存取的檢視,使用政策檢視或預設檢視,將一或多個 AWS 帳戶 ID 新增至政策,如下所示:

    • (政策檢視) 選擇 Edit (編輯)。將一或多個 AWS 帳戶 ID 新增至下列陳述式:"Allow use of the key""Allow attachment of persistent resources"。選擇 Save changes (儲存變更)。在下列範例中,AWS 帳戶 ID 444455556666 會新增至政策。

      { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KeyUser", "arn:aws:iam::444455556666:root" ]}, "Action": [ "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}} }
    • (預設檢視) 向下捲動至 Other AWS accounts (其他 AWS 帳戶)。選擇 Add other AWS accounts (新增其他 AWS 帳戶),然後在系統提示時輸入 AWS 帳戶 ID。若要新增另一個帳戶,請選擇 Add another AWS account (新增另一個 AWS 帳戶) 然後輸入 AWS 帳戶 ID。新增所有 AWS 帳戶之後,選擇 Save changes (儲存變更)。

檢視與您共用的快照

可以使用下列其中一種方法來檢視與您共用的快照。

Console
若要使用主控台檢視共用快照
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 篩選列出的快照。在螢幕左上角,選擇下列其中一個選項:

    • 私有快照 – 僅檢視私下與您共用的快照。

    • 公有快照 – 僅檢視公開與您共用的快照。

AWS CLI
使用命令列檢視快照許可

請使用下列其中一個命令:

檢視與您共用的快照

若要使用共用的未加密快照

依 ID 或描述來尋找共用快照。如需詳細資訊,請參閱 檢視與您共用的快照。您可以使用此快照,就像您在帳戶中擁有的任何其他快照一樣。例如,您可以從快照中建立磁碟區,或將其複製到不同區域。

若要使用共用的加密快照

依 ID 或描述來尋找共用快照。如需詳細資訊,請參閱 檢視與您共用的快照。在您的帳戶中建立共用快照的複本,並使用您擁有的 KMS 金鑰對複本加密。然後,可以使用該複本來建立磁碟區,或者將其複製到不同的區域。

決定使用您共用的快照

您可以使用 AWS CloudTrail 監控您與其他人共用的快照是否複製或用於建立磁碟區。以下事件記錄於 CloudTrail:

  • SharedSnapshotCopyInitiated – 共用的快照正在複製中。

  • SharedSnapshotVolumeCreated – 共用的快照用於建立磁碟區。

如需使用 CloudTrail 的詳細資訊,請參閱「使用 AWS CloudTrail 記錄 Amazon EC2 和 Amazon EBS API 呼叫」。