1. 기본 개념
- MFA는 Duo Security로 구동되며, 이 서비스는 Snowflake가 완전히 관리한다.
- MFA는 사용자(per-user) 단위로 활성화되며, 사용자는 자동 등록되지 않는다 → 직접 enroll 필요.
- MFA는 비밀번호로 인증하는 human 사용자 대상. service 사용자는 다른 인증을 써야 한다.
- 최소한 ACCOUNTADMIN 등 고권한 역할 사용자는 MFA를 활성화하도록 강력히 권장된다.
2. 인증 흐름
비밀번호(1차) → 2차 요소 → 로그인 성공
- 2차 요소 3가지: Passkey, TOTP(인증 앱), Duo
- Duo 등록 시 기본은 Duo Push 방식.
- 패스키는 보안성·사용성 측면에서 권장되며, Duo는 다른 방식과 달리 복제되지 않는다.
3. MFA 속성 (★ 명령 범위 구분 주의)
| 속성 | 명령 범위 | 의미 |
|---|
MINS_TO_BYPASS_MFA | ALTER USER | MFA를 일시적으로 비활성화하는 분(minutes) 수 지정 |
DISABLE_MFA | ALTER USER | MFA 비활성화 = 등록 취소. 다시 쓰려면 재등록 필요 |
ALLOW_CLIENT_MFA_CACHING | ALTER ACCOUNT | MFA 토큰 캐싱 → 인증 프롬프트 수 감소 |
ALTER USER user1 SET MINS_TO_BYPASS_MFA=10;
ALTER USER user1 SET DISABLE_MFA=TRUE;
ALTER ACCOUNT SET ALLOW_CLIENT_MFA_CACHING = TRUE;
- DISABLE_MFA는 ACCOUNTADMIN이 SQL로만 수행 가능.
- 캐시된 MFA 토큰은 최대 4시간 유효.
- ALLOW_CLIENT_MFA_CACHING은 ACCOUNTADMIN이 ALTER ACCOUNT로 설정한다.
4. 포인트
- ✅ MFA는 자동 등록 안 됨 → 사용자가 직접 enroll
- ✅
MINS_TO_BYPASS_MFA / DISABLE_MFA = USER 단위 / ALLOW_CLIENT_MFA_CACHING = ACCOUNT 단위
- ✅ 토큰 캐싱 유효시간 = 4시간
- ✅ Duo 기본 방식 = Push