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)