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

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 リージョンのテーブルで 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 コンソールを使用できること、および AmazonDynamoDBReadOnlyAccessAWS マネージドポリシーがユーザーにアタッチされていることを確認してください。

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

注記

VPC エンドポイントを参照する場合、IAM アクション (dynamodb:DescribeEndpoints) を使用して、リクエストしている IAM プリンシパルの DescribeEndpoints API コールを認可する必要もあります。詳細については、「エンドポイントに必要なポリシー」を参照してください。

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

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

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

  • AmazonDynamoDBReadOnlyAccess – AWS Management Console を介して DynamoDB リソース への読み込み専用アクセスを許可します。

  • AmazonDynamoDBFullAccess – AWS Management Console を介して DynamoDB リソースへのフルアクセスを許可します。

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

重要

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

カスタマーマネージドポリシーの例

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

注記

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

例:

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