メニュー
Amazon Redshift
管理ガイド (API Version 2012年12月1日)

ステップ 3: GetClusterCredentials を呼び出すアクセス許可を持つ IAM ロールまたはユーザーを作成する

SQL クライアントには、自動的に GetClusterCredentials アクションを呼び出すための許可が必要です。その許可を付与するには、IAM ユーザーまたはロールを作成し、必要なアクセス許可を付与するポリシーをアタッチします。

GetClusterCredentials を呼び出すアクセス許可を持つ IAM ロールを作成するには

  1. IAM サービスを使用して、IAM ユーザーまたはロールを作成します。既存のユーザーまたはロールを使用することもできます。たとえば、ID プロバイダアクセス用の IAM ロールを作成したら、そのロールに必要な IAM ポリシーをアタッチできます。

  2. redshift:GetClusterCredentials アクションを呼び出すアクセス許可を持つアクセス許可ポリシーをアタッチします。指定するオプションパラメータにより、追加のアクションやリソースをポリシーで許可または制限することもできます。

    • SQL クライアントによるクラスター ID、リージョン、およびポートの取得を許可するには、redshift:DescribeClusters アクションを呼び出すアクセス許可を Redshift クラスターリソースに含めます。

    • AutoCreate オプションを使用する場合、redshift:CreateClusterUser を呼び出す権限を dbuser リソースに含めます。次の Amazon リソースネーム (ARN) は、Amazon Redshift dbuser を指定します。regionaccount-id、および cluster-name は、それぞれリージョン、アカウント、クラスターに置き換えます。dbuser-name には、クラスターデータベースへのログオンに使用するユーザー名を指定します。

      Copy
      arn:aws:redshift:region:account-id:dbuser:cluster-name/dbuser-name
    • オプションで、次の形式で Amazon Redshift dbname リソースを指定する ARN を追加します。regionaccount-id、および cluster-name は、それぞれリージョン、アカウント、クラスターに置き換えます。database-name には、ユーザーがログオンするデータベースの名前を指定します。

      Copy
      arn:aws:redshift:region:account-id:dbname:cluster-name/database-name
    • DbGroups オプションを使用する場合、次の形式で、redshift:JoinGroup アクションを呼び出すアクセス許可を Amazon Redshift dbgroup リソースに含めます。regionaccount-id、および cluster-name は、それぞれリージョン、アカウント、クラスターに置き換えます。[dbgroup-name] には、ユーザーがログオン時に参加するユーザーグループの名前を指定します。

      Copy
      arn:aws:redshift:region:account-id:dbgroup:cluster-name/dbgroup-name

詳細な説明と例については、「GetClusterCredentials のリソースポリシー」を参照してください。

次の例では、IAM ロールで GetClusterCredentials アクションの呼び出しを許可するポリシーを示します。Amazon Redshift dbuser リソースを指定すると、examplecluster というクラスターで、データベースユーザー名 temp_creds_user にロールのアクセスが付与されます。

Copy
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user" } }

ワイルドカード (*) を使用して、クラスター名、ユーザー名、およびデータベースグループ名のすべてまたは一部を置き換えることができます。次の例では、指定したアカウントのすべてのクラスターで、temp_ で始まるすべてのユーザー名が許可されます。

Copy
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*" } }

次の例では、IAM ロールが GetClusterCredentials アクションを呼び出すことを許可するポリシーを示します。オプションで新しいユーザーを自動的に作成し、ログオン時にユーザーが参加するグループを指定することができます。"Resource": "*" 句により、クラスター、データベースユーザー、またはユーザーグループを含めて、任意のリソースへのロールアクセスが許可されます。

Copy
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": "*" } }

詳細については、「Amazon Redshift ARN 構文」を参照してください。