IAM ポリシーを使用したデータ共有 API オペレーションへのアクセスの管理
データ共有 API 操作へのアクセスを制御するには、IAM アクションベースのポリシーを使用します。IAM ポリシーの管理方法については、IAM ユーザーガイド の IAM ポリシーの管理を参照してください。
データ共有 API オペレーションを使用するために必要な許可については、「Amazon Redshift 管理ガイド」の「データ共有 API オペレーションを使用するために必要な許可」を参照してください。
クロスアカウントデータ共有をより安全にするためには、API オペレーションの AuthorizeDataShare
および DeauthorizeDataShare
で条件付きキー ConsumerIdentifier
が使用できます。これを利用することで、どの AWS アカウント が 2 つの API オペレーションを呼び出すことができるのかを明示的に制御できます。
自身のアカウント以外のコンシューマーに対して、データ共有の承認を拒否したり承認を解除したりできます。これを行うには、IAM ポリシー内で AWS アカウント の数を指定します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "redshift:AuthorizeDataShare", "redshift:DeauthorizeDataShare" ], "Resource": "*", "Condition": { "StringNotEquals": { "redshift:ConsumerIdentifier": "555555555555" } } } ] }
DataShareArn testshare2
でプロデューサーを許可して、IAM ポリシーの AWS アカウント番号が 111122223333 のコンシューマーと明示的に共有することができます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "redshift:AuthorizeDataShare", "redshift:DeauthorizeDataShare" ], "Resource": "arn:aws:redshift:us-east-1:666666666666:datashare:af06285e-8a45-4ee9-b598-648c218c8ff1/testshare2", "Condition": { "StringEquals": { "redshift:ConsumerIdentifier": "111122223333" } } } ] }