docs/documentation/platform/identities/machine-identities.mdx
An Infisical machine identity is an entity that represents a workload or application that require access to various resources in Infisical. This is conceptually similar to an IAM user in AWS or service account in Google Cloud Platform (GCP).
Each identity must authenticate with the Infisical API using a supported authentication method like Token Auth, Universal Auth, Kubernetes Auth, AWS Auth, Azure Auth, or GCP Auth to get back a short-lived access token to be used in subsequent requests.
Key Features:
Identities can be created either at the organization-level or the project-level. Outside of identity management and scope of operation, organization and project identities are functionally identical.
Project identities are managed at the project-level and can only operate within their respective project. Project-level identities are useful for organizations that delegate responsibility to autonomous teams via projects.
Organization identities are managed at the organization-level and can be assigned to one or more projects, as well as perform organization-level operations. Organization-level identities are useful for organizations that have cross-project operations.
1. Creating the identity with a name and [role](/documentation/platform/access-controls/role-based-access-controls) in Project > Access Control > Machine Identities.
This step also involves configuring an authentication method for it.
2. Authenticating the identity with the Infisical API based on the configured authentication method on it and receiving a short-lived access token back.
3. Authenticating subsequent requests with the Infisical API using the short-lived access token.
</Tab>
<Tab title="Organization Identities">
A typical workflow for using organization identities consists of four steps:
1. Creating the identity with a name and [role](/documentation/platform/access-controls/role-based-access-controls) in Organization > Access Control > Machine Identities.
This step also involves configuring an authentication method for it.
2. Adding the identity to the project(s) you want it to have access to.
3. Authenticating the identity with the Infisical API based on the configured authentication method on it and receiving a short-lived access token back.
4. Authenticating subsequent requests with the Infisical API using the short-lived access token.
</Tab>
To interact with various resources in Infisical, Machine Identities can authenticate with the Infisical API using:
Lockout is a feature that prevents brute-force attacks on identity login endpoints. Auth methods that support lockout include: Universal Auth, LDAP Auth.
Supported auth methods have lockout enabled by default. If triggered, lockout temporarily disables the login endpoint for 5 minutes after 3 consecutive failed login attempts within a 30-second window. Lockout can be configured and disabled in the identity auth method settings.
Yes - Identities can be used with the CLI.
You can learn more about how to do this in the CLI quickstart here.
</Accordion> <Accordion title="What is the difference between an identity and service token?"> A service token is a project-level authentication method that is being deprecated in favor of identities. The service token method will be removed in the future in accordance with the deprecation notice and timeline stated [here](https://infisical.com/blog/deprecating-api-keys).Amongst many differences, identities provide broader access over the Infisical API, utilizes the same permission system as user identities, and come with a significantly larger number of configurable authentication and security features.
If you're looking for a simple authentication method, similar to service tokens, that can be bound onto an identity, we recommend checking out Token Auth. </Accordion> <Accordion title="Why can I not create, read, update, or delete an identity?"> There are a few reasons for why this might happen: