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:DescribeTable
、dynamodb:Query
、dynamodb:Scan
) を許可する 1 つのステートメントがあります。これは、
で指定される AWS アカウントで所有されています。account-id
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 のみを呼び出すユーザーには、最小限のコンソール許可を付与する必要はありません。
注記
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 つ含まれています。