Active Directory/LDAP Identity Management
AIStor supports configuring a single Active Directory or LDAP (AD/LDAP) service for external management of user identities. Enabling AD/LDAP integration for identity management disables the internal identity provider.
Steps to integrate your AD/LDAP service:
-
Configure your AIStor cluster for AD/LDAP integration.
-
Access the AIStor console with AD/LDAP credentials.
-
Generate temporary credentials for application access with the
AssumeRoleWithLDAPIdentity
Security Token Service (STS) API
See the documentation for your AD/LDAP provider for detailed information about configuring user identities.
Prerequisites
-
Access to AISor Cluster
These instructions use
mc
to perform actions on your AIStor cluster. Installmc
on a machine with network access to the cluster. Make sure to configure analias
for your cluster. -
AD/LDAP identity provider access
AIStor must have bidirectional network connectivity to the target AD/LDAP service.
AIStor requires a read-only access key with which it binds to perform authenticated user and group queries. Ensure each AD/LDAP user and group has a corresponding policy on the AIStor deployment. An AD/LDAP user with no assigned policy and with membership in groups with no assigned policy has no permission to access any action or resource on the MinIO cluster.
Configure AD/LDAP for AIStor
-
Create the AD/LDAP configuration
When configuring AD/LDAP group lookups, configure specific filters that return the minimum number of relevant groups for the purpose of supporting authentication.
Filters that return large group assignments increase the size of associated calls and resources. Functions sensitive to large request or response bodies may exhibit unexpected behaviors as a result.
-
Restart the deployment
You must restart the deployment to apply the configuration changes.
If you configured AD/LDAP from the console, no additional action is required. The console automatically restarts the deployment after you save the new configuration.
For the client or environment variable configuration, run
mc admin service restart
to restart the deployment:mc admin service restart ALIAS
Replace
ALIAS
with the alias of the deployment to restart. -
Log in to the console with AD/LDAP credentials
The AIStor Console supports the full workflow of authenticating to the AD/LDAP provider, generating temporary credentials using the
AssumeRoleWithLDAPIdentity
Security Token Service (STS) endpoint, and logging the user in.Go to the root URL for the deployment, for example
https://minio.example.net:9000
.After you log in, you can perform any action for which your account is authorized.
-
Generate STS credentials for application authentication
Clients must authenticate using AWS Signature Version 4 protocol with support for the deprecated Signature Version 2 protocol. Clients must present a valid access key and secret key to access any S3 or AIStor administrative API, such as
PUT
,GET
, andDELETE
operations.You can create access keys to support applications that must perform operations on AIStor. Access keys are long-lived credentials that inherit their permissions from the parent user.
Alternatively, applications can generate temporary access credentials as needed with the
AssumeRoleWithLDAPIdentity
Security Token Service (STS) API endpoint and AD/LDAP user credentials. See the example Go applicationldap.go
for this workflow.POST https://minio.example.net?Action=AssumeRoleWithLDAPIdentity &LDAPUsername=USERNAME &LDAPPassword=PASSWORD &Version=2011-06-15 &Policy={}
-
Replace
LDAPUsername
with the username of the AD/LDAP user. -
Replace
LDAPPassword
with the password of the AD/LDAP user. -
Replace
Policy
with an inline URL-encoded JSON policy that further restricts the permissions associated to the temporary credentials.Omit to use the policy whose name matches the Distinguished Name (DN) of the AD/LDAP user.
The API response consists of an XML document containing the access key, secret key, session token, and expiration date. Applications can use this access key and secret key to access and perform operations on MinIO.
See
AssumeRoleWithLDAPIdentity
for reference documentation. -
Disable AD/LDAP integration
You can enable or disable the configured AD/LDAP connection as needed.
Run mc idp ldap disable
to deactivate a configured connection.
Run mc idp ldap enable
to activate a previously configured connection.
You can also enable or disable AD/LDAP from the console.