ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN (PAT)¶
사용자에 대한 프로그래밍 방식 액세스 토큰 을 생성합니다.
- 참고 항목:
ALTER USER … MODIFY PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … REMOVE PROGRAMMATIC ACCESS TOKEN (PAT) , SHOW USER PROGRAMMATIC ACCESS TOKENS
구문¶
ALTER USER [ IF EXISTS ] [ <username> ] ADD { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
[ ROLE_RESTRICTION = '<string_literal>' ]
[ DAYS_TO_EXPIRY = <integer> ]
[ MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = <integer> ]
[ COMMENT = '<string_literal>' ]
필수 매개 변수¶
ADD { PROGRAMMATIC ACCESS TOKEN | PAT } token_name
지정된 이름의 프로그래밍 방식 액세스 토큰을 생성합니다.
PROGRAMMATIC ACCESS TOKEN 키워드를 더 짧게 지정하는 방법으로 PAT 키워드를 사용할 수 있습니다.
선택적 매개 변수¶
username
토큰이 연결된 사용자의 이름입니다. 사용자는 다른 사용자의 프로그래밍 방식 액세스 토큰을 사용하여 인증할 수 없습니다.
사용자를 대신하여 프로그래밍 방식 액세스 토큰을 만들려면 관리자는 ALTER USER 명령에 해당 사용자의 이름을 지정해야 합니다.
username
을 생략하면 이 명령은 현재 로그인한 사용자(이 세션의 활성 사용자)에 대한 프로그래밍 방식 액세스 토큰을 생성합니다.ROLE_RESTRICTION = 'string_literal'
권한 평가 및 오브젝트 생성에 사용되는 역할의 이름입니다. 사용자에게 이미 부여된 역할 중 하나이어야 합니다.
참고
사용자가 서비스 사용자인 경우(USER 오브젝트에 TYPE = SERVICE 가 있는 경우) 이 매개 변수가 필수적입니다.
이 토큰을 인증에 사용하면 생성하는 모든 오브젝트가 이 역할에 의해 소유되며, 이 역할은 권한 평가에 사용됩니다.
참고
사용자에 대해 DEFAULT_SECONDARY_ROLES 가 (‘ALL’)로 설정되어 있어도 보조 역할은 사용되지 않습니다.
프로그래밍 방식 액세스 토큰과 연결된 사용자로부터 이 역할이 취소되면 토큰을 인증에 사용하려는 모든 시도가 실패합니다.
참고
역할을 ROLE_RESTRICTION 값으로 지정해도 프로그래밍 방식 액세스 토큰에 지정된 역할이 부여되지 않습니다. 사용자에게 이미 이 역할이 부여되어 있어야 합니다.
(기본 역할 및 보조 역할을 통한 승인 에 설명된 대로) ROLE_RESTRICTION 을 생략하는 경우 생성하는 모든 오브젝트는 기본 역할이 소유하며 기본 및 보조 역할에 대해 권한이 평가됩니다.
DAYS_TO_EXPIRY = integer
프로그래밍 방식 액세스 토큰을 인증에 사용할 수 있는 일수입니다.
1
~ 최대 만료 시간 범위의 값을 지정할 수 있습니다.기본값:
15
MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = integer
사용자가 활성 네트워크 정책 의 적용을 받지 않고 이 토큰을 사용하여 Snowflake에 액세스할 수 있는 시간(분)입니다.
어떤 개인이 네트워크 정책의 적용을 받지 않지만 인증을 위해 프로그래밍 방식 액세스 토큰을 사용해야 하는 경우 해당 개인(USER 오브젝트에 TYPE = PERSON 이 있는 경우)의 토큰에 대해 이 값을 설정할 수 있습니다. 네트워크 정책 요구 사항 섹션을 참조하십시오.
참고
MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT 를 설정하면 사용자가 네트워크 정책 자체를 우회할 수 없게 됩니다.
이 매개 변수를
1
~1440
(1일) 범위의 값으로 설정할 수 있습니다.기본값:
0
COMMENT = 'string_literal'
프로그래밍 방식 액세스 토큰에 대한 설명입니다. 이 설명은 Snowsight 의 프로그래밍 방식 액세스 토큰 목록 에 표시됩니다.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
MODIFY PROGRAMMATIC AUTHENTICATION METHODS |
사용자 |
본인 이외의 사용자를 위한 프로그래밍 방식 액세스 토큰을 생성할 때만 필요합니다. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
출력¶
명령 출력은 다음 열에 새로 생성된 프로그래밍 방식 액세스 토큰에 대한 정보를 제공합니다.
열 |
설명 |
---|---|
|
생성된 토큰의 이름입니다. |
|
토큰 자체입니다. 엔드포인트에 인증할 때 사용합니다. 참고 이 토큰은 ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN 명령의 출력에만 나타납니다. 다른 SQL 명령이나 함수는 토큰을 인쇄 출력하거나 반환하지 않습니다. 프로그래밍 방식으로 이 토큰에 액세스해야 하는 경우 Snowflake Scripting 을 사용하여 이 명령을 실행하고 RESULTSET 에서 토큰을 검색할 수 있습니다. |
사용법 노트¶
각 사용자는 최대 15개의 프로그래밍 방식 액세스 토큰을 보유할 수 있습니다.
이 수에는 비활성화된 토큰 이 포함됩니다.
만료된 토큰은 이 수에 포함되지 않습니다.
예¶
사용자 example_user
와 연결된 example_token
이라는 프로그래밍 방식 액세스 토큰을 생성하고 연결된 사용자로부터 모든 권한을 상속합니다.
ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
COMMENT = 'a reference example';
사용자 example_user
와 연결되고 역할 example_role
에서 모든 권한을 상속하며 15일 후에 만료되는 example_token
이라는 프로그래밍 방식 액세스 토큰을 만듭니다.
ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
ROLE_RESTRICTION = 'example_role'
DAYS_TO_EXPIRY = 15;