

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

# 搭配 Amazon DynamoDB 使用身分型政策
<a name="using-identity-based-policies"></a>

本主題涵蓋搭配 Amazon DynamoDB 使用身分型 AWS Identity and Access Management (IAM) 政策，並提供範例。這些範例會示範帳戶管理員如何將許可政策連接至 IAM 身分 (使用者、群組和角色)，並藉此授與許可，以取得在 Amazon DynamoDB 資源上執行操作的許可。

本主題中的各節涵蓋下列內容：
+ [使用 Amazon DynamoDB 主控台所需的 IAM 許可](#console-permissions)
+ [AWS Amazon DynamoDB 的受管 （預先定義） IAM 政策](#access-policy-examples-aws-managed)
+ [客戶管理政策範例](#access-policy-examples-for-sdk-cli)



以下是許可政策的範例。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeQueryScanBooksTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:Query",
                "dynamodb:Scan"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:{{111122223333}}:table/Books"
        }
    ]
}
```

------

 上述政策有一個陳述式，可授予 `us-west-2` AWS 區域中資料表上三個 DynamoDB 動作 (`dynamodb:DescribeTable`、 `dynamodb:Query`和 `dynamodb:Scan`) 的許可，該動作由 指定的 AWS 帳戶所擁有`{{account-id}}`。`Resource` 值中的 *Amazon Resource Name (ARN)* 會指定許可適用的資料表。

## 使用 Amazon DynamoDB 主控台所需的 IAM 許可
<a name="console-permissions"></a>

若要使用 DynamoDB 主控台，使用者必須擁有一組最低許可，允許使用者使用其 AWS 帳戶的 DynamoDB 資源。除了這些 DynamoDB 許可之外，主控台還需要以下許可：
+ 顯示指標和圖形的 Amazon CloudWatch 許可。
+ AWS Data Pipeline 匯出和匯入 DynamoDB 資料的許可。
+  AWS Identity and Access Management 存取匯出和匯入所需角色的許可。
+ 只要觸發 CloudWatch 警示就通知您的 Amazon Simple Notification Service 許可。
+ AWS Lambda 處理 DynamoDB Streams 記錄的許可。

如果您建立比最基本必要許可更嚴格的 IAM 政策，則對於採取該 IAM 政策的使用者而言，主控台就無法如預期運作。為了確保這些使用者仍然可以使用 DynamoDB 主控台，也請將 `AmazonDynamoDBReadOnlyAccess` AWS 受管政策連接至使用者，如中所述[AWS Amazon DynamoDB 的受管 （預先定義） IAM 政策](#access-policy-examples-aws-managed)。

對於僅呼叫 AWS CLI 或 Amazon DynamoDB API 的使用者，您不需要允許最低主控台許可。

**注意**  
 若您參考 VPC 端點，您也需使用 IAM 動作 (dynamodb:DescribeEndpoints)，對請求的 IAM 主體授權 DescribeEndpoints API 呼叫。如需更多資訊，請參閱[端點所需的政策](inter-network-traffic-privacy.md#inter-network-traffic-DescribeEndpoints)。

## AWS Amazon DynamoDB 的受管 （預先定義） IAM 政策
<a name="access-policy-examples-aws-managed"></a>

AWS 提供由 建立和管理的獨立 IAM 政策，以解決一些常見的使用案例 AWS。這些 AWS 受管政策會授予常見使用案例的必要許可，讓您不必調查需要哪些許可。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

下列 AWS 受管政策可連接至您帳戶中的使用者，其專屬於 DynamoDB，並依使用案例案例分組：
+ **AmazonDynamoDBReadOnlyAccess** – 透過 授予 DynamoDB 資源的唯讀存取權 AWS 管理主控台。
+ **AmazonDynamoDBFullAccess** – 透過 授予 DynamoDB 資源的完整存取權 AWS 管理主控台。

您可以登入 IAM 主控台並在其中搜尋特定政策，以檢閱這些 AWS 受管許可政策。

**重要**  
最佳實務是建立自訂 IAM 政策，授予[最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)給需要的使用者、角色或群組。

## 客戶管理政策範例
<a name="access-policy-examples-for-sdk-cli"></a>

在本節中，您可以找到授予各種 DynamoDB 動作許可之政策範例。當您使用 AWS SDKs或 時，這些政策即可運作 AWS CLI。在您使用主控台時，需要授予特定的其他許可給主控台。如需詳細資訊，請參閱[使用 Amazon DynamoDB 主控台所需的 IAM 許可](#console-permissions)。

**注意**  
下列所有政策範例都使用其中一個 AWS 區域，並包含虛構的帳戶 IDs 和資料表名稱。

範例：
+ [將許可授與資料表上所有 DynamoDB 動作的 IAM 政策](grant-permissions-to-any-action-on-table.md)
+ [用來授予 DynamoDB 資料表項目唯讀許可的 IAM 政策](read-only-permissions-on-table-items.md)
+ [授予特定 DynamoDB 資料表及其索引存取權限的 IAM 政策](iam-policy-specific-table-indexes.md)
+ [讀取、寫入、更新和刪除 DynamoDB 資料表存取權限的 IAM 政策](iam-policy-example-data-crud.md)
+ [在相同 AWS 帳戶中分隔 DynamoDB 環境的 IAM 政策](iam-policy-separate-environments.md)
+ [避免購買 DynamoDB 預留容量的 IAM 政策](iam-prevent-purchase-reserved-capacity.md)
+ [僅授予 DynamoDB 串流讀取存取權限的 IAM 政策 (不適用於資料表)](iam-policy-read-stream-only.md)
+ [允許 AWS Lambda 函數存取 DynamoDB 串流記錄的 IAM 政策](iam-policy-example-lamda-process-dynamodb-streams.md)
+ [允許對 DynamoDB Accelerator (DAX) 叢集進行讀取和寫入的 IAM 政策](iam-policy-example-read-write-dax-access.md)

 《IAM 使用者指南》包含[三個其他 DynamoDB 範例](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html)：
+ [Amazon DynamoDB：允許存取特定資料表](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_specific-table.html)
+ [Amazon DynamoDB：允許存取特定資料欄](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_columns.html)
+ [Amazon DynamoDB：允許根據 Amazon Cognito ID 對 DynamoDB 進行資料列層級存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_rows.html)