ALTER AUTHENTICATION POLICY

인증 정책 의 속성을 수정합니다.

참고 항목:

CREATE AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES

구문

ALTER AUTHENTICATION POLICY <name> RENAME TO <new_name>

ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> SET
  [ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ MFA_AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ MFA_ENROLLMENT = { REQUIRED | OPTIONAL } ]
  [ MFA_POLICY= ( ALLOWED_METHODS = ( { 'ALL' | 'PASSKEY' | 'TOTP' | 'DUO' } [ , { 'PASSKEY' | 'TOTP' | 'DUO' } ... ] ) ) ]
  [ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ PAT_POLICY = ( {list_of_properties} ) ]
  [ COMMENT = '<string_literal>' ]

ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> UNSET
  [ CLIENT_TYPES ]
  [ AUTHENTICATION_METHODS ]
  [ SECURITY_INTEGRATIONS ]
  [ MFA_AUTHENTICATION_METHODS ]
  [ MFA_ENROLLMENT ]
  [ MFA_POLICY ]
  [ PAT_POLICY ]
  [ COMMENT ]
Copy

매개 변수

name

변경할 인증 정책의 식별자를 지정합니다.

식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

RENAME TO ...

기존 인증 정책의 새 이름을 지정합니다.

SET ...

인증 정책을 위해 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).

AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )

로그인 중에 허용되는 인증 방법을 변경합니다. 이 매개 변수는 다음 값 중 하나 이상을 허용합니다.

조심

인증 방법으로 제한하면 드라이버 연결 또는 서드 파티 통합 차단 등 의도하지 않은 결과가 발생할 수 있습니다.

ALL

모든 인증 방법을 허용합니다.

SAML

SAML2 보안 통합 을 허용합니다. SAML 이 있으면 SSO 로그인 옵션이 나타납니다. SAML 이 없으면 SSO 로그인 옵션이 나타나지 않습니다.

PASSWORD

사용자가 사용자 이름과 비밀번호를 사용하여 인증할 수 있습니다.

OAUTH

External OAuth 를 허용합니다.

KEYPAIR

키 페어 인증 을 허용합니다.

PROGRAMMATIC_ACCESS_TOKEN

사용자가 프로그래밍 방식 액세스 토큰 으로 인증할 수 있도록 허용합니다.

기본값: ALL.

MFA_AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )

로그인 중에 다단계 인증(MFA)을 적용하는 인증 방법 목록입니다. 이 매개 변수에 나열되지 않은 인증 방법에서는 다단계 인증을 요구하지 않습니다.

다음 인증 방법은 MFA를 지원합니다.

  • SAML

  • PASSWORD

이 매개 변수는 다음 값 중 하나 이상을 허용합니다.

SAML

사용자가 MFA에 등록되어 있는 경우 SAML2 보안 통합 으로 인증할 때 사용자에게 MFA로 인증하라는 메시지가 표시됩니다.

PASSWORD

사용자가 MFA에 등록되어 있는 경우 사용자 이름과 비밀번호로 인증할 때 사용자에게 MFA로 인증하라는 메시지가 표시됩니다.

기본값: ('PASSWORD', 'SAML').

MFA_ENROLLMENT = { REQUIRED | OPTIONAL }

사용자가 다단계 인증에 등록해야 할지 여부를 변경합니다.

REQUIRED

사용자의 MFA 등록을 필수 사항으로 적용합니다. 이 값을 사용하는 경우 CLIENT_TYPES 매개 변수는 SNOWFLAKE_UI 를 포함해야 하는데, Snowsight 가 사용자가 다단계 인증(MFA)에 등록 할 수 있는 유일한 곳이기 때문입니다.

OPTIONAL

사용자는 MFA에 등록할지 여부를 선택할 수 있습니다.

기본값: REQUIRED.

