ALTER MULTI PARTY APPROVAL POLICY¶
Modifies an existing Multi-party Approval policy by replacing its body with a new definition.
Syntax¶
Parameters¶
nameSpecifies the identifier for the Multi-party Approval policy to alter.
If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case-sensitive.
For more information, see Identifier requirements.
RENAME TO new_nameChanges the name of the policy to new_name. The new identifier must be unique for the schema.
You can move the object to a different database and/or schema while optionally renaming the object. To do so, specify a qualified
new_namevalue that includes the new database and/or schema name in the formdb_name.schema_name.object_nameorschema_name.object_name, respectively.Note
- The destination database and/or schema must already exist. In addition, an object with the same name cannot already exist in the new location; otherwise, the statement returns an error.
- Moving an object to a managed access schema is prohibited unless the object owner (that is, the role that has the OWNERSHIP privilege on the object) also owns the target schema.
AS $$ ... $$YAML body that defines the policy’s approval rules. The new body follows the same structure as CREATE MULTI PARTY APPROVAL POLICY.
Policy parameters¶
description: 'description'An optional description of the policy.
rules:A list of one or more approval rules. Each rule specifies which operations require approval and who can approve them.
Rule parameters¶
Each rule in the rules list supports the following parameters.
Required rule parameters¶
name: rule_nameA unique name for this rule within the policy.
operations: ( operation [ , operation , ... ] )A list of protected operations that this rule governs.
For more information about each operation, see Protected operations. Valid values, organized by group:
Admin operations
MODIFY_MULTI_PARTY_APPROVALRequires approval for changes to Multi-party Approval policies, rules, account settings, and approver assignments, including attaching or detaching a policy from an account. This operation also covers creating, modifying, or dropping SAML2 security integrations, which control single sign-on and therefore who can authenticate as an approver.
Important
Every policy must have at least one rule that includes
MODIFY_MULTI_PARTY_APPROVALin itsoperationslist. This self-protecting rule prevents a compromised administrator from unilaterally disabling or modifying Multi-party Approval itself.DISABLE_MULTI_FACTOR_AUTHENTICATIONRequires approval for disabling Multi-Factor Authentication or resetting user passwords.
MODIFY_TRI_SECRET_SECURERequires approval for activating or deactivating Tri-Secret Secure customer-managed encryption keys. This operation requires the Business Critical Edition (or higher).
Note
After a policy with this operation has been attached to an account for 72 hours, the speed bump for Tri-Secret Secure operations is no longer required.
MODIFY_PRIVILEGED_ROLE_GRANTSRequires approval for granting or revoking privileged roles such as ACCOUNTADMIN or SECURITYADMIN, and privileges such as MANAGE GRANTS.
MODIFY_CORTEX_GUARDRAILSRequires approval for modifying Cortex AI guardrail settings on the account.
MODIFY_DATA_RETENTION_TIMERequires approval for modifying the
DATA_RETENTION_TIME_IN_DAYS(time travel) parameter on accounts, databases, schemas, or tables.
Policy operations
MODIFY_NETWORK_POLICYRequires approval for changes to active network policies, network rules, and policy assignments on accounts and users.
MODIFY_SESSION_POLICYRequires approval for modifying session policy settings or assignments on accounts and users.
MODIFY_AUTHENTICATION_POLICYRequires approval for modifying authentication policy settings or assignments on accounts and users.
MODIFY_PASSWORD_POLICYRequires approval for modifying password policy settings or assignments on accounts and users.
Security integration operations
MODIFY_OAUTH_INTEGRATIONRequires approval for creating, modifying, or dropping Snowflake OAuth security integrations.
MODIFY_EXTERNAL_OAUTH_INTEGRATIONRequires approval for creating, modifying, or dropping External OAuth security integrations.
MODIFY_SCIM_INTEGRATIONRequires approval for creating, modifying, or dropping SCIM security integrations.
approvers:Specifies the users authorized to approve requests under this rule.
users: ( 'username' [ , 'username' , ... ] )A list of Snowflake usernames (quoted strings) who can approve requests for this rule.
Optional rule parameters¶
description: 'description'A human-readable description of the rule’s purpose.
required_approvals: integerThe number of approvals required before the protected operation is authorized. Must be less than or equal to the number of users in the
approvers.userslist.Default:
2request_duration_days: integerThe number of days an approval request remains open before it expires. If the required approvals are not received within this period, the request expires and a new request must be created.
Default:
3self_approval_allowed: { true | false }Specifies whether the user who initiated the protected operation can also approve their own request if they are present in the approvers list.
Default:
true
Access control requirements¶
A role used to execute this operation must have the following privileges at a minimum:
| Privilege | Object | Notes |
|---|---|---|
| OWNERSHIP | Multi-party Approval policy |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Usage notes¶
-
Altering a policy replaces the entire body. All existing rules are discarded and replaced with the rules defined in the new
AS $$ ... $$body. -
A rule’s
operationslist can’t be empty; each rule must govern at least one operation. -
Each operation can appear in at most one rule within a policy. Assigning the same operation to multiple rules in the same policy causes an error.
-
If you need to see the current definition of a policy before altering it, run the DESCRIBE MULTI PARTY APPROVAL POLICY command.
Examples¶
Replace all rules in an existing policy: