ALTER IDENTITY PROVIDER
更改身份提供者以分配新的参数和值。运行此命令时,先前设置的所有参数值都将在分配新值之前删除。只有超级用户可以更改身份提供者。
语法
ALTER IDENTITY PROVIDER identity_provider_name [PARAMETERS parameter_string] [NAMESPACE namespace] [IAM_ROLE iam_role] [AUTO_CREATE_ROLES [ TRUE [ { INCLUDE | EXCLUDE } GROUPS LIKE filter_pattern] | FALSE ] [DISABLE | ENABLE]
参数
- identity_provider_name
-
新身份提供者的名称。有关有效名称的更多信息,请参阅名称和标识符。
- parameter_string
-
一个包含格式正确的 JSON 对象的字符串,其中包含特定身份提供者所需的参数和值。
- 命名空间
-
组织命名空间。
- 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)
以下特殊字符:
_ % ^ * + ? { } , $
- DISABLE 或 ENABLE
-
开启或关闭身份提供者。默认值为 ENABLE。
示例
以下示例更改名为 oauth_standard 的身份提供者。它特别适用于 Microsoft Azure AD 作为身份提供者的情况。
ALTER IDENTITY PROVIDER oauth_standard 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"] }'
以下示例显示了如何设置身份提供者命名空间。这可能适用于 Microsoft Azure AD(如果它遵循与上一个示例类似的语句),也可能适用于其它身份提供者。如果您通过托管应用程序设置了连接,则它也可能适用于将现有的 Amazon Redshift 预调配集群或 Amazon Redshift Serverless 工作组连接到 IAM Identity Center 的情况。
ALTER IDENTITY PROVIDER "my-redshift-idc-application" NAMESPACE 'MYCO';
以下示例设置了 IAM 角色,并适用于配置 Redshift 与 IAM Identity Center 集成的使用案例。
ALTER IDENTITY PROVIDER "my-redshift-idc-application" IAM_ROLE 'arn:aws:iam::123456789012:role/myadministratorrole';
有关设置从 Redshift 到 IAM Identity Center 的连接的更多信息,请参阅将 Redshift 与 IAM Identity Center 连接,为用户提供单点登录体验。
禁用身份提供者
以下示例语句显示了如何禁用身份提供者。禁用身份提供者后,身份提供者中的联合用户将无法登录集群,直至再次启用它。
ALTER IDENTITY PROVIDER "redshift-idc-app" DISABLE;