自動為 AWS IAM Identity Center 建立 Amazon Redshift 角色 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

自動為 AWS IAM Identity Center 建立 Amazon Redshift 角色

此功能是與 AWS IAM Identity Center 的整合,可讓您根據群組成員資格在 Redshift 中自動建立角色。

自動建立角色有幾個優點。當您自動建立角色時,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 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;

篩選群組

您可以選擇使用 INCLUDEEXCLUDE 模式,篩選哪些 IdP 群組要對應至 Redshift 角色。當模式發生衝突時,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%';

最佳實務

當您啟用角色的自動建立功能時,請考慮下列最佳實務:

  • 使用 INCLUDEEXCLUDE 篩選條件來控制哪些群組會取得角色。

  • 定期稽核角色並清除未使用的角色。

  • 利用 Redshift 角色階層來簡化許可管理。