HAS_ASSUMEROLE_PRIVILEGE - Amazon Redshift

HAS_ASSUMEROLE_PRIVILEGE

指定されたユーザーが、指定されたコマンドの実行権限がある特定の IAM ロールを持っている場合、Boolean 型の true (t) を返します。指定されたコマンドを実行する権限が付与された、特定の IAM ロールがユーザーにない場合、この関数では false (f) が返されます。権限の詳細については、「GRANT」を参照してください。

構文

has_assumerole_privilege( [ user, ] iam_role_arn, cmd_type)

引数

user

IAM ロールに対する権限をチェックするユーザーの名前。デフォルトでは、現在のユーザーが検査されます。スーパーユーザーとユーザーはこの機能を使用できます。ただし、ユーザーは自分の権限しか表示できません。

iam_role_arn

コマンド権限が付与されている IAM ロール。

cmd_type

アクセスが許可されているコマンド。有効な値は以下のとおりです。

  • COPY

  • UNLOAD

  • EXTERNAL FUNCTION

  • モデルを作成する

戻り型

BOOLEAN

次のクエリは、ユーザー reg_user1 が COPY コマンドを実行するための Redshift-S3-Read ロールの権限を持っていることを確認します。

select has_assumerole_privilege('reg_user1', 'arn:aws:iam::123456789012:role/Redshift-S3-Read', 'copy');
has_assumerole_privilege ------------------------ true (1 row)