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
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 ...
통합에 대해 설정할 하나 이상의 속성/매개 변수를 지정합니다(공백, 쉼표 또는 새 줄로 구분).
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 및 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 및 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')
EXTERNAL_OAUTH_ANY_ROLE_MODE = DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE
OAuth 클라이언트 또는 사용자가 OAuth 액세스 토큰에 정의되지 않은 역할을 사용할 수 있는지 여부를 지정합니다. Snowflake로의 Power BI 통합 을 사용하면 이 매개 변수가 사용될 때도 PowerBI 사용자가 역할을 전환할 수 없습니다.
DISABLE
로 지정하면 OAuth 클라이언트 또는 사용자가 역할(즉,use role <역할>;
)을 전환할 수 없습니다. 기본값입니다.ENABLE
로 지정하면 OAuth 클라이언트 또는 사용자가 역할을 전환할 수 있습니다.ENABLE_FOR_PRIVILEGE
로 지정하면 OAuth 클라이언트 또는 사용자가USE_ANY_ROLE
권한을 가진 클라이언트 또는 사용자에 대해서만 역할을 전환할 수 있습니다. 사용자가 사용할 수 있는 1개 이상의 역할에 이 권한을 부여하고 취소할 수 있습니다. 예:
값은 선택적으로 작은따옴표로 묶을 수 있습니다(예:
DISABLE
또는'DISABLE'
).grant USE_ANY_ROLE on integration external_oauth_1 to role1;
revoke USE_ANY_ROLE on integration external_oauth_1 from role1;
EXTERNAL_OAUTH_SCOPE_DELIMITER = 'string_literal'
인증 토큰의 범위 구분 기호를 지정합니다.
구분 기호는 쉼표(
','
) 또는 공백(' '
)과 같은 단일 문자일 수 있습니다.이 보안 통합 속성은 선택 사항이며 기본 쉼표 구분 기호를 재정의하는 데 사용할 수 있습니다. 이 속성은 다음과 같은 사용자 지정 외부 OAuth 통합에만 지원됩니다.
EXTERNAL_OAUTH_TYPE = CUSTOM
Snowflake 계정에서 이 속성을 활성화하려면 Snowflake 지원 에 문의하십시오.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
UNSET ...
보안 통합에 대해 설정 해제할 속성/매개 변수를 하나 이상 지정하여 다시 기본값으로 재설정합니다.
ENABLED
EXTERNAL_OAUTH_AUDIENCE_LIST
TAG tag_name [ , tag_name ... ]
사용법 노트¶
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.