自动为身份提供者创建 Amazon Redshift 角色 - Amazon Redshift

自动为身份提供者创建 Amazon Redshift 角色

借助此特征,您可以根据身份提供者(IdP)的组成员资格在 Redshift 中自动创建角色。自动创建角色支持具有本机 IdP 集成的 Azure Active Directory。

自动创建角色有几个好处。自动创建角色时,Redshift 会在您的 IdP 中创建具有组成员资格的角色,因此您可以避免繁琐的手动角色创建和维护。还可以选择筛选映射到 Redshift 角色的组。

工作方式

当您以 IdP 用户身份登录 Redshift 时,会发生以下一系列事件:

  1. Redshift 从 IdP 那里检索您的组成员资格。

  2. Redshift 使用角色格式 idp_namespace:rolename 自动创建映射到这些组的角色。

  3. Redshift 授予您使用映射角色的权限。

每次用户登录时,都会自动创建目录中不存在但该用户所属的每个组。您可以选择设置包括和排除筛选条件,从而控制哪些 IdP 组已创建 Redshift 角色。

配置自动创建角色

使用 CREATE IDENTITY PROVIDERALTER IDENTITY PROVIDER 命令启用和配置自动角色创建。

-- Create a new IdP with auto role creation enabled CREATE IDENTITY PROVIDER <idp_name> TYPE azure 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;

筛选组

您可以选择使用 INCLUDEEXCLUDE 模式筛选映射到 Redshift 角色的 IdP 组。当模式冲突时,EXCLUDE 优先于 INCLUDE

-- Only create roles for groups with 'dev' CREATE IDENTITY PROVIDER <idp_name> TYPE azure ... 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 azure ... AUTO_CREATE_ROLES TRUE;

以下示例包括开发组,不包括测试组。

ALTER IDENTITY PROVIDER prod_idc AUTO_CREATE_ROLES TRUE INCLUDE GROUPS LIKE '%dev%' EXCLUDE GROUPS LIKE '%test%';

最佳实践

为角色启用自动创建功能时,请考虑遵循以下最佳实践:

  • 使用 INCLUDEEXCLUDE 筛选条件来控制哪些组获得角色。

  • 定期审核角色并清理未使用的角色。

  • 利用 Redshift 角色层次结构来简化权限管理。