ALTER SECURITY INTEGRATION (外部 API 認証)

外部 API 認証のために作成された既存のセキュリティ統合のプロパティを変更します。

他の型のセキュリティ統合(例: Snowflake OAuth)の変更については、 ALTER SECURITY INTEGRATION をご参照ください。

こちらもご参照ください。

CREATE SECURITY INTEGRATION (外部 API 認証)DESCRIBE INTEGRATIONDROP INTEGRATIONSHOW INTEGRATIONS

構文

OAuth: クライアント認証情報

ALTER SECURITY INTEGRATION <name> SET
  [ ENABLED = { TRUE | FALSE } ]
  [ OAUTH_TOKEN_ENDPOINT = '<string_literal>' ]
  [ OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST ]
  [ OAUTH_CLIENT_ID = '<string_literal>' ]
  [ OAUTH_CLIENT_SECRET = '<string_literal>' ]
  [ OAUTH_GRANT = 'CLIENT_CREDENTIALS']
  [ OAUTH_ACCESS_TOKEN_VALIDITY = <integer> ]
  [ OAUTH_ALLOWED_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) ]
  [ COMMENT = '<string_literal>' ]

ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
  ENABLED | [ , ... ]
}
Copy

OAuth: 認証コード付与フロー

ALTER SECURITY INTEGRATION <name> SET
  [ ENABLED = { TRUE | FALSE } ]
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_TOKEN_ENDPOINT = '<string_literal>' ]
  [ OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST ]
  [ OAUTH_CLIENT_ID = '<string_literal>' ]
  [ OAUTH_CLIENT_SECRET = '<string_literal>' ]
  [ OAUTH_GRANT = 'AUTHORIZATION_CODE']
  [ OAUTH_ACCESS_TOKEN_VALIDITY = <integer> ]
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ COMMENT = '<string_literal>' ]

ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
  ENABLED | [ , ... ]
}
Copy

OAuth: JWT ベアラーフロー

ALTER SECURITY INTEGRATION <name> SET
  [ ENABLED = { TRUE | FALSE } ]
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_TOKEN_ENDPOINT = '<string_literal>' ]
  [ OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST ]
  [ OAUTH_CLIENT_ID = '<string_literal>' ]
  [ OAUTH_CLIENT_SECRET = '<string_literal>' ]
  [ OAUTH_GRANT = 'JWT_BEARER']
  [ OAUTH_ACCESS_TOKEN_VALIDITY = <integer> ]
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ COMMENT = '<string_literal>' ]

ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
  ENABLED | [ , ... ]
}
Copy

パラメーター

name

統合の識別子(つまり、名前)を指定する文字列。

SET ...

統合用に設定する1つ以上のプロパティ/パラメーターを指定します(空白、コンマ、または改行で区切ります)。

ENABLED = { TRUE | FALSE }

このセキュリティ統合を有効にするか無効にするかを指定します。

TRUE

統合の定義で指定されたパラメーターに基づいて統合の実行を許可します。

FALSE

メンテナンスのために統合を中断します。Snowflakeとサードパーティサービス間の統合はいずれも機能しません。

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

外部サービスへの認証のための URL を指定します。たとえば、 ServiceNow インスタンスに接続するには、 URL を次の形式にする必要があります。

https://<instance_name>.service-now.com/oauth_token.do
Copy

instance_name は ServiceNow インスタンスの名前です。

OAUTH_TOKEN_ENDPOINT = 'string_literal'

クライアントが認証付与トークンまたは更新トークンを提示してアクセストークンを取得する際に使用するトークンエンドポイントを指定します。トークンエンドポイントは、暗黙的な付与タイプを除くすべての認証付与で使用されます(アクセストークンが直接発行されるためです)。

OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST

外部サービスへの認証方式として POST を使用することを指定します。

OAUTH_CLIENT_ID = 'string_literal'

外部サービスの OAuth アプリケーションのクライアント ID を指定します。

OAUTH_CLIENT_SECRET = 'string_literal'

ServiceNow インスタンスの OAuth アプリケーションのクライアントシークレットを指定します。コネクタはこれを使用して、ServiceNow インスタンスにアクセストークンをリクエストします。

OAUTH_GRANT = 'string_literal'

OAuth フローのタイプを指定します。次のいずれかを使用します。

  • 'CLIENT_CREDENTIALS': 統合がクライアントの認証情報を使用する場合。

  • 'AUTHORIZATION_CODE': 統合が認証コードを使用する場合。

  • 'JWT_BEARER': 統合がJWT型ベアラートークン(JSONウェブトークン)を使用する場合。

OAUTH_ACCESS_TOKEN_VALIDITY = integer

OAuth サーバーによって発行された OAuth アクセストークンのデフォルトの有効期間(秒単位)を指定します。

このプロパティに設定された値は、アクセストークンの有効期間が OAuth トークンレスポンスの一部として返されない場合に使用されます。両方の値が使用可能な場合は、小さい方の値がアクセストークンのリフレッシュに使用されます。

OAUTH_REFRESH_TOKEN_VALIDITY = integer

OAuth サーバーから取得した更新トークンの有効性を判断する値を指定します。

OAUTH_ALLOWED_SCOPES = ( list )

OAuth クライアント認証情報フロー中に統合に対して USAGE を持つロールによって OAuth からリクエストする際に使用する、各スコープを一重引用符で囲んだスコープのコンマ区切りリストを指定します。

このリストは、セキュリティ統合の OAUTH_ALLOWED_SCOPES プロパティで定義されたスコープのサブセットである必要があります。 OAUTH_SCOPES プロパティ値が指定されていない場合、シークレットはセキュリティ統合で指定されているすべてのスコープを継承します。

ServiceNow コネクタの場合、有効なスコープ値は 'useraccount' のみです。

デフォルト: 空のリスト(つまり [])。

COMMENT = 'string_literal'

統合のコメントを追加するか、既存のコメントを上書きします。

デフォルト: 値なし

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントにあるタグの指定の詳細については、 オブジェクトおよび列のタグクォータ をご参照ください。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

OWNERSHIP

統合

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • メタデータについて。

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

次の例では、中断された統合の操作を開始します。

ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;
Copy