Amazon DynamoDB でのアイデンティティベースポリシー (IAM ポリシー) の使用 - Amazon DynamoDB

Amazon DynamoDB でのアイデンティティベースポリシー (IAM ポリシー) の使用

この トピック では、Amazon DynamoDB での アイデンティティベースの AWS Identity and Access Management (IAM) ポリシーの使用についての説明と、例を示します。これらの例は、アカウント管理者が IAM アイデンティティ (ユーザー、グループ、およびロール) に許可ポリシーを添付し、それによって Amazon DynamoDB リソースに対するオペレーションを実行するための許可を付与する方法を示しています。

重要

初めに、DynamoDB リソースへのアクセスを管理するための基本概念と、使用可能なオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、「」を参照してください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 リージョンのテーブルで 3 つの DynamoDB アクション (dynamodb:DescribeTabledynamodb:Querydynamodb:Scan) を許可する 1 つのステートメントがあります。これは、account-id で指定される AWS アカウントで所有されています。Resource 値の Amazon リソースネーム (ARN) では、許可が適用されるテーブルを指定します。

Amazon DynamoDB コンソールの使用に必要な IAM 許可

ユーザーが DynamoDB コンソールを使用するには、AWS アカウントで DynamoDB リソースの使用を許可する最小限の許可セットが必要です。これらの DynamoDB 許可に加えて、コンソールでは次の許可が必要になります。

  • メトリクスとグラフを表示する Amazon CloudWatch 許可。

  • DynamoDB データをエクスポートおよびインポートする AWS Data Pipeline アクセス許可。

  • AWS Identity and Access Managementエクスポートおよびインポートに必要なロールにアクセスする アクセス許可。

  • CloudWatch アラームがトリガーされるたびに通知する Amazon Simple Notification Service 許可。

  • DynamoDB Streams レコードを処理するための AWS Lambda 許可。

これらの最小限必要なアクセス権限よりも制限された IAM ポリシーを作成している場合、その IAM ポリシーを使用するユーザーに対してコンソールは意図したとおりには機能しません。Amazon DynamoDB の AWS マネージド (事前定義) IAM ポリシー で説明されている通り、ユーザーが引き続き DynamoDB コンソールを使用できること、および AmazonDynamoDBReadOnlyAccess AWS マネージドポリシーがユーザーに添付されていることを確認してください。

AWS CLI または Amazon DynamoDB API のみを呼び出すユーザーには、最小限のコンソール許可を付与する必要はありません。

Amazon DynamoDB の AWS マネージド (事前定義) IAM ポリシー

AWS は、AWS によって作成され管理されるスタンドアロンの IAM ポリシーが提供する多くの一般的ユースケースに対応します。これらの AWS 管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、どの権限が必要なのかをユーザーが調査する必要をなくすことができます。詳細については、IAM ユーザーガイドの「AWS 管理ポリシー」を参照してください。

アカウントのユーザーに添付可能な以下の AWS マネージドポリシーは、DynamoDB 固有のもので、ユースケースシナリオ別にグループ化されます。

  • AmazonDynamoDBReadOnlyAccess – AWS マネジメントコンソールを 、AWS Management Console を介して DynamoDB リソース への読み込み専用アクセスを許可します。

  • AmazonDynamoDBFullAccess – AWS マネジメントコンソールを 、AWS Management Console を介して DynamoDB リソース へのフルアクセスを許可します。

IAM コンソールにサインインし、特定のポリシーを検索することで、これらの AWS マネージド許可ポリシーを確認できます。

重要

ベストプラクティスは、IAM ユーザー、ロール、またはそれらを必要とするグループに最小限の権限を付与するカスタム IAM ポリシーを作成することです。

お客様が管理するポリシーの例

このセクションでは、さまざまな DynamoDB アクションの許可を付与するポリシー例を示しています。これらのポリシーは、AWS SDK または AWS CLI を使用しているときに機能します。コンソールを使用している場合は、コンソールに固有の追加許可を付与する必要があります。 詳細については、「」を参照してくださいAmazon DynamoDB コンソールの使用に必要な IAM 許可

注記

以下のすべてのポリシー例では、AWS リージョンの 1 つを使用しており、架空のアカウント ID とテーブル名が含まれています。

例:

IAM ユーザーガイドには、追加の DynamoDB 例が 3 つ含まれています。