비밀번호 사용하기¶
이 도움말 항목에서는 관리자가 비밀번호 요구 사항을 구성하고 사용자 비밀번호를 재설정하는 방법에 대해 설명합니다.
비밀번호 정책¶
비밀번호 정책에서는 Snowflake에 인증하기 위해 비밀번호를 만들고 재설정하기 위해 충족해야 하는 요구 사항을 지정합니다.
Snowflake는 비밀번호 정책에 대해 다음 두 가지 옵션을 제공합니다.
초기 사용자 프로비저닝 프로세스를 용이하게 해주는 기본 제공 비밀번호 정책.
사용 사례와 사용자 관리자의 필요에 따라 Snowflake 계정, 개별 사용자 또는 둘 모두의 수준에서 설정할 수 있는 스키마 수준 비밀번호 정책 오브젝트.
비밀번호 정책과 비밀번호에 대한 모범 사례¶
Snowflake에서는 비밀번호와 비밀번호 정책에 관해 다음 모범 사례를 권장합니다.
- 사용자 지정 비밀번호 정책 생성 및 적용하기
비밀번호 정책이 계정이나 사용자에 대해 설정되면 비밀번호 정책 오브젝트가 적용됩니다.
이러한 속성을 내부 보안 요구 사항을 충족하는 값으로 설정합니다. 자세한 내용은 이 항목의 4단계: 비밀번호 정책 만들기 섹션을 참조하십시오.
사용자가 비밀번호를 너무 자주 재사용하지 못하도록 하고 사용자의 비밀번호를 알아내기 위한 무차별 대입 공격 방지에 도움이 되는
PASSWORD_HISTORY
.사용자에게 새 비밀번호를 사용하도록 요구하는
PASSWORD_MIN_AGE_DAYS
. 사용자가 비밀번호를 변경하여 비밀번호 기록을 소진하고 원래 비밀번호 값을 너무 빨리 재사용할 수 있으므로 값을 0으로 설정하지는 않는 것이 좋습니다.
사용자가 Snowflake에 처음 로그인하거나 다음에 로그인할 때 비밀번호 정책을 충족하는 비밀번호로 변경해야 하도록 하려면 ALTER USER 명령을 사용하여 사용자에 대한
MUST_CHANGE_PASSWORD
속성을TRUE
로 설정하십시오.자세한 내용은 이 항목의 6단계: 비밀번호 변경 요구 섹션을 참조하십시오.
- 강력한 비밀번호 요구하기
강력한 비밀번호를 요구하도록 계정 수준 비밀번호 정책을 정의합니다.
강력한 비밀번호는 8자 이상이고 대문자와 소문자, 특수 문자(예:
!
,*
), 숫자의 조합을 포함하는 비밀번호입니다.- MFA
보안을 보강하려면 다단계 인증(MFA) 을 사용하십시오.
- SCIM 사용하기
SCIM API 요청에서 사용자가 Snowflake에 액세스하기 위한 비밀번호를 설정할 수 있습니다. SCIM 관리자와 사용자 관리자는 ID 공급자 또는 Snowflake의 비밀번호 정책 사용에서 Snowflake에 액세스하기 위한 사용자 비밀번호를 관리하도록 선택해야 합니다.
현재, SCIM으로 Snowflake에 프로비저닝된 사용자는 기본 Snowflake 비밀번호 정책 을 충족하는 비밀번호가 있어야 합니다. 이 비밀번호 정책 기능을 사용하도록 선택하면 이 요구 사항을 무시할 수 있습니다.
기본 비밀번호 정책 요구 사항을 무시하려면 이 항목의 비밀번호 정책 사용하기 섹션에 있는 지침을 따르십시오.
- 비밀번호 모니터링하기
비밀번호 모니터링 방법:
Snowflake Account Usage USERS 뷰를 쿼리하여
HAS_PASSWORD
열 값이 지정된 사용자에 대해TRUE
를 반환하는지 확인합니다.Snowflake Account Usage LOGIN_HISTORY 뷰를 쿼리하고
FIRST_AUTHENTICATION_FACTOR
열을 평가합니다. 사용자가 Snowflake에 액세스하는 데 비밀번호가 필요하지 않은 경우 ALTER USER 명령을 실행하여password
속성을 NULL로 설정합니다.
Snowflake에서 제공하는 비밀번호 정책¶
비밀번호는 최대 256자의 대/소문자를 구분하는 문자열이며, 느낌표(!
), 퍼센트 기호(%
), 별표(*
) 등 특수(즉, 영숫자가 아닌) 문자와 공백을 포함할 수 있습니다.
초기 사용자 생성 중에는 아래에서 설명되는 최소 요구 사항(예: 'test12345'
)을 충족하지 않는 약한 사용자 비밀번호를 설정할 수 있습니다. 이 기능을 통해 관리자는 생성 프로세스 중에 사용자에게 일반 비밀번호를 사용할 수 있습니다. 이러한 방식을 사용하는 경우에는 MUST_CHANGE_PASSWORD
속성을 TRUE
로 설정하여 최초 로그인을 포함하여 Snowflake에 다음에 로그인할 때 사용자가 비밀번호를 변경하도록 요구하는 것이 매우 좋습니다.
또한, Snowflake는 초기 비밀번호가 없는 사용자를 생성하여 사용자가 시스템에 로그인하는 것을 허용하지 않는 비즈니스 프로세스를 지원합니다. 이러한 경우 사용자의 PASSWORD
속성 값은 NULL
이 됩니다. 그러나 일반적으로 Snowflake에서는 초기 비밀번호가 설정된 사용자를 생성하는 것이 좋습니다.
기존 비밀번호 재설정 (예: 'test12345'
를 'q@-*DaC2yjZoq3Re4JYX'
로 변경) 시, Snowflake는 ALTER USER 명령 및 웹 인터페이스를 사용할 때 다음 비밀번호 정책을 최소 요구 사항으로 적용합니다.
길이가 8자 이상이어야 합니다.
숫자가 1개 이상 포함되어야 합니다.
대문자 1개 및 소문자 1개가 포함되어야 합니다.
가장 강력한 비밀번호를 생성하기 위해 Snowflake가 매우 권장하는 가이드라인은 다음과 같습니다.
Snowflake에서만 사용하는 고유 비밀번호(즉, 다른 시스템 또는 계정의 비밀번호를 재사용하지 않음)를 만듭니다.
8자를 초과하는 길이를 사용합니다.
대/소문자, 숫자 및 특수 문자(공백 포함)를 여러 개 임의로 혼합하여 사용합니다.
쉽게 추측할 수 있는 일반적인 비밀번호, 이름, 숫자 또는 날짜를 사용하지 않습니다.
마지막으로 최상의 사용자 로그인 보안 수준을 구성할 수 있도록 Snowflake는 사용자가 MFA에 등록 하는 것을 권장합니다.
계정과 사용자에 대한 사용자 지정 비밀번호 정책¶
사용자 지정 비밀번호 정책은 비밀번호를 올바로 입력하려는 시도 횟수와 다른 비밀번호로 재시도하기 위해 기다려야 하는 시간인 “계정 차단” 시간(분)을 포함하여, Snowflake에 인증하기 위해 비밀번호를 만들고 재설정하려면 충족해야 하는 요구 사항을 지정하는 스키마 수준 오브젝트입니다.
비밀번호에 대한 비밀번호 정책 요구 사항에는 사용자와 클라이언트가 Snowflake에 인증하기 위한 보안 요구 사항을 충족하는 대문자 또는 소문자, 특수 문자, 숫자, 비밀번호 길이가 포함됩니다. 강력한 비밀번호를 요구하는 비밀번호 정책은 보안 지침과 규정을 준수하는 데 도움이 됩니다.
Snowflake는 Snowflake 계정과 개별 사용자에 대한 비밀번호 정책 설정을 지원합니다. Snowflake 계정 또는 사용자에 대해 지정된 시간에 비밀번호 정책을 하나만 설정할 수 있습니다. Snowflake 계정에 대한 비밀번호 정책이 있고 동일한 Snowflake 계정의 사용자에 대해 다른 비밀번호 정책이 설정된 경우 사용자 수준 비밀번호 정책이 계정 수준 비밀번호 정책보다 우선합니다.
비밀번호 정책은 Snowflake 계정에 설정된 새 비밀번호에 적용됩니다. 기존 비밀번호를 가진 사용자가 비밀번호 정책 요구 사항을 충족하도록 하려면 이 항목의 6단계: 비밀번호 변경 요구 에 나타낸 것처럼 다음에 Snowflake에 로그인할 때 사용자가 비밀번호를 변경해야 하도록 하십시오.
참고
대부분의 비밀번호 정책 속성 변경은 사용자가 다음에 비밀번호를 변경할 때 적용됩니다. 예를 들어, 사용자가 더 긴 비밀번호를 사용하도록 하기 위해 PASSWORD_MAX_LENGTH
속성을 10
에서 16
으로 변경하는 경우 사용자는 비밀번호를 변경할 때마다 비밀번호 정책 변경 사항을 준수해야 합니다. 사용자 속성 MUST_CHANGE_PASSWORD
를 ALTER USER 문과 함께 TRUE
로 설정하여 사용자가 다음에 Snowflake에 로그인할 때 비밀번호를 변경하도록 할 수 있습니다.
그러나 일부 비밀번호 정책 속성 변경 사항은 다음번에 로그인할 때 적용되며, 이는 Snowflake가 현재 세션에서 사용자에게 비밀번호를 강제로 변경하도록 하지 않기 때문입니다.
PASSWORD_MAX_AGE_DAYS = integer
PASSWORD_MAX_RETRIES = integer
PASSWORD_LOCKOUT_TIME_MINS = integer
이러한 속성을 변경해도 현재 세션에는 영향을 미치지 않습니다. 예를 들어, PASSWORD_MAX_AGE_DAYS
속성 값을 변경해도 사용자의 현재 비밀번호는 만료되지 않습니다. 하지만 Snowflake에 다시 로그인할 때 사용자는 비밀번호를 변경해야 합니다.
고려 사항¶
비밀번호 정책에 대한 향후 권한 부여 는 지원되지 않습니다.
해결 방법으로 APPLY PASSWORD POLICY 권한을 사용자 지정 역할에 부여하여 해당 역할이 사용자 또는 Snowflake 계정에 비밀번호 정책을 적용하도록 허용하십시오.
비밀번호 정책은 SnowSQL 또는 지원되는 드라이버나 커넥터 를 사용하거나, 또는 Worksheets 에서 Classic Console 또는 Snowsight 를 사용하여 SQL 로 관리할 수 있습니다.
-
Classic Console, SnowSQL 및 지원되는 커넥터와 드라이버:
ALTER USER 명령을 실행하거나 Classic Console 를 사용하여 비밀번호를 재설정하거나 변경할 때, Snowflake는 비밀번호 정책을 평가하여 새로 생성된 비밀번호가 비밀번호 정책 요구 사항에 부합하는지 확인합니다.
비밀번호 정책 사용 추적:
Account Usage PASSWORD_POLICIES 뷰를 쿼리하여 Snowflake 계정의 각 비밀번호 정책에 대한 행을 반환합니다.
Information Schema 테이블 함수 POLICY_REFERENCES 를 사용하여 지정된 비밀번호 정책에 할당된 각 사용자에 대한 행과 Snowflake 계정에 할당된 비밀번호 정책에 대한 행을 반환합니다.
현재, 비밀번호 정책에는 다음 구문만 지원됩니다.
POLICY_REFERENCES( POLICY_NAME => '<password_policy_name>' )
여기서
password_policy_name
은 비밀번호 정책의 정규화된 이름입니다.예를 들어, 다음 쿼리를 실행하여
my_db
라는 데이터베이스와my_schema
라는 스키마에 저장되는password_policy_prod_1
이라는 비밀번호 정책이 할당된 각 사용자에 대한 행을 반환합니다.SELECT * FROM TABLE( my_db.information_schema.policy_references( POLICY_NAME => 'my_db.my_schema.password_policy_prod_1' ) );
비밀번호 정책에 대한 액세스 제어¶
다음 액세스 제어 권한을 통해 사용자는 비밀번호 정책으로 작업할 수 있습니다.
권한 |
오브젝트 타입 |
사용법 |
---|---|---|
CREATE PASSWORD POLICY |
스키마 |
새 비밀번호 정책을 생성할 수 있습니다. |
APPLY PASSWORD POLICY |
계정, 사용자 |
계정 또는 사용자 수준에서 비밀번호 정책을 적용할 수 있습니다. |
OWNERSHIP |
비밀번호 정책 |
비밀번호 정책에 대한 모든 권한을 부여합니다. 비밀번호 정책의 대부분 속성을 변경하려면 필요합니다. |
다음 테이블에는 비밀번호 정책 DDL 작업과 필요한 권한 간의 관계가 요약되어 있습니다.
작업 |
필요한 권한 |
---|---|
비밀번호 정책 만들기 |
비밀번호 정책을 저장하기 위해 스키마에 대한 CREATE PASSWORD POLICY 권한을 보유한 역할. |
비밀번호 정책 변경 |
비밀번호 정책에 대한 OWNERSHIP 권한을 보유한 역할. |
비밀번호 정책 삭제 |
비밀번호 정책에 대한 OWNERSHIP 권한을 보유한 역할. |
비밀번호 정책 설명 |
비밀번호 정책에 대한 OWNERSHIP 권한 또는 . 계정에 대한 APPLY PASSWORD POLICY 권한을 보유한 역할. |
비밀번호 정책 표시 |
비밀번호 정책에 대한 OWNERSHIP 권한 또는 . 계정에 대한 APPLY PASSWORD POLICY 권한을 보유한 역할. |
비밀번호 정책 설정 및 설정 해제 |
계정 또는 사용자에 대한 APPLY PASSWORD POLICY 권한을 보유한 역할. |
참고
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
DDL 명령¶
Snowflake는 비밀번호 정책 오브젝트를 관리하기 위해 다음 DDL 명령을 제공합니다.
비밀번호 정책 사용하기¶
다음 단계는 Snowflake에서 비밀번호 정책을 정의하고 설정하는 대표적인 가이드입니다.
이러한 단계에서는 policy_admin
으로 명명된 사용자 지정 역할이 비밀번호 정책을 소유하고(즉, 비밀번호 정책에 대한 OWNERSHIP 권한이 있고) 계정 또는 사용자에 대한 비밀번호 정책 설정을 담당하는(즉, 2단계 에 나와 있듯이, 전역 APPLY PASSWORD POLICY 권한을 가진) 중앙 집중식 관리 접근 방식을 가정합니다.
참고
계정에 대해 정책을 설정하려면 policy_admin
사용자 지정 역할에 비밀번호 정책이 포함된 데이터베이스와 스키마에 대한 USAGE 권한도 있어야 합니다.
자세한 내용은 액세스 제어 권한 섹션을 참조하십시오.
1단계: 사용자 지정 역할 만들기¶
비밀번호 정책 생성과 관리를 허용하는 사용자 지정 역할을 만듭니다. 이 항목 전체에서 예시로 드는 사용자 지정 역할에 알맞은 이름을 지정할 수도 있겠지만, 여기서는 policy_admin
이라고 합니다.
사용자 지정 역할이 이미 있는 경우 다음 단계로 계속 진행하십시오.
그렇지 않으면, policy_admin
사용자 지정 역할을 만드십시오.
USE ROLE USERADMIN; CREATE ROLE policy_admin;
2단계: 사용자 지정 역할에 권한 부여¶
policy_admin
사용자 지정 역할에 아직 다음 권한이 없는 경우, 아래에 나타낸 것처럼 권한을 부여합니다.
비밀번호 정책을 포함할 데이터베이스와 스키마에 대한 USAGE 권한.
비밀번호 정책을 저장할 스키마에 대한 CREATE PASSWORD POLICY 권한.
계정에 대한 APPLY PASSWORD POLICY 권한
USE ROLE SECURITYADMIN;
GRANT USAGE ON DATABASE security TO ROLE policy_admin;
GRANT USAGE ON SCHEMA security.policies TO ROLE policy_admin;
GRANT CREATE PASSWORD POLICY ON SCHEMA security.policies TO ROLE policy_admin;
GRANT APPLY PASSWORD POLICY ON ACCOUNT TO ROLE policy_admin;
사용자에 대한 비밀번호 정책을 설정하기로 결정한 경우 사용자에 대한 APPLY PASSWORD POLICY 권한을 부여하십시오. 예를 들어 사용자 이름이 JSMITH
인 경우 다음 명령을 실행하십시오.
GRANT APPLY PASSWORD POLICY ON USER jsmith TO ROLE policy_admin;
자세한 내용은 비밀번호 정책에 대한 액세스 제어 섹션을 참조하십시오.
3단계: 사용자에게 사용자 지정 역할 부여¶
비밀번호 정책 관리 책임이 있는 사용자에게 policy_admin
사용자 지정 역할을 부여합니다.
USE ROLE SECURITYADMIN;
GRANT ROLE policy_admin TO USER jsmith;
자세한 내용은 액세스 제어 구성하기 섹션을 참조하십시오.
4단계: 비밀번호 정책 만들기¶
policy_admin
사용자 지정 역할을 사용하여 password_policy_prod_1
이라는 비밀번호 정책을 만듭니다. 자세한 내용은 CREATE PASSWORD POLICY 섹션을 참조하십시오.
USE ROLE policy_admin; USE SCHEMA security.policies; CREATE PASSWORD POLICY PASSWORD_POLICY_PROD_1 PASSWORD_MIN_LENGTH = 14 PASSWORD_MAX_LENGTH = 24 PASSWORD_MIN_UPPER_CASE_CHARS = 2 PASSWORD_MIN_LOWER_CASE_CHARS = 2 PASSWORD_MIN_NUMERIC_CHARS = 2 PASSWORD_MIN_SPECIAL_CHARS = 2 PASSWORD_MIN_AGE_DAYS = 1 PASSWORD_MAX_AGE_DAYS = 999 PASSWORD_MAX_RETRIES = 3 PASSWORD_LOCKOUT_TIME_MINS = 30 PASSWORD_HISTORY = 5 COMMENT = 'production account password policy';참고
The property
PASSWORD_MAX_AGE_DAYS
is set to the largest value, 999. Choose a value that aligns with your internal guidelines. 자세한 내용은 CREATE PASSWORD POLICY 섹션을 참조하십시오.
5단계: 계정 또는 개별 사용자에 대한 비밀번호 정책 설정¶
ALTER ACCOUNT 명령으로 계정에 대한 정책을 설정합니다.
ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_1;
한 명 이상의 사용자에 대한 추가 비밀번호 정책을 만들기로 결정한 경우 ALTER USER 명령으로 사용자에 대한 사용자 수준 비밀번호 정책을 설정합니다.
ALTER USER jsmith SET PASSWORD POLICY security.policies.password_policy_user;
중요
계정 또는 사용자에 대해 이미 설정된 비밀번호 정책을 바꾸려면 먼저 비밀번호 정책을 설정 해제한 다음, 계정 또는 사용자에 대한 새 비밀번호 정책을 설정하십시오. 예:
ALTER ACCOUNT UNSET PASSWORD POLICY; ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_2;
6단계: 비밀번호 변경 요구¶
ALTER USER 문을 사용하는 개별 사용자에 대해 MUST_CHANGE_PASSWORD
속성을 TRUE
로 설정하여 사용자가 다음에 Snowflake에 로그인할 때 비밀번호 정책을 충족하는 비밀번호로 변경해야 하도록 합니다.
ALTER USER JSMITH SET MUST_CHANGE_PASSWORD = true;
사용자 비밀번호 재설정하기¶
관리자는 다음 인터페이스를 통해 사용자의 비밀번호를 변경할 수 있습니다.
Snowsight 사용하기¶
Classic Console 사용하기¶
참고
사용자는 Classic Console 를 통해 본인의 비밀번호만 변경할 수 있습니다. 자세한 내용은 비밀번호 변경 / 사용자의 (세션) 역할 전환 / 로그아웃하기 섹션을 참조하십시오.
SQL 사용하기¶
사용자 비밀번호를 입력하려면 ALTER USER 명령을 사용합니다. 예:
ALTER USER janesmith SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;
아니면, ALTER USER … RESET PASSWORD 구문을 사용하여 사용자와 공유할 URL을 생성합니다. URL에서는 사용자가 새 비밀번호를 입력할 수 있는 웹 페이지가 열립니다. 예:
ALTER USER janesmith RESET PASSWORD;참고
생성된 URL은 한 번만 사용할 수 있으며 4시간 후에 만료됩니다.
ALTER USER … RESET PASSWORD 문을 실행해도 현재 비밀번호가 무효화되지 않습니다. 사용자는 새 비밀번호를 재설정할 때까지 기존 비밀번호를 계속 사용할 수 있습니다.
Python 사용하기¶
Snowflake Python APIs 의 UserResource.create_or_alter 메서드는 현재 기존 사용자의 password
변경을 지원하지 않습니다. 새 사용자를 만들 때만 이 방법을 사용하여 비밀번호를 설정할 수 있습니다.
관리자용 비밀번호 재설정하기¶
계정 관리자(즉, ACCOUNTADMIN 역할을 가진 사용자)는 사용자용 비밀번호 재설정하기 에 설명된 절차에 따라 자신의 비밀번호를 재설정할 수 있습니다.
계정 관리자의 계정이 잠겨 자신의 계정에 액세스할 수 없는 경우 ACCOUNTADMIN 역할을 가진 다른 사용자가 잠긴 관리자의 비밀번호를 재설정할 수 있습니다. 관리자 계정이 잠기고 비밀번호를 변경해 줄 다른 관리자가 없는 경우 Snowflake 지원 에 문의하여 비밀번호를 재설정하십시오.
사용자 비밀번호 변경 기능 비활성화하기¶
사용자는 오른쪽 상단의 드롭다운 메뉴(로그인 이름 옆) » Change Password 을 클릭하여 웹 인터페이스에서 Snowflake 비밀번호를 변경할 수 있습니다. Select a New Password 대화 상자가 열립니다. 이 대화상자에서는 현재 및 새 비밀번호를 입력할 수 있습니다.
선택 사항으로 계정의 사용자가 본인의 비밀번호를 변경하는 기능을 비활성화할 수 있습니다. 계정 관리자는 Account » Users 에서 웹 인터페이스를 사용하거나 ALTER USER 명령을 사용하여 SQL을 통해 사용자 비밀번호를 변경할 수 있습니다.
이러한 변경을 요청하려면 Snowflake 지원 에 문의하십시오.