MinIO External Identity Management Plugin
Overview
The MinIO Identity Management Plugin provides a REST interface for offloading authentication to an external identity manager through a webhook service.
Once enabled, client applications use the AssumeRoleWithCustomToken
STS API extension to generate access tokens for MinIO.
MinIO verifies this token by making a POST request to the configured plugin endpoint and uses the returned response to determine the authentication status of the client.
Configuration Settings
You can configure the MinIO Identity Management Plugin using the following environment variables or configuration settings:
Specify the following environment variables to each MinIO server in the deployment:
MINIO_IDENTITY_PLUGIN_URL="https://external-auth.example.net:8080/auth"
MINIO_IDENTITY_PLUGIN_ROLE_POLICY="consoleAdmin"
# All other envvars are optional
MINIO_IDENTITY_PLUGIN_TOKEN="Bearer TOKEN"
MINIO_IDENTITY_PLUGIN_ROLE_ID="external-auth-provider"
MINIO_IDENTITY_PLUGIN_COMMENT="External Identity Management using PROVIDER"
Set the following configuration settings using the mc admin config set
command:
mc admin config set identity_plugin \
url="https://external-auth.example.net:8080/auth" \
role_policy="consoleAdmin" \
# All other config settings are optional
token="Bearer TOKEN" \
role_id="external-auth-provider" \
comment="External Identity Management using PROVIDER"
Creating Policies to Match Claims
Use either the MinIO Console or the mc admin policy
command to create policies that match one or more claim values.