CREATE IDENTITY PROVIDER - Amazon Redshift

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 资源名称(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 选项执行区分大小写的匹配,支持以下模式匹配元字符:

元字符 描述
% 匹配任意序列的零个或多个字符。
_ 匹配任何单个字符。

如果 filter_pattern 不包含元字符,则模式仅表示字符串本身;在此情况下,LIKE 的行为与等于运算符相同。

filter_pattern 支持以下字符:

  • 大写和小写字母字符(A-Z 和 a-z)

  • 数字(0-9)

  • 以下特殊字符:

    _ % ^ * + ? { } , $

示例

下面的示例创建一个名为 oauth_standard、TYPE 为 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 连接,为用户提供单点登录体验