Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
CREATE IDENTITY PROVIDER
定義新的身分提供者。只有超級使用者可以建立身分提供者。
語法
CREATE IDENTITY PROVIDER identity_provider_name TYPE type_name NAMESPACE namespace_name [PARAMETERS parameter_string] [APPLICATION_ARN arn] [IAM_ROLE iam_role] [AUTO_CREATE_ROLES [ TRUE [ { INCLUDE | EXCLUDE } GROUPS LIKE filter_pattern] | FALSE ] ];
參數
- identity_provider_name
-
新身分提供者的名稱。如需有效名稱的相關資訊,請參閱 名稱與識別碼。
- type_name
-
要與之連接的身分提供者。Azure 和 AWSIDC 是目前唯一支援的身分提供者。
- namespace_name
-
命名空間 這是身分提供者目錄的唯一速記識別碼。
- parameter_string
-
包含正確格式化 JSON 物件的字串,其中包含身分提供者所需的參數和值。
- arn
-
IAM Identity Center 受管應用程式的 Amazon Resource Name (ARN)。此參數僅在身分提供者類型為 AWSIDC 時適用。
- iam_role
-
提供與 IAM Identity Center 連線之許可的 IAM 角色。此參數僅在身分提供者類型為 AWSIDC 時適用。
- auto_create_roles
-
啟用或停用自動建立角色功能。如果值為 TRUE,Amazon Redshift 會啟用自動建立角色功能。如果值為 FALSE,Amazon Redshift 會停用自動建立角色功能。如果未指定此參數的值,Amazon Redshift 會使用下列邏輯來判斷值:
如有
AUTO_CREATE_ROLES但未指定值,則值會設定為 TRUE。如未提供
AUTO_CREATE_ROLES且身分提供者為 AWSIDC,則值會設定為 FALSE。如未提供
AUTO_CREATE_ROLES且身分提供者為 Azure,則值會設定為 TRUE。
若要包含群組,請指定
INCLUDE。預設值為空白,表示AUTO_CREATE_ROLES開啟時,包含所有群組。若要排除群組,請指定
EXCLUDE。預設值為空白,表示AUTO_CREATE_ROLES開啟時,不要排除任何群組。 - filter_pattern
-
有效的 UTF-8 字元表達式,包含要比對群組名稱的模式。LIKE 選項會執行區分大小寫的比對,以支援下列模式比對中繼字元:
中繼字元 說明 %比對任何 0 的序列或更多字元。 _比對任一個單一字元。 如果 filter_pattern 未包含任何中繼字元,則模式只代表字串本身,此時 LIKE 的功用如同等於運算子。
filter_pattern 支援下列字元:
大寫和小寫英文字母字元 (A-Z 和 a-z)
數字 (0-9)
下列特殊字元:
_ % ^ * + ? { } , $
範例
下列範例會建立名為 oauth_standard 的身分提供者 (類型為 azure),目的是與 Microsoft Azure Active Directory (AD) 建立通訊。
CREATE IDENTITY PROVIDER oauth_standard TYPE azure NAMESPACE 'aad' PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", "client_id":"87f4aa26-78b7-410e-bf29-57b39929ef9a", "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7", "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"] }'
您可以將 IAM Identity Center 受管應用程式與現有的佈建叢集或 Amazon Redshift Serverless 工作群組連線。這樣您就可以透過 IAM Identity Center 管理對 Redshift 資料庫的存取。若要這樣做,請執行 SQL 命令,如下列範例所示。您必須是資料庫管理員。
CREATE IDENTITY PROVIDER "redshift-idc-app" TYPE AWSIDC NAMESPACE 'awsidc' APPLICATION_ARN 'arn:aws:sso::123456789012:application/ssoins-12345f67fe123d4/apl-a0b0a12dc123b1a4' IAM_ROLE 'arn:aws:iam::123456789012:role/MyRedshiftRole';
此案例中的應用程式 ARN 會識別要連線的受管應用程式。您可以執行 SELECT * FROM SVV_IDENTITY_PROVIDERS; 來尋找它。
如需使用 CREATE IDENTITY PROVIDER 的相關資訊 (包括其他範例),請參閱 Amazon Redshift 的原生身分提供者 (IdP) 聯合。如需設定從 Redshift 到 IAM Identity Center 的連線詳細資訊,請參閱將 Redshift 與 IAM Identity Center 連線,為使用者提供單一登入體驗。