

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

# 使用 Amazon Redshift 联合身份验证权限时的注意事项
<a name="federated-permissions-considerations"></a>

以下是使用联合身份验证权限与 AWS Glue Data Catalog 共享 Amazon Redshift 数据时的注意事项和限制。有关数据共享注意事项和限制的一般信息，请参阅 [Amazon Redshift 中的数据共享注意事项](https://docs.aws.amazon.com/redshift/latest/dg/datashare-considerations.html)。

只有[集群版本 197 及更高版本](https://docs.aws.amazon.com/redshift/latest/mgmt/cluster-versions.html#cluster-version-197)支持此功能。

**不支持的区域**
+ 非洲（开普敦）
+ 亚太地区（海得拉巴）
+ 欧洲地区（米兰）
+ 欧洲（西班牙）
+ 中东（阿联酋）

**环境要求**

已注册的 Redshift 实例和使用者 Redshift 实例必须满足以下要求：
+ **实例类型**：RA3 预调配集群或 Serverless 工作组
+ **区域**：相同 AWS 区域
+ **账户**：相同 AWS 账户
+ **加密**：已启用
+ **隔离级别**：快照隔离

**不支持的对象**

使用者实例无法访问联合身份验证权限目录中的以下对象：
+ SQL UDF、Python UDF 和 Lambda UDF
+ ML 模型
+ 在已注册实例上创建的外部架构

**粗糙访问控制的限制**

仅在使用 3 点表示法时支持对表、数据库、架构、函数进行授权

**精细访问控制的限制**

除了 Amazon Redshift 中的标准行级别安全性（RLS）和动态数据掩蔽（DDM）策略限制外，如果策略包含以下系统函数，则使用者实例无法访问联合身份验证权限目录中受 RLS 或 DDM 保护的对象：
+ `user_is_member_of`
+ `role_is_member_of`
+ `user_is_member_of_role`

注意：在当前版本的 Redshift 中，在使用中的 Redshift 仓库上访问的 FGAC 相关表的元数据在目录中暂时可见。

**元数据发现**
+ 列、表、存储过程、函数和参数支持 SHOW 命令。

**Lake Formation**
+ Amazon Redshift 联合身份验证权限目录中的对象不支持 Lake Formation 权限。

**身份**
+ 只有注册了 IAM 或 AWS IAM Identity Center 的用户才能查询 Amazon Redshift 联合身份验证权限目录中的对象。
+ 当您的 Amazon Redshift 集群或 Amazon Redshift Serverless 命名空间注册了 Amazon Redshift 联合身份验证权限时，您无法使用 IAM 联合组管理 IAM 联合用户的数据治理。这包括之前通过 IAM 联合组在对象上配置的任何精细访问控制。
+ 将现有的 Amazon Redshift 集群或 Amazon Redshift Serverless 命名空间注册到 Amazon Redshift 联合身份验证权限目录时，所有 AWS IAM Identity Center 联合用户（包括以前拥有访问权限的用户）都必须被明确授予 CONNECT 权限才能访问集群或工作组。有关授予 CONNECT 权限的更多信息，请参阅[连接权限](federated-permissions-prereqs.md#federated-permissions-prereqs-connect)。
+ 对于使用主体标签和临时 IAM 凭证连接到 Amazon Redshift 集群或工作组的 AWS IAM 联合用户，系统不会将其识别为全局身份，这些用户也无法访问 Amazon Redshift 联合身份验证权限目录。只有 AWS IAM Identity Center 联合用户以及 AWS IAM 联合用户或角色才有权查询 Amazon Redshift 联合身份验证权限目录。
+ 当您的 Amazon Redshift 集群或 Amazon Redshift Serverless 命名空间注册了 Amazon Redshift 联合身份验证权限时，以下 GRANT 命令限制适用于 AWS IAM Identity Center 联合用户或角色以及 AWS IAM 联合用户或角色：
  + 您不能向任何用户或角色授予联合角色。此规则的一个例外是，您可以向 IAM 联合用户授予 Redshift 数据库角色。
  + 您不能向联合角色或用户授予任何角色。此规则的一个例外是，您可以向联合用户或角色授予系统定义的角色。

**引擎访问权限**
+ 不支持从 Redshift 以外的引擎进行访问

**更改用户集全局身份**
+ 只有“选择”、“删除”、“更新”、“显示”、“插入”操作支持
+ 通过 ALTER USER SET GLOBAL IDENTITY 与用户关联的 IAM 角色仅在满足以下条件时使用：查询针对具有联合身份验证权限的 Redshift 仓库，并且查询的目标是某种关系，例如 SELECT、UDPATE 和 DELETE 查询。
+ 在针对具有联合身份验证权限的 Redshift 仓库中的资源运行 SHOW DATABASES、SHOW SCHEMAS 和 SHOW TABLES 查询时，也可以使用此类 IAM 角色。
+ 此类 IAM 角色不用于数据定义查询，例如 CREATE、ALTER 和 DROP。

**错误消息**
+ 在 Amazon Redshift 联合身份验证权限目录中，针对数据库的任何不支持的操作都将显示以下错误：

  ```
  Operation is not supported through datashares
  ```