+ To create an identity, head to your Organization Settings > Access Control > Identities and press **Create identity**.
+
+ 
+
+ When creating an identity, you specify an organization level [role](/documentation/platform/role-based-access-controls) for it to assume; you can configure roles in Organization Settings > Access Control > Organization Roles.
+
+ 
+
+ Now input a few details for your new identity. Here's some guidance for each field:
+
+ - Name (required): A friendly name for the identity.
+ - Role (required): A role from the **Organization Roles** tab for the identity to assume. The organization role assigned will determine what organization level resources this identity can have access to.
+
+ Once you've created an identity, you'll be redirected to a page where you can manage the identity.
+
+ 
+
+ Since the identity has been configured with Universal Auth by default, you should re-configure it to use OIDC Auth instead. To do this, press to edit the **Authentication** section,
+ remove the existing Universal Auth configuration, and add a new OIDC Auth configuration onto the identity.
+
+ 
+
+ 
+
+ Restrict access by configuring the Subject, Audiences, and Claims fields
+
+ Here's some more guidance on each field:
+ - **OIDC Discovery URL**: The URL used to retrieve the OpenID Connect configuration from the identity provider. This is used to fetch the public keys needed to verify the JWT. For Azure, set this to `https://login.microsoftonline.com/{tenant-id}/v2.0` (replace `{tenant-id}` with your Azure AD tenant ID).
+ - **Issuer**: The value of the `iss` claim that the token must match. For Azure, this should be `https://login.microsoftonline.com/{tenant-id}/v2.0`.
+ - **Subject**: This must match the `sub` claim in the JWT.
+ - **Audiences**: Values that must match the `aud` claim.
+ - **Claims**: Additional claims that must be present. Refer to [Azure DevOps docs](https://learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops#workload-identity-federation) for available claims.
+ - **Access Token TTL**: Lifetime of the issued token (in seconds), e.g., `2592000` (30 days)
+ - **Access Token Max TTL**: Maximum allowed lifetime of the token
+ - **Access Token Max Number of Uses**: Max times the token can be used (`0` = unlimited)
+ - **Access Token Trusted IPs**: List of allowed IP ranges (defaults to `0.0.0.0/0`)
+
+ If you are unsure about what to configure for the subject, audience, and claims fields, you can inspect the JWT token from your Azure DevOps pipeline by adding a debug step that outputs the token claims.
+ The `subject`, `audiences`, and `claims` fields support glob pattern matching; however, we highly recommend using hardcoded values whenever possible.
+
+