다중 당사자 승인 정책 변경하기
다중 당사자 승인 정책 변경하기 (ALTER MULTI PARTY APPROVAL POLICY)
- CREATE MULTI PARTY APPROVAL POLICY
- DESCRIBE MULTI PARTY APPROVAL POLICY
- DROP MULTI PARTY APPROVAL POLICY
- SHOW MULTI PARTY APPROVAL POLICIES
ALTER MULTI PARTY APPROVAL POLICY
이 기능은 Business Critical(또는 그 이상)이 필요해요.
업그레이드에 대해 문의하려면 Snowflake Support에 연락해 주세요.
기존 Multi-party Approval policy의 본문을 새 정의로 교체하여 수정해요.
출처: 문서
본문
구문
ALTER MULTI PARTY APPROVAL POLICY RENAME TO
ALTER MULTI PARTY APPROVAL POLICY
AS $$
[ description: '' ]
rules:
- name:
[ description: '' ]
operations: [ [ , , ... ] ]
approvers:
users: [ '' [ , '' , ... ] ]
[ required_approvals: ]
[ request_duration_days: ]
[ self_approval_allowed: { true | false } ]
$$
매개변수
name
변경할 Multi-party Approval 정책의 식별자를 지정해요.
식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶인 식별자는 대소문자를 구분해요.
자세한 내용은 Identifier requirements를 참조하세요.
RENAME TO new_name
정책의 이름을 new_name으로 변경해요. 새 식별자는 스키마 내에서 고유해야 해요.
객체의 이름을 선택적으로 변경하면서 다른 데이터베이스 및/또는 스키마로 객체를 이동할 수 있어요. 이렇게 하려면 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된 new_name 값을 지정하세요.
- 대상 데이터베이스 및/또는 스키마가 이미 존재해야 해요. 또한 새 위치에 같은 이름의 객체가 이미 있으면 안 돼요. 그렇지 않으면 문이 오류를 반환해요.
- 객체 소유자(즉, 객체에 대한 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 관리형 액세스 스키마로 객체를 이동하는 것은 금지돼요.
AS $$ ... $$
정책의 승인 규칙을 정의하는 YAML 본문이에요. 새 본문은 CREATE MULTI PARTY APPROVAL POLICY와 동일한 구조를 따라요.
정책 매개변수
description: 'description'
정책에 대한 선택적 설명이에요.
rules:
하나 이상의 승인 규칙 목록이에요. 각 규칙은 어떤 작업에 승인이 필요한지, 누가 승인할 수 있는지를 지정해요.
규칙 매개변수
rules 목록의 각 규칙은 다음 매개변수를 지원해요.
필수 규칙 매개변수
name: rule_name
정책 내에서 이 규칙의 고유한 이름이에요.
operations: ( operation [ , operation , ... ] )
이 규칙이 적용하는 보호된 작업 목록이에요.
각 작업에 대한 자세한 내용은 Protected operations를 참조하세요. 그룹별로 정리된 유효한 값은 다음과 같아요:
관리자 작업
MODIFY_MULTI_PARTY_APPROVAL
Multi-party Approval 정책, 규칙, 계정 설정, 승인자 할당에 대한 변경에는 승인이 필요합니다. 여기에는 계정에서 정책을 연결하거나 분리하는 작업도 포함됩니다. 이 작업은 또한 SAML2 보안 통합을 생성, 수정 또는 삭제하는 작업도 포함합니다. SAML2 보안 통합은 single sign-on을 제어하므로 누가 승인자로 인증할 수 있는지도 결정합니다.
모든 정책에는 operations 목록에 MODIFY_MULTI_PARTY_APPROVAL을 포함하는 규칙이 최소 하나 이상 있어야 합니다. 이 자기 보호 규칙은 손상된 관리자가 Multi-party Approval 자체를 일방적으로 비활성화하거나 수정하는 것을 방지합니다.
DISABLE_MULTI_FACTOR_AUTHENTICATION
Multi-Factor Authentication을 비활성화하거나 사용자 비밀번호를 재설정하려면 승인이 필요합니다.
MODIFY_TRI_SECRET_SECURE
Tri-Secret Secure 고객 관리 암호화 키를 활성화하거나 비활성화하려면 승인이 필요합니다. 이 작업에는 Business Critical Edition(이상)이 필요합니다.
이 작업이 포함된 정책이 계정에 연결된 지 72시간이 지나면 Tri-Secret Secure 작업에 대한 대기 시간이 더 이상 필요하지 않습니다.
MODIFY_PRIVILEGED_ROLE_GRANTS
ACCOUNTADMIN 또는 SECURITYADMIN 역할을 부여하거나 회수하려면 승인이 필요하며, MANAGE GRANTS 권한을 부여하거나 회수하는 경우에도 승인이 필요합니다.
MODIFY_CORTEX_GUARDRAILS
계정의 Cortex AI 가드레일 설정을 수정하려면 승인이 필요합니다.
MODIFY_DATA_RETENTION_TIME
계정, 데이터베이스, 스키마 또는 테이블에서 DATA_RETENTION_TIME_IN_DAYS(Time Travel) 매개변수를 수정하려면 승인이 필요합니다.
정책 작업
MODIFY_NETWORK_POLICY
활성 네트워크 정책, 네트워크 규칙, 그리고 계정과 사용자에 대한 정책 할당을 변경하려면 승인이 필요합니다.
MODIFY_SESSION_POLICY
계정과 사용자의 세션 정책 설정 또는 할당을 수정하려면 승인이 필요합니다.
MODIFY_AUTHENTICATION_POLICY
계정과 사용자의 인증 정책 설정 또는 할당을 수정하려면 승인이 필요합니다.
MODIFY_PASSWORD_POLICY
계정과 사용자의 비밀번호 정책 설정 또는 할당을 수정하려면 승인이 필요합니다.
보안 통합 작업
MODIFY_OAUTH_INTEGRATION
Snowflake OAuth 보안 통합을 생성, 수정 또는 삭제하려면 승인이 필요해요.
MODIFY_EXTERNAL_OAUTH_INTEGRATION
External OAuth 보안 통합을 생성, 수정 또는 삭제하려면 승인이 필요해요.
MODIFY_SCIM_INTEGRATION
SCIM 보안 통합을 생성, 수정 또는 삭제하려면 승인이 필요해요.
approvers:
이 규칙에 따라 요청을 승인할 권한이 있는 사용자를 지정해요.
users: ( 'username' [ , 'username' , ... ] )
이 규칙에 대한 요청을 승인할 수 있는 Snowflake 사용자 이름(따옴표로 묶인 문자열) 목록이에요.
선택적 규칙 매개변수
description: 'description'
규칙의 목적을 사람이 읽을 수 있게 설명한 내용이에요.
required_approvals: integer
보호된 작업이 승인되기 전에 필요한 승인 수예요. approvers.users 목록에 있는 사용자 수보다 작거나 같아야 해요.
기본값: 2
request_duration_days: integer
승인 요청이 만료되기 전에 열려 있는 일 수예요. 이 기간 내에 필요한 승인을 받지 못하면 요청이 만료되고 새 요청을 만들어야 해요.
기본값: 3
self_approval_allowed: { true | false }
보호된 작업을 시작한 사용자가 approvers 목록에 있는 경우 자신의 요청도 승인할 수 있는지 여부를 지정해요.
기본값: true
액세스 제어 요구 사항
이 작업을 실행하는 데 사용되는 role에는 최소한 다음 privileges이 있어야 해요.
| 권한 | 객체 | 참고 |
|---|---|---|
| OWNERSHIP | Multi-party Approval policy |
스키마의 객체를 운영하려면 상위 데이터베이스에 대한 권한이 하나 이상, 상위 스키마에 대한 권한이 하나 이상 필요해요.
지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법에 대한 지침은 을(를) 참조하세요.
securable objects에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반 정보는 Overview of Access Control을(를) 참조하세요.
사용 참고 사항
-
정책을 변경하면 전체 본문이 대체돼요. 기존의 모든 규칙은 삭제되고, 새
AS $$ ... $$본문에 정의된 규칙으로 교체돼요. -
규칙의
operations목록은 비어 있을 수 없어요. 각 규칙은 최소한 하나의 작업을 관리해야 해요. -
각 작업은 정책 내에서 최대 하나의 규칙에만 포함될 수 있어요. 같은 작업을 같은 정책의 여러 규칙에 할당하면 오류가 발생해요.
-
정책을 변경하기 전에 현재 정의를 확인해야 한다면 DESCRIBE MULTI PARTY APPROVAL POLICY 명령을 실행해요.
예시
기존 정책의 모든 규칙을 교체하려면:
ALTER MULTI PARTY APPROVAL POLICY security_db.policies.mpa_policy
AS $$
rules:
- name: self_protection_rule
description: "Self Protection MPA Rule"
operations: [MODIFY_MULTI_PARTY_APPROVAL]
approvers:
users: ['ADMIN1', 'ADMIN2']
- name: tss_rule
description: "TSS Rule"
operations: [MODIFY_TRI_SECRET_SECURE, MODIFY_NETWORK_POLICY]
approvers:
users: ['ADMIN1', 'ADMIN2', 'ADMIN3']
required_approvals: 2
request_duration_days: 2
self_approval_allowed: false
$$;