

# Amazon DynamoDB：允许基于 Amazon Cognito ID 对 DynamoDB 进行项目级别的访问
<a name="reference_policies_examples_dynamodb_items"></a>

此示例演示了如何创建基于身份的策略，以根据 Amazon Cognito 身份池用户 ID 授予对 `MyTable` DynamoDB 表的项目级访问权限。此策略授予有计划地通过 AWS API 或 AWS CLI 完成此操作的必要权限。要使用此策略，请将示例策略中的*斜体占位符文本*替换为您自己的信息。然后，按照[创建策略](access_policies_create.md)或[编辑策略](access_policies_manage-edit.md)中的说明操作。

要使用此策略，DynamoDB 表的结构必须将 Amazon Cognito 身份池用户 ID 作为分区键。有关更多信息，请参阅 *Amazon DynamoDB 开发人员指南*中的[创建表](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.CreateTable)。

要了解有关 DynamoDB 条件键的更多信息，请参阅 *Amazon DynamoDB 开发人员指南*中的[指定条件：使用条件键](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html#FGAC_DDB.ConditionKeys)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": ["arn:aws:dynamodb:*:*:table/MyTable"],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"]
                }
            }
        }
    ]
}
```

------