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 時,下列事件會按順序發生:
-
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 模式,篩選哪些 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%';
最佳實務
當您啟用角色的自動建立功能時,請考慮下列最佳實務:
-
使用
INCLUDE和EXCLUDE篩選條件來控制哪些群組會取得角色。 -
定期稽核角色並清除未使用的角色。
-
利用 Redshift 角色階層來簡化許可管理。