

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# HAS\$1ASSUMEROLE\$1PRIVILEGE
<a name="r_HAS_ASSUMEROLE_PRIVILEGE"></a>

如果指定用户具有指定 IAM 角色并具有运行指定命令的权限，则返回 Boolean `true`（`t`）。如果用户不具有指定 IAM 角色但具有运行指定命令的权限，函数将返回 `false`（`f`）。有关权限的更多信息，请参阅 [GRANT](r_GRANT.md)。

## 语法
<a name="r_HAS_ASSUMEROLE_PRIVILEGE-synopsis"></a>

```
has_assumerole_privilege( [ user, ] iam_role_arn, cmd_type)
```

## 参数
<a name="r_HAS_ASSUMEROLE_PRIVILEGE-arguments"></a>

 *用户*   
要接受 IAM 角色权限检查的用户名称。默认为检查当前用户。超级用户和用户可以使用此函数。但是，用户只能查看自己的权限。

 *iam\$1role\$1arn*   
已被授予命令权限的 IAM 角色。

 *cmd\$1type*   
已授予访问权限的命令。有效值如下所示：  
+ COPY
+ UNLOAD
+ EXTERNAL FUNCTION
+ CREATE MODEL

## 返回类型
<a name="r_HAS_ASSUMEROLE_PRIVILEGE-return-type"></a>

BOOLEAN

## 示例
<a name="r_HAS_ASSUMEROLE_PRIVILEGE-example"></a>

以下查询确认用户 `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)
```