

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

# 使用 IAM 控制對 EBS 直接 APIs存取
<a name="ebsapi-permissions"></a>

使用者必須具有下列政策才能使用 EBS 直接 API。如需詳細資訊，請參閱[變更使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)。

如需用於 IAM 許可政策的 EBS 直接 API 資源、動作和條件索引鍵詳細資訊，請參閱《*服務授權參考*》中的 [Amazon Elastic Block Store 的動作、資源與條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html)。

**重要**  
將下列原則指派給使用者時，請務必小心。指派這些政策時，您可能將存取權授與在透過 Amazon EC2 API 存取相同資源遭到拒絕的使用者，例如 CopySnapshot 或 CreateVolume 動作。

## 讀取快照的許可
<a name="ebsapi-read-permissions"></a>

下列政策允許在特定 AWS 區域的所有快照上使用*讀取* EBS 直接 APIs。在原則中，取代 *<Region>* 為快照的區域。

下列政策允許在具有特定金鑰值標籤的快照上使用 *read* EBS 直接 API。在政策中，以標籤的索引鍵值取代 *<Key>*，並以標籤的數值取代 *<Value>*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ebs:GetSnapshotBlock"
            ],
            "Resource": "arn:aws:ec2:*::snapshot/*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "aws:ResourceTag/<Key>": "<Value>"
                }
            }
        }
    ]
}
```

------

下列政策允許所有 *read* EBS 直接 API 只能在特定時間範圍內用於帳戶中的所有快照。此政策會根據 `aws:CurrentTime` 全域條件金鑰授權使用 EBS 直接 API。在政策中，請務必將顯示的日期和時間範圍取代為政策的日期和時間範圍。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ebs:GetSnapshotBlock"
            ],
            "Resource": "arn:aws:ec2:*::snapshot/*",
            "Condition": {
                "DateGreaterThan": {
                    "aws:CurrentTime": "2018-05-29T00:00:00Z"
                },
                "DateLessThan": {
                    "aws:CurrentTime": "2020-05-29T23:59:59Z"
                }
            }
        }
    ]
}
```

------

如需詳細資訊，請參閱 *IAM 使用者指南*中的[變更使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)。

## 寫入快照的許可
<a name="ebsapi-write-permissions"></a>

下列政策允許在特定 AWS 區域的所有快照上使用*寫入* EBS 直接 APIs。在原則中，取代 *<Region>* 為快照的區域。

下列政策允許在具有特定金鑰值標籤的快照上使用 *write* EBS 直接 API。在政策中，以標籤的索引鍵值取代 *<Key>*，並以標籤的數值取代 *<Value>*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ebs:StartSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot"
            ],
            "Resource": "arn:aws:ec2:*::snapshot/*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "aws:ResourceTag/<Key>": "<Value>"
                }
            }
        }
    ]
}
```

------

下列政策允許使用所有的 EBS 直接 API。它也允許只有在指定父系快照 ID 時才可執行 `StartSnapshot` 動作。因此，此政策會封鎖啟動新快照而不使用父系快照的能力。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ebs:*", 
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ebs:ParentSnapshot": "arn:aws:ec2:*::snapshot/*"
                }
            }
        }
    ]
}
```

------

下列政策允許使用所有的 EBS 直接 API。它也允許僅為新的快照建立 `user` 標籤金鑰。此政策也可確保使用者擁有建立標籤的存取權。`StartSnapshot` 動作是唯一可以指定標籤的動作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ebs:*", 
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "user"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

下列政策允許所有 *write* EBS 直接 API 僅在特定時間範圍內用於帳戶中的所有快照。此政策會根據 `aws:CurrentTime` 全域條件金鑰授權使用 EBS 直接 API。在政策中，請務必將顯示的日期和時間範圍取代為政策的日期和時間範圍。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ebs:StartSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot"
            ],
            "Resource": "arn:aws:ec2:*::snapshot/*",
            "Condition": {
                "DateGreaterThan": {
                    "aws:CurrentTime": "2018-05-29T00:00:00Z"
                },
                "DateLessThan": {
                    "aws:CurrentTime": "2020-05-29T23:59:59Z"
                }
            }
        }
    ]
}
```

------

如需詳細資訊，請參閱 *IAM 使用者指南*中的[變更使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)。

## 使用 的許可 AWS KMS keys
<a name="ebsapi-kms-permissions"></a>

下列政策授與許可權，以使用特定 KMS 金鑰 來解密加密快照。其還授與使用 EBS 加密的預設 KMS 金鑰加密新快照的許可。於該政策中，將 *<Region>* 取代為 KMS 金鑰的區域、*<AccountId>* 取代為 KMS 金鑰 的 AWS 帳戶 ID，以及 *<KeyId>* 取代 KMS 金鑰 ID。

**注意**  
根據預設，帳戶中的所有主體都可以存取 Amazon EBS 加密的預設 AWS 受管 KMS 金鑰，並且可以將其用於 EBS 加密和解密操作。若您使用客戶受管金鑰，則必須為客戶受管金鑰建立新金鑰政策或修改現有金鑰政策，以授予主體對客戶受管金鑰的存取權限。如需詳細資訊，請參閱*《AWS Key Management Service 開發人員指南》*中的[在 AWS KMS中使用金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

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

如需詳細資訊，請參閱 *IAM 使用者指南*中的[變更使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)。