CREATE IDENTITY PROVIDER - Amazon Redshift

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 連線,為使用者提供單一登入體驗