ALTER SECURITY INTEGRATION(External API 인증)¶
External API Authentication용으로 생성된 기존 보안 통합의 속성을 수정합니다.
다른 유형의 보안 통합(예: Snowflake OAuth) 수정에 대한 자세한 내용은 ALTER SECURITY INTEGRATION 섹션을 참조하십시오.
- 참고 항목:
CREATE SECURITY INTEGRATION(External API 인증) , DESCRIBE INTEGRATION , DROP INTEGRATION , SHOW 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 | [ , ... ]
}
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 | [ , ... ]
}
매개 변수¶
name
통합의 식별자(예: 이름)를 지정하는 문자열입니다.
SET ...
통합에 대해 설정할 하나 이상의 속성/매개 변수를 지정합니다(공백, 쉼표 또는 새 줄로 구분).
ENABLED = { TRUE | FALSE }
이 보안 통합을 사용할지, 사용하지 않을지 지정합니다.
TRUE
통합 정의에 지정된 매개 변수를 기반으로 통합을 실행할 수 있습니다.
FALSE
유지 관리를 위해 통합이 일시 중단됩니다. Snowflake와 서드 파티 서비스 간의 통합이 작동하지 않습니다.
OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'
외부 서비스에 인증하기 위한 URL을 지정합니다. 예를 들어 ServiceNow 인스턴스에 연결하려면 URL이 다음 형식이어야 합니다.
https://<instance_name>.service-now.com/oauth_token.do
여기서
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의 전달자 토큰(JSON 웹 토큰)을 사용할 때
'JWT_BEARER'
.
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;