MFA_POLICY= ( ALLOWED_METHODS = ( { 'ALL' | 'PASSKEY' | 'TOTP' | 'DUO' } [ , { 'PASSKEY' | 'TOTP' | 'DUO' } ... ] ) )

사용자가 인증의 두 번째 요소로 사용할 수 있는 다단계 인증(MFA) 방법을 지정합니다. 둘 이상의 방법을 지정할 수 있습니다.

ALL

사용자는 패스키, 인증자 앱 또는 Duo를 두 번째 인증 요소로 사용할 수 있습니다.

PASSKEY

사용자는 패스키를 두 번째 인증 요소로 사용할 수 있습니다.

TOTP

사용자는 인증자 앱을 두 번째 인증 요소로 사용할 수 있습니다.

DUO

사용자는 Duo를 두 번째 인증 요소로 사용할 수 있습니다.

CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )

Snowflake로 인증할 수 있는 클라이언트를 변경합니다.

클라이언트가 연결을 시도할 때 아래 목록에 있는 유효한 CLIENT_TYPES 값 중 하나가 아닌 경우 로그인 시도가 실패합니다.

MFA_ENROLLMENTREQUIRED 로 설정한 경우 사용자가 MFA 에 등록할 수 있도록 CLIENT_TYPES 목록에 SNOWFLAKE_UI 를 포함해야 합니다.

CLIENT_TYPES 목록에서 SNOWFLAKE_UI 를 제외하려면 MFA_ENROLLMENTOPTIONAL 로 설정해야 합니다.

The CLIENT_TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.

이 속성은 다음 값 중 하나 이상을 허용합니다.

ALL

모든 클라이언트의 인증을 허용합니다.

SNOWFLAKE_UI

Snowflake 웹 인터페이스인 Snowsight 또는 Classic Console

조심

If SNOWFLAKE_UI is not included in the CLIENT_TYPES list while MFA_ENROLLMENT is set to REQUIRED, or MFA_ENROLLMENT is unspecified, MFA enrollment doesn’t work.

DRIVERS

드라이버를 사용하면 지원되는 언어 로 작성된 애플리케이션에서 Snowflake에 액세스할 수 있습니다. 예를 들어 Go, JDBC, .NET 드라이버 및 Snowpipe Streaming 입니다.

조심

DRIVERSCLIENT_TYPES 목록에 포함되어 있지 않으면 자동 수집이 작동을 멈출 수 있습니다.

SNOWFLAKE_CLI

명령줄 클라이언트 를 통해 Snowflake에 연결하고 개발자 중심 워크로드 및 SQL 작업을 관리할 수 있습니다.

SNOWSQL

Snowflake에 연결하기 위한 명령줄 클라이언트 입니다.

클라이언트가 연결을 시도하는데 클라이언트가 유효한 CLIENT_TYPES 중 하나가 아닌 경우 로그인 시도가 실패합니다. CLIENT_TYPES 가 설정 해제된 경우 모든 클라이언트가 연결할 수 있습니다.

기본값: ALL.

SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )

인증 정책이 연결된 보안 통합을 변경합니다. SAML 또는 OAUTHAUTHENTICATION_METHODS 목록에 없으면 이 매개 변수는 아무런 효과도 없습니다.

SECURITY_INTEGRATIONS 목록의 모든 값은 AUTHENTICATION_METHODS 목록의 값과 호환되어야 합니다. 예를 들어, SECURITY_INTEGRATIONS 에 SAML 보안 통합이 포함되고 AUTHENTICATION_METHODSOAUTH 가 포함된 경우 인증 정책을 만들 수 없습니다.

ALL

모든 보안 통합을 허용합니다.

기본값: ALL.

PAT_POLICY = ( list_of_properties )

프로그래밍 방식 액세스 토큰 에 대한 정책을 지정합니다. 다음 속성 및 값 중 하나 이상의 공백으로 구분된 목록으로 설정합니다.

DEFAULT_EXPIRY_IN_DAYS = number_of_days

