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>' ]
Copy

필수 매개 변수

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 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

출력

명령 출력은 다음 열에 새로 생성된 프로그래밍 방식 액세스 토큰에 대한 정보를 제공합니다.

설명

token_name

생성된 토큰의 이름입니다.

token_secret

토큰 자체입니다. 엔드포인트에 인증할 때 사용합니다.

참고

이 토큰은 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';
Copy

사용자 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;
Copy