# AuthenticationPolicy

[Snowflake Documentation](https://docs.snowflake.com/en/sql-reference/sql/create-authentication-policy)

Defines the rules and constraints for authentication within the system, ensuring they meet specific security standards.

## Examples

### Python

```python
authentication_policy = AuthenticationPolicy(
    name="some_authentication_policy",
    authentication_methods=["PASSWORD", "SAML"],
    mfa_authentication_methods=["PASSWORD"],
    mfa_enrollment="REQUIRED",
    client_types=["SNOWFLAKE_UI"],
    security_integrations=["ALL"],
    comment="Policy for secure authentication."
)
```

### YAML

```yaml
authentication_policies:
  - name: some_authentication_policy
    authentication_methods:
      - PASSWORD
      - SAML
    mfa_authentication_methods:
      - PASSWORD
    mfa_enrollment: REQUIRED
    client_types:
      - SNOWFLAKE_UI
    security_integrations:
      - ALL
    comment: Policy for secure authentication.
```

## Fields

* `name` (string, required) - The name of the authentication policy.
* `authentication_methods` (list) - A list of allowed authentication methods.
* `mfa_authentication_methods` (list) - A list of authentication methods that enforce multi-factor authentication (MFA).
* `mfa_enrollment` (string) - Determines whether a user must enroll in multi-factor authentication. Defaults to OPTIONAL.
* `client_types` (list) - A list of clients that can authenticate with Snowflake.
* `security_integrations` (list) - A list of security integrations the authentication policy is associated with.
* `comment` (string) - A comment or description for the authentication policy.
* `owner` (string or [Role](/titan-core/resources/role.md)) - The owner role of the authentication policy. Defaults to SECURITYADMIN.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://titan-core.gitbook.io/titan-core/resources/authentication_policy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
