ALTER SECURITY INTEGRATION(External OAuth)

External OAuth용으로 생성된 기존 보안 통합의 속성을 수정합니다. 다른 유형의 보안 통합(예: Snowflake OAuth) 수정에 대한 자세한 내용은 ALTER SECURITY INTEGRATION 섹션을 참조하십시오.

참고 항목:

CREATE SECURITY INTEGRATION(External 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> ... ]
Copy

매개 변수

name

변경할 통합의 식별자입니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

SET ...

통합에 대해 설정할 하나 이상의 속성/매개 변수를 지정합니다(공백, 쉼표 또는 새 줄로 구분).

TYPE = EXTERNAL_OAUTH

External 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 또는 Custom 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'

External OAuth 액세스 토큰의 유효성을 검사하기 위해 공개 키 또는 인증서를 다운로드할 출처가 되는 엔드포인트를 지정합니다.

이 구문은 EXTERNAL_OAUTH_TYPE = { OKTA | PING_FEDERATE | CUSTOM } 인 보안 통합에 적용됩니다.

EXTERNAL_OAUTH_JWS_KEYS_URL = { 'string_literal' | ('string_literal' [ , 'string_literal' ... ] ) }

External OAuth 액세스 토큰의 유효성을 검사하기 위해 공개 키 또는 인증서를 다운로드할 출처가 되는 엔드포인트 또는 엔드포인트 목록을 지정합니다. 목록에 지정할 수 있는 URL의 최대 수는 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----- 헤더 없이 보조 RSA 공개 키를 지정합니다. 키 순환에 사용됩니다.

EXTERNAL_OAUTH_BLOCKED_ROLES_LIST = ( 'role_name' [ , 'role_name' , ... ] )

클라이언트가 기본 역할 로 설정할 수 없는 역할의 목록을 지정합니다. External 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' , ... ] )

클라이언트가 기본 역할로서 설정할 수 있는 역할 목록을 지정합니다.

External OAuth 인증 서버의 액세스 토큰을 기반으로 Snowflake 세션을 생성할 때 이 목록의 역할을 사용할 수 있습니다.

조심

이 매개 변수는 ACCOUNTADMIN, ORGADMIN 및 SECURITYADMIN 시스템 역할을 지원합니다.

이러한 높은 권한을 가진 역할을 기본 역할로 설정하여 Snowflake 세션을 만들 때는 주의하십시오.

EXTERNAL_OAUTH_AUDIENCE_LIST = ('string_literal')

고객의 Snowflake 계정 URL(즉, <계정_식별자>.snowflakecomputing.com)을 사용하는 것 외에 액세스 토큰의 대상 그룹 확인에 사용할 수 있는 추가적인 값을 지정합니다. 자세한 내용은 계정 식별자 섹션을 참조하십시오.

Power BI SSO 사용 시 이 속성에 대한 자세한 내용은 Power BI SSO 보안 통합 을 참조하십시오.

현재, External OAuth 사용자 지정 클라이언트 에 대해서만 여러 대상 그룹 URLs을 지정할 수 있습니다. 각 URL을 작은따옴표로 묶고, 쉼표로 각 URL을 구분해야 합니다. 예:

external_oauth_audience_list = ('https://example.com/api/v2/', 'https://example.com')
Copy
EXTERNAL_OAUTH_ANY_ROLE_MODE = { DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE }

OAuth 클라이언트 또는 사용자가 OAuth 액세스 토큰에 정의되지 않은 역할을 사용할 수 있는지 여부를 지정합니다. Snowflake로의 Power BI 통합 을 사용하면 이 매개 변수가 사용될 때도 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;
    
    Copy
    REVOKE USE_ANY_ROLE ON INTEGRATION external_oauth_1 FROM role1;
    
    Copy

값은 선택적으로 작은따옴표로 묶을 수 있습니다(예: DISABLE 또는 'DISABLE').

EXTERNAL_OAUTH_SCOPE_DELIMITER = 'string_literal'

인증 토큰의 범위 구분 기호를 지정합니다.

구분 기호는 쉼표(',') 또는 공백(' ')과 같은 단일 문자일 수 있습니다.

이 보안 통합 속성은 선택 사항이며 기본 쉼표 구분 기호를 재정의하는 데 사용할 수 있습니다. 이 속성은 다음과 같은 사용자 지정 외부 OAuth 통합에만 지원됩니다.

EXTERNAL_OAUTH_TYPE = CUSTOM

Snowflake 계정에서 이 속성을 활성화하려면 Snowflake 지원 에 문의하십시오.

COMMENT = 'string_literal'

통합에 대한 설명을 추가하거나 기존 설명을 덮어씁니다.

기본값: 값 없음

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

태그 이름과 태그 문자열 값을 지정합니다.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.

문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.

UNSET ...

보안 통합에 대해 설정 해제할 속성/매개 변수를 하나 이상 지정하여 다시 기본값으로 재설정합니다.

  • ENABLED

  • EXTERNAL_OAUTH_AUDIENCE_LIST

  • TAG tag_name [ , tag_name ... ]

사용법 노트

메타데이터 관련:

주의

고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

다음은 일시 중단된 통합 작업을 시작하는 예입니다.

ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;
Copy