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 ]
매개 변수¶
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_ENROLLMENT
를REQUIRED
로 설정한 경우 사용자가 MFA 에 등록할 수 있도록CLIENT_TYPES
목록에SNOWFLAKE_UI
를 포함해야 합니다.CLIENT_TYPES
목록에서SNOWFLAKE_UI
를 제외하려면MFA_ENROLLMENT
를OPTIONAL
로 설정해야 합니다.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 theCLIENT_TYPES
list whileMFA_ENROLLMENT
is set toREQUIRED
, orMFA_ENROLLMENT
is unspecified, MFA enrollment doesn’t work.DRIVERS
드라이버를 사용하면 지원되는 언어 로 작성된 애플리케이션에서 Snowflake에 액세스할 수 있습니다. 예를 들어 Go, JDBC, .NET 드라이버 및 Snowpipe Streaming 입니다.
조심
DRIVERS
가CLIENT_TYPES
목록에 포함되어 있지 않으면 자동 수집이 작동을 멈출 수 있습니다.SNOWFLAKE_CLI
명령줄 클라이언트 를 통해 Snowflake에 연결하고 개발자 중심 워크로드 및 SQL 작업을 관리할 수 있습니다.
SNOWSQL
Snowflake에 연결하기 위한 명령줄 클라이언트 입니다.
클라이언트가 연결을 시도하는데 클라이언트가 유효한
CLIENT_TYPES
중 하나가 아닌 경우 로그인 시도가 실패합니다.CLIENT_TYPES
가 설정 해제된 경우 모든 클라이언트가 연결할 수 있습니다.기본값:
ALL
.SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
인증 정책이 연결된 보안 통합을 변경합니다.
SAML
또는OAUTH
가AUTHENTICATION_METHODS
목록에 없으면 이 매개 변수는 아무런 효과도 없습니다.SECURITY_INTEGRATIONS
목록의 모든 값은AUTHENTICATION_METHODS
목록의 값과 호환되어야 합니다. 예를 들어,SECURITY_INTEGRATIONS
에 SAML 보안 통합이 포함되고AUTHENTICATION_METHODS
에OAUTH
가 포함된 경우 인증 정책을 만들 수 없습니다.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 );
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 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
기존 인증 정책을 업데이트하고 정책의 정의를 확인해야 할 경우 DESCRIBE AUTHENTICATION POLICY 명령 또는 GET_DDL 함수를 실행하십시오.
예¶
인증 정책에서 허용된 클라이언트 목록을 변경합니다.
ALTER AUTHENTICATION POLICY restrict_client_types_policy SET CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL');