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>を参照してください。