S3 ストレージレンズテーブルのアクセス許可
S3 Tables にエクスポートされた S3 ストレージレンズデータを使用するには、適切な AWS Identity and Access Management (IAM) アクセス許可が必要です。このトピックでは、メトリクスのエクスポートと暗号化の管理に必要なアクセス許可について説明します。
S3 Tables へのメトリクスのエクスポートのアクセス許可
S3 ストレージレンズテーブルとテーブルバケットを作成して操作するには、特定の s3tables アクセス許可が必要です。S3 ストレージレンズを S3 Tables に設定するには、少なくとも次の s3tables アクセス許可が必要です。
-
s3tables:CreateTableBucket– このアクセス許可により、AWS マネージドテーブルバケットを作成できます。アカウント内のすべての S3 ストレージレンズメトリクスは、aws-s3という名前の単一の AWS マネージドテーブルバケットに保存されます。 -
s3tables:PutTableBucketPolicy– S3 ストレージレンズはこのアクセス許可を使用して、ログを配信できるようにsystemtables.s3.amazonaws.comがバケットにアクセスできるようにするテーブルバケットポリシーを設定します。
重要
サービスプリンシパル systemtables.s3.amazonaws.com のアクセス許可を削除すると、S3 ストレージレンズは設定に基づいて S3 テーブルをデータで更新できなくなります。テーブルバケットの設定時に追加される既定ポリシーを編集するのではなく、既に提供されているポリシーに加えて、他のアクセスコントロールポリシーを追加することをお勧めします。
注記
各ストレージレンズ設定ごとに、メトリクスエクスポートのタイプごとに個別の S3 テーブルが作成されます。リージョンに複数のストレージレンズ設定がある場合は、追加の設定用に個別のテーブルが作成されます。例えば、S3 テーブルバケットで使用できるテーブルには 3 つのタイプがあります。
AWS KMS 暗号化テーブルのアクセス許可
S3 ストレージレンズメトリクスを含む S3 テーブル内のすべてのデータは、デフォルトで SSE-S3 暗号化で暗号化されます。ストレージレンズメトリクスレポートを AWS KMS キー (SSE-KMS) で暗号化することを選択できます。S3 ストレージレンズメトリクスレポートを KMS キーで暗号化する場合は、追加のアクセス許可が必要です。
-
ユーザーまたは IAM ロールには以下のアクセス許可が必要です。IAM コンソール (https://console.aws.amazon.com/iam/
) を使用してこれらのアクセス許可を付与できます。 -
使用する AWS KMS キーの
kms:DescribeKey
-
-
AWS KMS キーのキーポリシーでは、次のアクセス許可が必要です。AWS KMS コンソール (https://console.aws.amazon.com/kms
) を使用してこれらのアクセス許可を付与できます。このポリシーを使用するには、 をユーザー自身の情報に置き換えます。user input placeholders{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSystemTablesKeyUsage", "Effect": "Allow", "Principal": { "Service": "systemtables.s3.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>/*" } } } ] }
S3 ストレージレンズのサービスにリンクされたロール
S3 ストレージレンズは、サービスにリンクされたロールを使用して S3 Tables にメトリクスを書き込みます。このロールは、アカウントで S3 Tables のエクスポートを初めて有効にした際に自動的に作成されます。サービスにリンクされたロールには、以下のアクセス許可が含まれます。
-
s3tables:CreateTable-aws-s3テーブルバケットにテーブルを作成する -
s3tables:PutTableData- メトリクスデータをテーブルに書き込む -
s3tables:GetTable- テーブルメタデータを取得する
サービスにリンクされたこのロールを手動で作成または管理する必要はありません。サービスリンクロールの詳細については、「IAM ユーザーガイド」の「サービスリンクロールの使用」を参照してください。
アクセス許可のベストプラクティス
S3 ストレージレンズテーブルのアクセス許可を設定するときは、次のベストプラクティスに従ってください。
-
最小特権を使用する – 特定のタスクに必要なアクセス許可のみを付与します。例えば、ユーザーがデータのみをクエリする必要がある場合は、ストレージレンズ設定を変更するアクセス許可を付与しないでください。
-
IAM ロールを使用する - S3 ストレージレンズテーブルにアクセスするアプリケーションやサービスには、長期的なアクセスキーの代わりに IAM ロールを使用します。
-
AWS CloudTrail の有効化 - CloudTrail ログ記録を有効にして、S3 ストレージレンズテーブルへのアクセスをモニタリングし、アクセス許可の変更を追跡します。
-
リソースベースのポリシーを使用する - 可能であれば、リソースベースのポリシーを使用して、特定のテーブルまたは名前空間へのアクセスを制御します。
-
アクセス許可の定期的なレビュー - IAM ポリシーと Lake Formation のアクセス許可を定期的にレビューおよび監査して、それらが最小特権の原則に従っていることを確認します。
アクセス許可のトラブルシューティング
S3 Tables のエクスポートを有効にするとアクセスが拒否されました
問題: S3 Tables のエクスポートを有効にしようとすると、「アクセス拒否」エラーが表示されます。
解決策: IAM ユーザーまたはロールに s3:PutStorageLensConfiguration アクセス許可と必要な S3 Tables アクセス許可があることを確認します。
テーブルのクエリ時にアクセスが拒否されました
問題: Amazon Athena で S3 ストレージレンズテーブルをクエリすると、「アクセス拒否」エラーが発生します。
解決策: 以下を確認します。
-
aws-s3テーブルバケットで分析統合が有効になっている -
Lake Formation のアクセス許可が正しく設定されている
-
IAM ユーザーまたはロールに、必要な Amazon Athena アクセス許可が付与されている
KMS 暗号化エラー
問題: 暗号化されたテーブルにアクセスすると、KMS 関連のエラーが発生します。
解決策: 以下を確認します。
-
IAM ポリシーには、必要な KMS アクセス許可が含まれている
-
KMS キーポリシーは、S3 ストレージレンズサービスプリンシパルにアクセス許可を付与している
-
KMS キーがストレージレンズ設定と同じリージョンにある
次のステップ
-
Amazon S3 ストレージレンズアクセス許可の設定 について説明します
-
分析ツールを使用した S3 ストレージレンズデータのクエリ について説明します
-
S3 ストレージレンズテーブルで AI アシスタントを使用する について説明します