

 从补丁 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/)。

# ATTACH RLS POLICY
<a name="r_ATTACH_RLS_POLICY"></a>

将表上的行级别安全性策略附加到一个或多个用户或角色。

超级用户和具有 `sys:secadmin` 角色的用户或角色可以附加策略。

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

```
ATTACH RLS POLICY 
{
  policy_name ON [TABLE] table_name [, ...]
  | database_name.policy_name ON [TABLE] database_name.schema_name.table_name [, ...]
}
TO { user_name | ROLE role_name | PUBLIC } [, ...]
```

## 参数
<a name="r_ATTACH_RLS_POLICY-parameters"></a>

 *policy\$1name*   
策略的名称。

database\$1name  
在其中创建策略和关系的数据库的名称。策略和关系必须在同一个数据库中。该数据库可以是连接的数据库，也可以是支持 Amazon Redshift 联合身份验证权限的数据库。

schema\$1name  
关系所属的架构的名称。

table\$1name  
行级安全策略所附加到的关系。

TO \$1 *user\$1name* \$1 ROLE *role\$1name* \$1 PUBLIC\$1 [, ...]  
指定是否将策略附加到一个或多个指定用户或角色。

有关在 Amazon Redshift 联合身份验证权限目录上使用 ATTACH RLS POLICY 的信息，请参阅[使用 Amazon Redshift 联合身份验证权限管理访问控制](https://docs.aws.amazon.com/redshift/latest/dg/federated-permissions-managing-access.html)。

## 使用说明
<a name="r_ATTACH_RLS_POLICY-usage"></a>

在使用 ATTACH RLS POLICY 语句时，请遵守以下规则：
+ 附加的表应该包含策略创建语句的 WITH 子句中列出的所有列。
+ Amazon Redshift RLS 支持将 RLS 策略附加到以下对象：
  +  表 
  +  视图
  +  后期绑定视图 
  +  实体化视图
+ Amazon Redshift RLS 不支持将 RLS 策略附加到以下对象：
  +  目录表 
  +  跨数据库关系 
  +  外部表 
  +  临时表 
  +  策略查找表
  + 实体化视图基表
+ 附加到超级用户或具有 `sys:secadmin` 权限的用户的 RLS 策略将被忽略。

## 示例
<a name="r_ATTACH_RLS_POLICY-examples"></a>

以下示例将 RLS 策略附加到指定的表和角色组合。当角色为 `analyst` 或 `dbadmin` 的任何用户访问 tickit\$1category\$1redshift 表时，RLS 策略适用于此类用户。

```
ATTACH RLS POLICY policy_concerts ON tickit_category_redshift TO ROLE analyst, ROLE dbadmin;
```