IAMは、アクセス キーとパスワードを使用してS3バケットを保護する代わりに使用できます。IAMを使用するS3バケットへのAdvanced SQL Engineアクセスを許可するには、バケットへのアクセスを許可するロールに対して、S3バケット ポリシーを次のアクションで設定する必要があります。
READ_NOSの場合:
- S3:GetObject
- S3:ListBucket
- S3:GetBucketLocation
WRITE_NOSの場合:
- S3:PutObject
S3:HeadBucket、S3:HeadObject、S3:ListBucketなどの他のアクションも許可されます。
以下に、セキュリティ ポリシーの例を示します。各自のEC2ロール名とEC2インスタンス アカウントIDが必要ですが、それらはTeradataから提供されます。それらを得たら、インライン ポリシーを各自のAmazon S3バケットに追加し、Teradata EC2インスタンスへのアクセスを付与します。
例えば、「s3-cross-access-role」がロールの名前を示し、「142600571999」がTeradata EC2インスタンス アカウントIDを示し、「bucketname」がAmazon S3バケットの名前を示すとします。バケットに適用するポリシーの例は次のようになります。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3acl", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:: 142600571999:role/s3-cross-access-role" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" "s3:PutObject", ], "Resource": [ "arn:aws:s3:::bucketname/*", "arn:aws:s3:::bucketname" ] } ] }
関連情報
セキュリティ ポリシーの詳細については、オレンジ ブック、<Native Object Store: Teradata Vantage™ Advanced SQL Engine, TDN0009800>を参照してください。