

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

# 與其他 AWS 帳戶共用 Amazon EBS 快照
<a name="ebs-modifying-snapshot-permissions"></a>

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

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

若要防止公開共用快照，您可以啟用 [封鎖 Amazon EBS 快照的公開存取](block-public-access-snapshots.md)。

**Topics**
+ [共用快照之前](#share-snapshot-considerations)
+ [共享快照](#share-unencrypted-snapshot)
+ [共用 KMS 金鑰](share-kms-key.md)
+ [使用共用快照](view-shared-snapshot.md)
+ [決定使用您共用的快照](#shared-snapshot-cloudtrail-logging)

## 共用快照之前
<a name="share-snapshot-considerations"></a>

共用快照時有下列考量：
+ 如果針對特定區域啟用快照的封鎖公開存取功能，只要嘗試公開共用快照就會遭到封鎖。快照仍可供私下分享。
+ 快照受限於其建立的區域。若要與另一個區域共用快照，請將該快照複製到該區域，然後共用。如需詳細資訊，請參閱[複製 Amazon EBS 快照](ebs-copy-snapshot.md)。
+ 您無法共用透過預設 AWS 受管金鑰加密的快照。您只能共用透過客戶受管金鑰加密的快照。如需詳細資訊，請參閱*AWS Key Management Service 開發人員指南*中的 [建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
+ 您只能公開共用未加密的快照。
+ 當您共用加密快照時，您也必須共用加密該快照時所用的客戶受管金鑰。如需詳細資訊，請參閱 [共用用於加密共用 Amazon EBS 快照的 KMS 金鑰](share-kms-key.md)。

## 共享快照
<a name="share-unencrypted-snapshot"></a>

您可以公開或與特定 AWS 帳戶共用快照。

------
#### [ Console ]

**共用快照**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Snapshots (快照)**。

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

1. 指定快照的許可。*目前設定*指出快照目前的共用許可。
   + 若要公開與所有 AWS 帳戶共用快照，請選擇**公開**。
   + 若要私下與特定 AWS 帳戶共用快照，請選擇**私有**。然後，在 **Sharing accounts** (共用帳戶) 區段中，選擇 **Add account** (新增帳戶)，並輸入帳戶的 12 位數帳戶 ID (無連字號) 以開始。

1. 選擇**儲存變更**。

------
#### [ AWS CLI ]

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

**公開共用快照**  
使用 [modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 命令。

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

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --group-names all
```

**私下共用快照**  
使用 [modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 命令。

在 `--attribute`，請指定 `createVolumePermission`。在 `--operation-type`，請指定 `add`。針對 `--user-ids`，指定要與其共用快照之 AWS 帳戶的 12 位數 IDs。

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --user-ids 123456789012 111122223333
```

------
#### [ PowerShell ]

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

**公開共用快照**  
使用 [Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet。

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

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -GroupName all
```

**私下共用快照**  
使用 [Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet。

在 `-Attribute`，請指定 `CreateVolumePermission`。在 `-OperationType`，請指定 `Add`。針對 `UserId`，指定要與其共用快照之 AWS 帳戶的 12 位數 IDs。

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -UserId 123456789012 111122223333
```

------

# 共用用於加密共用 Amazon EBS 快照的 KMS 金鑰
<a name="share-kms-key"></a>

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

存取加密快照的共用客戶受管金鑰使用者必須獲得許可，才可對金鑰執行下列動作：
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:GenerateDataKey`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncrypt`
+ `kms:Decrypt`

**提示**  
若要遵循最低權限原則人，請勿允許 `kms:CreateGrant` 的完整存取。反之，使用 `kms:GrantIsForAWSResource`條件金鑰來允許使用者在 KMS 金鑰上建立授予，前提是授予是由 AWS 服務代使用者建立。

如需控制客戶受管金鑰存取的詳細資訊，請參閱 [AWS KMS開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)中的*在AWS Key Management Service 中使用金鑰政策*。

**使用 AWS KMS 主控台共用客戶受管金鑰**

1. 在 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 開啟 AWS KMS 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

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

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

1. 在 **Key policy (金鑰政策)** 區段中，您會看到 *policy view (政策檢視)* 或 *default view (預設檢視)*。原則檢視會顯示重要的政策文件。預設檢視會顯示 **Key administrators** (金鑰管理員)、**Key deletion** (金鑰刪除)、**Key Use** (金鑰使用) 和 **Other AWS accounts** (其他 AWS 帳戶) 的區段。如果已在主控台中建立政策，但尚未自訂政策，則會顯示預設檢視。如果無法使用預設檢視，則需要在政策檢視中手動編輯政策。如需詳細資訊，請參閱*AWS Key Management Service 開發人員指南*中的 [檢視金鑰政策 (主控台)](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html#key-policy-viewing-console)。

   根據您可以存取的檢視，使用政策檢視或預設檢視，將一或多個 AWS 帳戶 IDs 新增至政策，如下所示：
   + (政策檢視) 選擇 **Edit (編輯)**。將一或多個 AWS 帳戶 IDs 新增至下列陳述式： `"Allow use of the key"`和 `"Allow attachment of persistent resources"`。選擇**儲存變更**。在下列範例中， 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}}
     }
     ```
   + （預設檢視） 向下捲動至**其他 AWS 帳戶**。選擇**新增其他 AWS 帳戶**，然後根據提示輸入 AWS 帳戶 ID。若要新增另一個帳戶，請選擇**新增另一個 AWS 帳戶**，然後輸入 AWS 帳戶 ID。新增所有 AWS 帳戶之後，選擇 **Save changes** (儲存變更)。

# 使用與您共用的 Amazon EBS 快照
<a name="view-shared-snapshot"></a>

**若要使用共用的未加密快照**  
依 ID 或描述來尋找共用快照。您可以使用此快照，就像您在帳戶中擁有的任何其他快照一樣。例如，您可以從快照中建立磁碟區，或將其複製到不同區域。

**若要使用共用的加密快照**  
依 ID 或描述來尋找共用快照。在您的帳戶中建立共用快照的複本，並使用您擁有的 KMS 金鑰對複本加密。然後，可以使用該複本來建立磁碟區，或者將其複製到不同的區域。

------
#### [ Console ]

**檢視快照許可**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Snapshots (快照)**。

1. 選取快照。

1. 如果篩選條件是**我所擁有**，則快照是此帳戶所擁有。如果篩選條件是**私有快照**，則快照會由此帳戶擁有或專門與此帳戶共用。選取快照並在**詳細資訊**索引標籤上，檢查**擁有者**是否指定此帳戶或不同的帳戶。

------
#### [ AWS CLI ]

**檢視快照許可**  
使用 [describe-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshot-attribute.html) 命令來取得指定快照的快照許可。

```
aws ec2 describe-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission
```

以下為範例輸出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "CreateVolumePermissions": [
        {
            "UserId": "111122223333"
        }
    ]
}
```

------
#### [ PowerShell ]

**檢視快照許可**  
使用 [Get-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SnapshotAttribute.html) cmdlet。

```
(Get-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute createVolumePermission).CreateVolumePermissions
```

以下為範例輸出。

```
Group UserId
----- ------
      111122223333
```

------

## 決定使用您共用的快照
<a name="shared-snapshot-cloudtrail-logging"></a>

您可以使用 AWS CloudTrail 來監控您與他人共用的快照是否已複製或用於建立磁碟區。當您在共用的快照上採取動作時，下列事件會記錄在 CloudTrail 中：
+ **SharedSnapshotCopyInitiated** – 共用的快照正在複製中。
+ **SharedSnapshotVolumeCreated** – 共用的快照用於建立磁碟區。

如需使用 CloudTrail 的詳細資訊，請參閱[使用 記錄 Amazon EC2 和 Amazon EBS API 呼叫 AWS CloudTrail](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/monitor-with-cloudtrail.html)。