ALTER SECURITY INTEGRATION (外部 OAuth)¶
外部 OAuth 用に作成された既存のセキュリティ統合のプロパティを変更します。他の型のセキュリティ統合(例: Snowflake OAuth)の変更については、 ALTER SECURITY INTEGRATION をご参照ください。
- こちらもご参照ください。
CREATE SECURITY INTEGRATION (外部 OAuth)、 DROP INTEGRATION、 SHOW INTEGRATIONS、 DESCRIBE INTEGRATION
構文¶
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET
[ TYPE = EXTERNAL_OAUTH ]
[ ENABLED = { TRUE | FALSE } ]
[ EXTERNAL_OAUTH_TYPE = { OKTA | AZURE | PING_FEDERATE | CUSTOM } ]
[ EXTERNAL_OAUTH_ISSUER = '<string_literal>' ]
[ EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = '<string_literal>' | ('<string_literal>', '<string_literal>' [ , ... ] ) ]
[ EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'LOGIN_NAME | EMAIL_ADDRESS' ]
[ EXTERNAL_OAUTH_JWS_KEYS_URL = '<string_literal>' ] -- For OKTA | PING_FEDERATE | CUSTOM
[ EXTERNAL_OAUTH_JWS_KEYS_URL = '<string_literal>' | ('<string_literal>' [ , '<string_literal>' ... ] ) ] -- For Azure
[ EXTERNAL_OAUTH_RSA_PUBLIC_KEY = <public_key1> ]
[ EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2 = <public_key2> ]
[ EXTERNAL_OAUTH_BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
[ EXTERNAL_OAUTH_ALLOWED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
[ EXTERNAL_OAUTH_AUDIENCE_LIST = ('<string_literal>') ]
[ EXTERNAL_OAUTH_ANY_ROLE_MODE = DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE ]
[ EXTERNAL_OAUTH_SCOPE_DELIMITER = '<string_literal>' ] -- Only for EXTERNAL_OAUTH_TYPE = CUSTOM
[ COMMENT = '<string_literal>' ]
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED |
EXTERNAL_OAUTH_AUDIENCE_LIST |
}
[ , ... ]
ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
パラメーター¶
name
変更する統合の識別子。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
SET ...
統合用に設定する1つ以上のプロパティ/パラメーターを指定します(空白、コンマ、または改行で区切ります)。
TYPE = EXTERNAL_OAUTH
外部 OAuth 統合と Snowflake OAuth 統合を区別します。
ENABLED = { TRUE | FALSE }
統合の操作を開始するか、中断するかを指定します。
TRUE
は、パイプ定義で指定されたパラメーターに基づいて統合を許可します。FALSE
は、メンテナンスのために統合を中断します。Snowflakeとサードパーティサービス間の統合はいずれも機能しません。
EXTERNAL_OAUTH_TYPE = { OKTA | AZURE | PING_FEDERATE | CUSTOM }
OAuth 2.0認証サーバーをOkta、Microsoft Azure AD、Ping Identity PingFederate、またはカスタム OAuth 2.0認証サーバーに指定します。
EXTERNAL_OAUTH_ISSUER = 'string_literal'
OAuth 2.0認証サーバーを定義する URL を指定します。
EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = { 'string_literal' | ('string_literal', 'string_literal' [ , ... ] ) }
アクセストークンをSnowflakeユーザー記録にマップするために使用する、アクセストークンクレーム(複数可)を指定します。
クレームのデータ型は、文字列または文字列のリストである必要があります。
EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = { 'LOGIN_NAME | EMAIL_ADDRESS' }
アクセストークンをSnowflakeユーザー記録にマップするために使用する、Snowflakeユーザー記録属性を示します。
EXTERNAL_OAUTH_JWS_KEYS_URL = 'string_literal'
外部 OAuth アクセストークンを検証するための、公開キーまたは証明書をダウンロードするエンドポイントを指定します。
この構文は、条件が
EXTERNAL_OAUTH_TYPE = { OKTA | PING_FEDERATE | CUSTOM }
のセキュリティ統合に適用されますEXTERNAL_OAUTH_JWS_KEYS_URL = { 'string_literal' | ('string_literal' [ , 'string_literal' ... ] ) }
外部 OAuth アクセストークンを検証するための、公開キーまたは証明書をダウンロードするエンドポイントまたはエンドポイントのリストを指定します。リストで指定できる URLs の最大数は3です。
この構文は、条件が
EXTERNAL_OAUTH_TYPE = AZURE
のセキュリティ統合に適用されますEXTERNAL_OAUTH_RSA_PUBLIC_KEY = public_key1
-----BEGIN PUBLIC KEY-----
および-----END PUBLIC KEY-----
ヘッダーを含まない、Base64でエンコードされた RSA 公開キーを指定します。EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2 = public_key2
-----BEGIN PUBLIC KEY-----
および-----END PUBLIC KEY-----
ヘッダーを含まない、2番目の RSA 公開キーを指定します。キーのローテーションに使用されます。EXTERNAL_OAUTH_BLOCKED_ROLES_LIST = ( 'role_name' [ , 'role_name' , ... ] )
クライアントが プライマリロール として設定 できない ロールのリストを指定します。このリストのロールは、外部 OAuth 認証サーバーからのアクセストークンに基づいてSnowflakeセッションを作成するときには使用 できません。
デフォルトで、このリストには ACCOUNTADMIN、 ORGADMIN、および SECURITYADMIN のロールが含まれています。これらの権限ロールをリストから削除するには、 ALTER ACCOUNT コマンドを使用して EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST アカウントパラメーターを
FALSE
に設定します。EXTERNAL_OAUTH_ALLOWED_ROLES_LIST = ( 'role_name' [ , 'role_name' , ... ] )
クライアントがプライマリロールとして設定できるロールのリストを指定します。
このリストのロールは、外部 OAuth 認証サーバーからのアクセストークンに基づいてSnowflakeセッションを作成するときに使用できます。
注意
このパラメーターは、 ACCOUNTADMIN、 ORGADMIN、および SECURITYADMIN のシステムロールをサポートします。
これらの高度な権限を持つロールをプライマリロールとして設定してSnowflakeセッションを作成する場合は、注意が必要です。
EXTERNAL_OAUTH_AUDIENCE_LIST = ('string_literal')
お客様のSnowflakeアカウント URL (つまり、
<アカウント識別子>.snowflakecomputing.com
)の使用に加えて、アクセストークンのオーディエンス検証に使用できる追加の値を指定します。詳細については、 アカウント識別子 をご参照ください。Power BI SSO を使用する場合のこのプロパティの詳細については、 Power BI SSO のセキュリティ統合 をご参照ください。
現在、複数のオーディエンス URLs は、 外部 OAuth カスタムクライアント に対してのみ指定できます。各 URL は、各 URL をコンマで区切って、単一引用符で囲む必要があります。例:
external_oauth_audience_list = ('https://example.com/api/v2/', 'https://example.com')
EXTERNAL_OAUTH_ANY_ROLE_MODE = { DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE }
OAuth クライアントまたはユーザーが、 OAuth アクセストークンで定義されていないロールを使用できるかどうかを指定します。 Power BI からSnowflakeへの統合 では、このパラメーターが有効になっていても、 PowerBI ユーザーはロールを切り替えることができないことに注意してください。
DISABLE
の場合は、 OAuth クライアントまたはユーザーがロールを切り替える(つまり、USE ROLE role;
)ことはできません。デフォルト。ENABLE
の場合、 OAuth クライアントまたはユーザーは、ロールを切り替えられます。ENABLE_FOR_PRIVILEGE
OAuth クライアントまたはユーザーは、 USE_ANY_ROLE 権限を持つクライアントまたはユーザーのロールのみを切り替えられます。この権限は、ユーザーが使用できる1つ以上のロールに対して付与および取り消しができます。例:GRANT USE_ANY_ROLE ON INTEGRATION external_oauth_1 TO role1;
REVOKE USE_ANY_ROLE ON INTEGRATION external_oauth_1 FROM role1;
値は必要に応じて一重引用符で囲むことができることに注意してください(例:
DISABLE
または'DISABLE'
のいずれか)。EXTERNAL_OAUTH_SCOPE_DELIMITER = 'string_literal'
認証トークンのスコープ区切り文字を指定します。
区切り文字は、コンマ(
','
)やスペース(' '
)などの任意の1文字にすることができます。このセキュリティ統合プロパティはオプションであり、デフォルトのコンマ区切り文字を上書きするために使用できます。このプロパティは、カスタムの外部 OAuth 統合でのみサポートされていることに注意してください。ここで、
EXTERNAL_OAUTH_TYPE = CUSTOM
Snowflakeアカウントでこのプロパティを有効にするには、 Snowflakeサポート にご連絡ください。
COMMENT = 'string_literal'
統合のコメントを追加するか、既存のコメントを上書きします。
デフォルト: 値なし
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントでのタグの指定に関する情報については、 オブジェクトおよび列のタグクォータ をご参照ください。
UNSET ...
セキュリティ統合の設定を解除する1つ以上のプロパティ/パラメーターを指定し、それらをデフォルトにリセットします。
ENABLED
EXTERNAL_OAUTH_AUDIENCE_LIST
TAG tag_name [ , tag_name ... ]
使用上の注意¶
メタデータについて。
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
次の例では、中断された統合の操作を開始します。
ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;