60 lines
2.4 KiB
Plaintext
60 lines
2.4 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Auth Methods
|
|
description: Auth methods are mountable methods that perform authentication for Vault.
|
|
---
|
|
|
|
# Auth methods
|
|
|
|
Auth methods are the components in Vault that perform authentication and are
|
|
responsible for assigning identity and a set of policies to a user. In all cases,
|
|
Vault will enforce authentication as part of the request processing. In most cases,
|
|
Vault will delegate the authentication administration and decision to the relevant configured
|
|
external auth method (e.g., Amazon Web Services, GitHub, Google Cloud Platform, Kubernetes, Microsoft
|
|
Azure, Okta ...).
|
|
|
|
Having multiple auth methods enables you to use an auth method that makes the
|
|
most sense for your use case of Vault and your organization.
|
|
|
|
For example, on developer machines, the [GitHub auth method](/vault/docs/auth/github)
|
|
is easiest to use. But for servers the [AppRole](/vault/docs/auth/approle)
|
|
method is the recommended choice.
|
|
|
|
To learn more about authentication, see the
|
|
[authentication concepts page](/vault/docs/concepts/auth).
|
|
|
|
## Enabling/Disabling auth methods
|
|
|
|
Auth methods can be enabled/disabled using the CLI or the API.
|
|
|
|
```shell-session
|
|
$ vault auth enable userpass
|
|
```
|
|
|
|
When enabled, auth methods are similar to [secrets engines](/vault/docs/secrets):
|
|
they are mounted within the Vault mount table and can be accessed
|
|
and configured using the standard read/write API. All auth methods are mounted underneath the `auth/` prefix.
|
|
|
|
By default, auth methods are mounted to `auth/<type>`. For example, if you
|
|
enable "github", then you can interact with it at `auth/github`. However, this
|
|
path is customizable, allowing users with advanced use cases to mount a single
|
|
auth method multiple times.
|
|
|
|
```shell-session
|
|
$ vault auth enable -path=my-login userpass
|
|
```
|
|
|
|
When an auth method is disabled, all users authenticated via that method are
|
|
automatically logged out.
|
|
|
|
## External auth method considerations
|
|
|
|
When using an external auth method (e.g., GitHub), Vault will call the external service
|
|
at the time of authentication and for subsequent token renewals. If the status
|
|
of an entity changes in the external system (e.g., an account expires or is
|
|
disabled), Vault denies requests to **renew** tokens associated with the entity.
|
|
However, any existing token remain valid for the original grant period unless
|
|
they are explicitly revoked within Vault. Operators should set appropriate
|
|
[token TTLs](/vault/docs/concepts/tokens#the-general-case) when using external
|
|
authN methods.
|