View a markdown version of this page

S3 ストレージレンズテーブルのアクセス許可 - Amazon Simple Storage Service

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 キーで暗号化する場合は、追加のアクセス許可が必要です。

  1. ユーザーまたは IAM ロールには以下のアクセス許可が必要です。IAM コンソール (https://console.aws.amazon.com/iam/) を使用してこれらのアクセス許可を付与できます。

    • 使用する AWS KMS キーの kms:DescribeKey

  2. 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 キーがストレージレンズ設定と同じリージョンにある

次のステップ