프로그래밍 방식 액세스 토큰의 기본 만료 시간(일)을 지정합니다. (MAX_EXPIRY_IN_DAYS 를 설정하여 지정할 수 있는) 1부터 최대 시간까지 값을 지정할 수 있습니다.

기본 만료 시간은 15일입니다.

자세한 내용은 기본 만료 시간 설정하기 섹션을 참조하십시오.

MAX_EXPIRY_IN_DAYS = number_of_days

프로그래밍 방식 액세스 토큰의 만료 시간으로 설정할 수 있는 최대 일수를 지정합니다. 1에서 365 사이의 값을 지정할 수 있습니다.

기본 최대 만료 시간은 365일입니다.

참고

만료 시간이 새로운 최대 만료 시간을 초과하는 기존 프로그래밍 방식 액세스 토큰이 있는 경우 해당 토큰으로 인증하려는 시도는 실패합니다.

예를 들어, 만료 시간이 7일인 my_token 이라는 프로그래밍 방식 액세스 토큰을 생성한다고 가정해 보겠습니다. 나중에 모든 토큰의 최대 만료 시간을 2일로 변경하는 경우 토큰의 만료 시간이 새 최대 만료 시간을 초과하므로 my_token 으로 인증하는 데 실패합니다.

자세한 내용은 최대 만료 시간 설정하기 섹션을 참조하십시오.

NETWORK_POLICY_EVALUATION = { ENFORCED_REQUIRED | ENFORCED_NOT_REQUIRED | NOT_ENFORCED }

프로그래밍 방식 액세스 토큰에 대한 네트워크 정책 요구 사항을 처리하는 방법을 지정합니다.

기본적으로 사용자는 하나 이상의 네트워크 규칙 이 있는 네트워크 정책 에 따라 프로그래밍 방식 액세스 토큰을 생성하거나 사용해야 합니다.

  • 서비스 사용자(TYPE = SERVICE)는 네트워크 정책에 따라 프로그래밍 방식 액세스 토큰을 생성하고 사용해야 합니다.

  • 인간 사용자(TYPE = PERSON)는 네트워크 정책에 따라 프로그래밍 방식 액세스 토큰을 사용해야 합니다.

이 동작을 재정의하려면 이 속성을 다음 값 중 하나로 설정합니다.

ENFORCED_REQUIRED (기본 동작)

사용자는 네트워크 정책에 따라 프로그래밍 방식 액세스 토큰을 생성하고 사용해야 합니다.

사용자가 네트워크 정책을 따라야 하는 경우 인증 중에 네트워크 정책이 적용됩니다.

ENFORCED_NOT_REQUIRED

사용자가 네트워크 정책에 따라 프로그래밍 방식 액세스 토큰을 생성하고 사용할 필요가 없습니다.

사용자가 네트워크 정책을 따라야 하는 경우 인증 중에 네트워크 정책이 적용됩니다.

NOT_ENFORCED

사용자가 네트워크 정책에 따라 프로그래밍 방식 액세스 토큰을 생성하고 사용할 필요가 없습니다.

사용자가 네트워크 정책에 따라야 하는 경우 인증 중에는 네트워크 정책이 적용되지 않습니다.

예:

PAT_POLICY=(
  DEFAULT_EXPIRY_IN_DAYS=30
  MAX_EXPIRY_IN_DAYS=365
  NETWORK_POLICY_EVALUATION = ENFORCED_NOT_REQUIRED
);
Copy
COMMENT = 'string_literal'

인증 정책에 대한 설명을 변경합니다.

UNSET ...

인증 정책에 대해 설정 해제할 속성을 지정하여 다시 기본값으로 재설정합니다.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

OWNERSHIP

인증 정책

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

인증 정책에서 허용된 클라이언트 목록을 변경합니다.

ALTER AUTHENTICATION POLICY restrict_client_types_policy SET CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL');
Copy