从 2025 年 11 月 1 日起,Amazon Redshift 将不再支持创建新的 Python UDF。如果您想要使用 Python UDF,请在该日期之前创建 UDF。现有的 Python UDF 将继续正常运行。有关更多信息,请参阅博客文章
自动为 Amazon IAM Identity Center 创建 Amazon Redshift 角色
此特征与 Amazon IAM Identity Center 集成,让您可以根据组成员资格在 Redshift 中自动创建角色。
自动创建角色有几个好处。自动创建角色时,Redshift 会在您的 IdP 中创建具有组成员资格的角色,因此您可以避免繁琐的手动角色创建和维护。您还可以选择使用包括和排除模式来筛选映射到 Redshift 角色的组。
工作方式
当您以 IdP 用户身份登录 Redshift 时,会发生以下一系列事件:
-
Redshift 从 IdP 那里检索您的组成员资格。
-
Redshift 使用角色格式
自动创建映射到这些组的角色。idp_namespace
:rolename
-
Redshift 授予您使用映射角色的权限。
每次用户登录时,都会自动创建目录中不存在但该用户所属的每个组。您可以选择设置包括和排除筛选条件,从而控制哪些 IdP 组已创建 Redshift 角色。
配置自动创建角色
使用 CREATE IDENTITY PROVIDER
和 ALTER IDENTITY PROVIDER
命令启用和配置自动角色创建。
-- Create a new IdP with auto role creation enabled CREATE IDENTITY PROVIDER <
idp_name
> TYPE AWSIDC NAMESPACE '<namespace
>' APPLICATION_ARN 'app_arn
' IAM_ROLE 'role_arn
' AUTO_CREATE_ROLES TRUE; -- Enable on existing IdP ALTER IDENTITY PROVIDER <idp_name
> AUTO_CREATE_ROLES TRUE; -- Disable ALTER IDENTITY PROVIDER <idp_name
> AUTO_CREATE_ROLES FALSE;
筛选组
您可以选择使用 INCLUDE
和 EXCLUDE
模式筛选映射到 Redshift 角色的 IdP 组。当模式冲突时,EXCLUDE
优先于 INCLUDE
。
-- Only create roles for groups with 'dev' CREATE IDENTITY PROVIDER <
idp_name
> TYPE AWSIDC ... AUTO_CREATE_ROLES TRUE INCLUDE GROUPS LIKE '%dev%'; -- Exclude 'test' groups ALTER IDENTITY PROVIDER <idp_name
> AUTO_CREATE_ROLES TRUE EXCLUDE GROUPS LIKE '%test%';
示例
以下示例说明了如何启用自动创建角色而不进行筛选。
CREATE IDENTITY PROVIDER prod_idc TYPE AWSIDC ... AUTO_CREATE_ROLES TRUE;
以下示例包括开发组,不包括测试组。
ALTER IDENTITY PROVIDER prod_idc AUTO_CREATE_ROLES TRUE INCLUDE GROUPS LIKE '%dev%' EXCLUDE GROUPS LIKE '%test%';
最佳实践
为角色启用自动创建功能时,请考虑遵循以下最佳实践:
-
使用
INCLUDE
和EXCLUDE
筛选条件来控制哪些组获得角色。 -
定期审核角色并清理未使用的角色。
-
利用 Redshift 角色层次结构来简化权限管理。