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> ) ] [ WORKLOAD_IDENTITY_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 ] [ WORKLOAD_IDENTITY_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

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

WORKLOAD_IDENTITY

사용자가 워크로드 ID 페더레이션 을 통해 인증할 수 있도록 허용합니다.

기본값: 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. Notably, it does not restrict access to the Snowflake REST APIs..

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

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

프로그래밍 방식 액세스 토큰의 만료 시간에 대해 설정할 수 있는 최대 일수를 지정합니다. DEFAULT_EXPIRY_IN_DAYS를 설정하여 기본 만료 시간에서 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
WORKLOAD_IDENTITY_POLICY = ( list_of_properties )

워크로드 ID 페더레이션 에 대한 정책을 지정합니다. 이 정책을 다음 속성 및 값 중 하나 이상을 포함하는 공백으로 구분된 목록으로 설정합니다.

ALLOWED_PROVIDERS = ( { ALL | AWS | AZURE | GCP | OIDC } [ , { AWS | AZURE | GCP | OIDC } ... ] )

워크로드 ID 인증 중에 인증 정책에서 허용하는 워크로드 ID 공급자를 지정합니다. 이 매개 변수를 생략하면 모든 워크로드 ID 공급자가 허용됩니다.

ALL

사용자를 지원되고 구성된 워크로드 ID 공급자로 인증할 수 있습니다.

AWS

사용자는 AWS IAM 역할 또는 사용자로 인증할 수 있습니다.

AZURE

사용자는 Azure Entra ID 액세스 토큰으로 인증할 수 있습니다.

GCP

사용자는 Google 서명 ID 토큰으로 인증할 수 있습니다.

OIDC

사용자는 구성된 OIDC 공급자의 ID 토큰으로 인증할 수 있습니다.

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

AWS 유형의 워크로드 ID 인증 중에 인증 정책에서 허용하는 AWS 계정 IDs의 목록을 지정합니다.

기본적으로 Snowflake 서비스 사용자에게 AWS 유형의 WORKLOAD_IDENTITY 가 있는 경우 ARN은 어떤 AWS 계정도 참조할 수 있습니다. 이 매개 변수가 설정되면 지정된 AWS 계정 IDs의 ARNs만 인증에 사용할 수 있습니다.

각 요소는 AWS 계정 ID를 나타내는 12자리 문자열이어야 합니다.

자세한 내용은 `AWS 계정 식별자 보기<https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html>`_ 를 참조하세요.

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

AZURE 유형의 워크로드 ID 인증 중에 인증 정책에서 허용되는 Azure Entra ID 발급자의 목록을 지정합니다.

기본적으로 Snowflake 서비스 사용자에게 AZURE 유형의 WORKLOAD_IDENTITY 가 있는 경우 발급자는 어떤 Entra ID 테넌트도 될 수 있습니다. 이 매개 변수를 설정하면 지정된 발급자의 Azure 토큰만 인증에 사용할 수 있습니다.

각 요소는 다음 형식의 유효한 기관 URL이어야 합니다.

  • https://login.microsoftonline.com/tenantId/v2.0

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

OIDC 유형의 워크로드 ID 인증 중에 인증 정책에서 허용하는 OIDC 발급자 목록을 지정합니다.

기본적으로 Snowflake 서비스 사용자에게 OIDC 유형의 WORKLOAD_IDENTITY 가 있는 경우 발급자는 어떤 유효한 OIDC 발급자도 될 수 있습니다. 이 매개 변수를 설정하면 지정된 OIDC 발급자의 토큰만 인증에 사용할 수 있습니다.

각 요소는 스키마, 호스트, 그리고 선택적으로 포트 번호와 경로 구성 요소를 포함하지만 쿼리 또는 조각 구성 요소는 포함하지 않는 유효한 HTTPS URL이어야 합니다. URL은 공백을 포함할 수 없으며 길이는 2,048자를 초과할 수 없습니다.

예:

WORKLOAD_IDENTITY_POLICY=( ALLOWED_PROVIDERS = (AWS, AZURE, GCP, OIDC) ALLOWED_AWS_ACCOUNTS = ('123456789012', '210987654321') ALLOWED_AZURE_ISSUERS = ('https://login.microsoftonline.com/8c7832f5-de56-4d9f-ba94-3b2c361abe6b/v2.0', 'https://login.microsoftonline.com/9ebd1ec9-9a78-4429-8f53-5cf870a812d1/v2.0') ALLOWED_OIDC_ISSUERS = ('https://my.custom.oidc.issuer/', 'https://another.custom/oidc/issuer') ); 
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