ADO.NET Provider for Amazon DynamoDB

Build 24.0.9062

IAM 最小権限

カスタムIAM ポリシーを作成するよりも、定義済みのロールをサービスに使用することを推奨します。Amazon DynamoDB の事前定義されたロールは次のとおりです。

  • AmazonDynamoDBReadOnlyAccess- AWS Management Console からDynamoDB リソースへの読み取り専用アクセスを許可します。
  • AmazonDynamoDBFullAccess- AWS Management Console からDynamoDB リソースへのフルアクセスを許可します。
カスタムポリシーを作成する場合は、次の表に記載されているロールを使用してください。Amazon DynamoDB ドライバーが必要とする特定のポリシーは、今後のリリースで変更される可能性があることに注意してください。Amazon DynamoDB は次の権限を最小限必要とします。

IAM ロール説明
dynamodb:ListTablesDynamoDB テーブルのリストを取得するために必要です。メタデータの取得時に使用され、テーブルのリストを動的に決定します。このアクションはリソースレベルのアクセス許可をサポートしていないため、All resources を選択する必要があることに注意してください("Resource" の * はそのためです)。
言い換えると、dynamodb:ListTables アクションは* Resource を必要とし、他のアクションはすべてのテーブルarn:aws:dynamodb:us-east-1:987654321098:table/* または特定のテーブルのリストに対してアクセス許可を与えることができます。
          "Resource": [
              "arn:aws:dynamodb:us-east-1:987654321098:table/Customers",
              "arn:aws:dynamodb:us-east-1:987654321098:table/Orders"
          ]
dynamodb:DescribeTable選択したテーブルのメタデータを取得するために必要です。テーブルのメタデータの取得時に使用され、カラムのリストを動的に決定します。このアクションはリソースレベルのアクセス許可をサポートしているため、メタデータを取得したいテーブルを指定できます。たとえば、リージョンがNorthern Virginia でus-east-1、アカウントが987654321098 のCustomers およびOrders のテーブルの場合:
      {
          "Effect": "Allow",
          "Action": [
              "dynamodb:DescribeTable"
          ],
          "Resource": [
              "arn:aws:dynamodb:us-east-1:987654321098:table/Customers",
              "arn:aws:dynamodb:us-east-1:987654321098:table/Orders"
          ]
      }

接続プロパティAWSRegion で指定したリージョンのすべてのテーブルにアクセス許可を与えるには、テーブル名の代わりに * を使用します:
"Resource": "arn:aws:dynamodb:us-east-1:987654321098:table/*"
dynamodb:Scanテーブルのすべての項目にアクセスして1つ以上の項目を取得するために必要です。たとえば、SELECT * FROM [Customers] のように、ほとんどのSELECT クエリに使用されます。このアクションはリソースレベルのアクセス許可をサポートしているため、dynamodb:DescribeTable と同様に、データを取得したいテーブルを指定できます。
dynamodb:PartiQLSelectSELECT クエリを使用して主キーカラムでフィルタリングする際に、テーブルから特定の項目を取得するために必要です。たとえば、SELECT * FROM [Customers] WHERE id=1234 です。このアクションはリソースレベルのアクセス許可をサポートしているため、dynamodb:DescribeTable と同様に、データを取得したいテーブルを指定できます。
dynamodb:PartiQLInsertテーブルにデータを挿入するために必要です。このアクションはリソースレベルのアクセス許可をサポートしているため、dynamodb:DescribeTable と同様に、データを挿入したいテーブルを指定できます。
dynamodb:PartiQLUpdateテーブルのデータを変更するために必要です。このアクションはリソースレベルのアクセス許可をサポートしているため、dynamodb:DescribeTable と同様に、データを変更したいテーブルを指定できます。
dynamodb:PartiQLDeleteテーブルからデータを削除するために必要です。このアクションはリソースレベルのアクセス許可をサポートしているため、dynamodb:DescribeTable と同様に、データを削除したいテーブルを指定できます。
dynamodb:CreateTableテーブルの作成に必要です。このアクションはリソースレベルのアクセス許可をサポートしているため、作成できるテーブル名を指定できます。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062