

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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="redshift-iam-access-control-native-idp-autocreate"></a>

此功能可讓您根據身分提供者 (IdP) 的群組成員資格，在 Redshift 中自動建立角色。自動建立角色支援與原生 IdP 整合的 Azure Active Directory。

自動建立角色有幾個優點。當您自動建立角色時，Redshift 建立的角色會具有 IdP 中的群組成員資格，如此就能避免繁瑣的手動角色建立和維護工作。您也可以選擇篩選哪些群組要對應至 Redshift 角色。

## 運作方式
<a name="sso-autocreate-overview"></a>

當您以 IdP 使用者身分登入 Redshift 時，下列事件會按順序發生：

1. Redshift 從 IdP 擷取您的群組成員資格。

1. Redshift 自動建立對應到這些群組的角色，且角色的格式為 `{{idp_namespace}}:{{rolename}}`。

1. Redshift 對您授予對應角色的許可。

每次使用者登入時，都會自動建立使用者所屬但不存在目錄內的每個群組。您可以選擇性地設定包含和排除篩選條件，以控制哪些 IdP 群組要建立 Redshift 角色。

## 設定自動建立角色
<a name="sso-autocreate-configuring"></a>

使用 `CREATE IDENTITY PROVIDER` 和 `ALTER 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;
```

## 篩選群組
<a name="sso-autocreate-filtering"></a>

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

## 範例
<a name="sso-autocreate-filtering"></a>

下列範例示範如何在不進行篩選的情況下開啟自動建立角色。

```
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%';
```

## 最佳實務
<a name="sso-autocreate-bp"></a>

當您啟用角色的自動建立功能時，請考慮下列最佳實務：
+ 使用 `INCLUDE` 和 `EXCLUDE` 篩選條件來控制哪些群組會取得角色。
+ 定期稽核角色並清除未使用的角色。
+ 利用 Redshift 角色階層來簡化許可管理。