ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN

ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT)

프로그래매틱 액세스 토큰(programmatic access token)을 회전시켜, 확장된 만료 시간을 가진 새 토큰 비밀을 생성하고 기존 토큰 비밀을 만료시키는 명령이에요. 새 비밀은 토큰을 처음 만들 때 설정된 DAYS_TO_EXPIRY 속성을 사용해 생성돼요.

출처: 문서

본문

참고: 같은 사용자에 대한 프로그래매틱 액세스 토큰을 인증에 사용한 세션에서는 프로그래매틱 액세스 토큰을 회전시킬 수 없어요.

관련 명령: ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN (PAT), ALTER USER … MODIFY PROGRAMMATIC ACCESS TOKEN (PAT), ALTER USER … REMOVE PROGRAMMATIC ACCESS TOKEN (PAT), SHOW USER PROGRAMMATIC ACCESS TOKENS

구문 (Syntax)

ALTER USER [ IF EXISTS ] [ <username> ] ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } [ IF EXISTS ] <token_name>
  [ EXPIRE_ROTATED_TOKEN_AFTER_HOURS = <integer> ]

매개변수 (Parameters)

username — 토큰과 연결되는 사용자의 이름이에요. 이 매개변수를 생략하면 명령은 현재 로그인한 사용자(현재 세션의 활성 사용자)의 토큰을 회전시켜요.

ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } token_name — 지정된 이름의 프로그래매틱 액세스 토큰을 회전시켜요. PAT 키워드는 PROGRAMMATIC ACCESS TOKEN 키워드를 짧게 지정하는 방법으로 사용할 수 있어요.

IF EXISTS — 지정된 이름의 토큰이 사용자에게 있을 때만 프로그래매틱 액세스 토큰을 회전시켜요. 그 이름의 토큰이 없으면 명령은 오류 대신 아무 작업도 하지 않고 성공적으로 완료돼요.

EXPIRE_ROTATED_TOKEN_AFTER_HOURS = integer — 기존 토큰 비밀을 지정된 시간(시간) 후에 만료되도록 설정해요. 0으로 설정하면 현재 토큰 비밀을 즉시 만료시킬 수 있어요. 현재 비밀이 만료되기까지 남은 시간 범위 내의 값으로 설정할 수 있어요.

기본값: 24

접근 제어 요구사항 (Access control requirements)

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요:

권한 객체 설명
MODIFY PROGRAMMATIC AUTHENTICATION METHODS User 자신이 아닌 다른 사람 사용자나 서비스 사용자에 대해 프로그래매틱 액세스 토큰을 회전시킬 때만 필요해요.

지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.

보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.

출력 (Output)

명령 출력은 다음 열로 회전된 프로그래매틱 액세스 토큰에 대한 정보를 제공해요:

설명
token_name 회전된 토큰의 이름.
token_secret 토큰 자체. 엔드포인트 인증에 사용해요. 참고: 토큰은 ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN 명령의 출력에만 나타나요. 다른 SQL 명령이나 함수는 토큰을 출력하거나 반환하지 않아요. 이 토큰에 프로그래매틱하게 접근해야 한다면 이 명령을 실행하고 반환된 결과에서 토큰을 검색하면 돼요.
rotated_token_name 이전 비밀을 나타내는 토큰의 이름. 이 토큰 객체로 이전 비밀이 얼마나 오래 유효한지 확인할 수 있어요. 필요하면 토큰을 만료시킬 수도 있어요. 이 토큰에는 다른 유형의 변경을 할 수 없어요. 이 토큰 객체는 사용자당 허용되는 최대 토큰 수에 포함된다는 점에 주의해요.

사용 메모 (Usage notes)

프로그래매틱 액세스 토큰을 회전시킬 때:

  • Snowflake는 네트워크 정책인증 정책 요구사항이 충족되는지 확인하지 않아요.
  • 프로그래매틱 액세스 토큰이 역할로 제한되어 있으면, Snowflake는 토큰과 연결된 사용자에게 그 역할이 부여되었는지 확인하지 않아요.

예시 (Examples)

사용자 example_user와 연결된 프로그래매틱 액세스 토큰을 회전시켜요.

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name;

사용자 example_user와 연결된 프로그래매틱 액세스 토큰을 회전시키고 기존 토큰 비밀을 즉시 만료시켜요.

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name
  EXPIRE_ROTATED_TOKEN_AFTER_HOURS=0;

더 알아보기 (Learn more)