本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 Amazon DynamoDB 使用身分型政策
本主題涵蓋搭配 Amazon DynamoDB 使用以身分為基礎的 AWS Identity and Access Management (IAM) 政策,並提供範例。這些範例顯示帳戶管理員如何將許可政策連接至身分 IAM (使用者、群組和角色),進而授予許可,以在 Amazon DynamoDB 資源上執行操作。
本主題中的各節涵蓋下列內容:
以下是許可政策的範例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeQueryScanBooksTable", "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:us-west-2:
account-id
:table/Books" } ] }
上述政策有一個陳述式,可授予 us-west-2
AWS 區域中資料表上三個 DynamoDB 動作 (dynamodb:DescribeTable
、 dynamodb:Query
和 dynamodb:Scan
) 的許可,而該動作由 指定的 AWS 帳戶所擁有
。account-id
Resource
值中的 Amazon Resource Name (ARN) 指定許可套用的資料表。
IAM 使用 Amazon DynamoDB 主控台所需的許可
若要使用 DynamoDB 主控台,使用者必須擁有一組最低許可,允許使用者使用其 AWS 帳戶的 DynamoDB 資源。除了這些 DynamoDB 許可之外,主控台還需要以下許可:
-
Amazon 顯示指標和圖形的 CloudWatch 許可。
-
AWS Data Pipeline 匯出和匯入 DynamoDB 資料的許可。
-
AWS Identity and Access Management 存取匯出和匯入所需角色的許可。
-
Amazon Simple Notification Service 許可,可在觸發 CloudWatch 警示時通知您。
-
AWS Lambda 處理 DynamoDB Streams 記錄的許可。
如果您建立比最基本必要許可更嚴格的 IAM 政策,則對於具有該 IAM 政策的使用者而言,主控台就無法如預期運作。為了確保這些使用者仍然可以使用 DynamoDB 主控台,另請將AmazonDynamoDBReadOnlyAccess
AWS 受管政策連接至使用者,如 中所述AWS Amazon DynamoDB 的受管 (預先定義) IAM政策。
對於僅對 AWS CLI 或 Amazon DynamoDB 進行呼叫的使用者,您不需要允許最低主控台許可API。
注意
如果您參考VPC端點,則還需要使用 IAM 動作 (dynamodb:) 授權 DescribeEndpoints API請求IAM主體的呼叫 ()DescribeEndpoints。如需詳細資訊,請參閱 端點所需的政策。
AWS Amazon DynamoDB 的受管 (預先定義) IAM政策
AWS 提供由 建立和管理的獨立IAM政策,以解決一些常見的使用案例 AWS。這些 AWS 受管政策會授予常見使用案例的必要許可,讓您不必調查需要哪些許可。如需詳細資訊,請參閱IAM《 使用者指南》中的 AWS 受管政策。
下列 AWS 受管政策可連接至您帳戶中的使用者,其專屬於 DynamoDB,並依使用案例案例分組:
-
AmazonDynamoDBReadOnlyAccess – 透過 授予 DynamoDB 資源的唯讀存取權 AWS Management Console。
-
AmazonDynamoDBFullAccess – 透過 授予 DynamoDB 資源的完整存取權 AWS Management Console。
您可以登入 IAM主控台並在其中搜尋特定政策,以檢閱這些 AWS 受管許可政策。
重要
最佳實務是建立自訂IAM政策,將最低權限授予需要的使用者、角色或群組。
客戶受管政策範例
在本節中,您可以找到授予各種 DynamoDB 動作許可之政策範例。這些政策會在您使用 AWS SDKs 或 時運作 AWS CLI。在您使用主控台時,需要授予特定的其他許可給主控台。如需詳細資訊,請參閱IAM 使用 Amazon DynamoDB 主控台所需的許可。
注意
下列所有政策範例都使用其中一個 AWS 區域,並包含虛構的帳戶IDs和資料表名稱。
範例:
IAM 使用者指南包含三個額外的 DynamoDB 範例: