mc admin config
Description
The mc admin config
command manages configuration settings for the
minio
server.
Use mc admin
on MinIO Deployments Only
MinIO does not support using mc admin
commands with other
S3-compatible services, regardless of their claimed compatibility with MinIO
deployments.
Examples
Syntax
- mc admin config set
Sets a configuration key on the MinIO deployment. Configurations defined by environment variables override configurations defined by this command.
For distributed deployments, use to modify existing endpoints.
Endpoints using the http protocol can be either the hostname or IP address, and they may use either
http
orhttps
.
- mc admin config get
Gets a configuration key on the MinIO deployment created using mc admin config set.
- mc admin config history
Lists the history of changes made to configuration keys by mc admin config.
Configurations defined by environment variables do not show.
Configuration Settings
The following configuration settings define runtime behavior of the
MinIO server
process:
Root User Account
- api
The top-level configuration key for modifying API-related operations.
- api.root_access
New in version MinIO: Server RELEASE.2023-05-04T21-44-30Z
Specify
on
to enable andoff
to disable the root user account. Disabling the root service account also disables all service accounts associated with root, excluding those used by site replication. Defaults toon
.Ensure you have at least one other admin user, such as one with the
consoleAdmin
policy, before disabling the root account. If you do not have another admin user, disabling the root account locks administrative access to the deployment.This configuration setting corresponds with the
MINIO_API_ROOT_ACCESS
environment variable. To reset after an unintentional lock, setMINIO_API_ROOT_ACCESS
on
to override this setting and temporarily re-enable the root account. You can then change this setting toon
or make the necessary user/policy changes to ensure normal administrative access through other non-root accounts.
HTTP Webhook Log Target
- logger_webhook
The top-level configuration key for defining an HTTP webhook target for publishing MinIO logs.
Use
mc admin config set
to set or update an HTTP webhook target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set logger_webhook \ endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...]
You can specify multiple HTTP webhook targets by appending
[:name]
to the top-level key. For example, the following commands set two distinct HTTP webhook targets asprimary
andsecondary
respectively:mc admin config set logger_webhook:primary \ endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...] mc admin config set logger_webhook:secondary \ endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]
The
logger_webhook
configuration key accepts the following arguments:- logger_webhook.endpoint
Required
The HTTP endpoint of the webhook.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_ENDPOINT
environment variable.
- logger_webhook.auth_token
Optional
The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. Omit for webhooks which do not enforce authentication.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_AUTH_TOKEN
environment variable.
- logger_webhook.client_cert
Optional
The path to the mTLS certificate to use for authenticating to the webhook logger.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_CLIENT_CERT
environment variable.
- logger_webhook.client_key
Optional
The path to the mTLS certificate key to use to authenticate with the webhook logger service.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_CLIENT_KEY
environment variable.
- logger_webhook.proxy
New in version MinIO: RELEASE.2023-02-22T18-23-45Z
Optional
Define a proxy to use for the webhook logger when communicating from MinIO to external webhooks.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_PROXY
environment variable.
- logger_webhook.queue_size
Optional
An integer value to use for the queue size for logger webhook targets.
This setting corresponds to the
MINIO_LOGGER_WEBHOOK_QUEUE_SIZE
environment variable.
HTTP Webhook Audit Log Target
- audit_webhook
The top-level configuration key for defining an HTTP webhook target for publishing MinIO audit logs.
Use
mc admin config set
to set or update an HTTP webhook target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set audit_webhook \ endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...]
You can specify multiple HTTP webhook targets by appending
[:name]
to the top-level key. For example, the following commands set two distinct HTTP webhook targets asprimary
andsecondary
respectively:mc admin config set audit_webhook:primary \ endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...] mc admin config set audit_webhook:secondary \ endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]
The
audit_webhook
configuration key accepts the following arguments:- audit_webhook.endpoint
Required
The HTTP endpoint of the webhook.
This setting corresponds to the
MINIO_AUDIT_WEBHOOK_ENDPOINT
environment variable.
- audit_webhook.auth_token
Optional
The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. Omit for webhooks which do not enforce authentication.
This setting corresponds to the
MINIO_AUDIT_WEBHOOK_AUTH_TOKEN
environment variable.
- audit_webhook.client_cert
Optional
The x.509 client certificate to present to the HTTP webhook. Omit for webhooks which do not require clients to present a known TLS certificate.
Requires specifying
client_key
.This setting corresponds to the
MINIO_AUDIT_WEBHOOK_CLIENT_CERT
environment variable.
- audit_webhook.client_key
Optional
The x.509 private key to present to the HTTP webhook. Omit for webhooks which do not require clients to present a known TLS certificate.
Requires specifying
client_cert
.This setting corresponds to the
MINIO_AUDIT_WEBHOOK_CLIENT_KEY
environment variable.
AMQP Service for Bucket Notifications
The following section documents settings for configuring an AMQP service as a target for Bucket Nofitications. See Publish Events to AMQP (RabbitMQ) for a tutorial on using these environment variables.
- notify_amqp
The top-level configuration key for defining an AMQP service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an AMQP service endpoint. Theurl
argument is required for each target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set notify_amqp \ url="amqp://user:password@endpoint:port" \ [ARGUMENT="VALUE"] ... \
You can specify multiple AMQP service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct AMQP service endpoints asprimary
andsecondary
respectively:mc admin config set notify_amqp:primary \ url="user:password@amqp://endpoint:port" [ARGUMENT=VALUE ...] mc admin config set notify_amqp:secondary \ url="user:password@amqp://endpoint:port" [ARGUMENT=VALUE ...]
The
notify_amqp
configuration key supports the following arguments:- notify_amqp url
Required
Specify the AMQP server endpoint to which MinIO publishes bucket events. For example,
amqp://myuser:mypassword@localhost:5672
.This key corresponds to the
MINIO_NOTIFY_AMQP_URL
environment variable.
- notify_amqp exchange
Optional
Specify the name of the AMQP exchange to use.
This field corresponds to the
MINIO_NOTIFY_AMQP_EXCHANGE
environment variable.
- notify_amqp exchange_type
Optional
Specify the type of the AMQP exchange.
This field corresponds to the
MINIO_NOTIFY_AMQP_EXCHANGE_TYPE
environment variable.
- notify_amqp routing_key
Optional
Specify the routing key for publishing events.
This field corresponds to the
MINIO_NOTIFY_AMQP_ROUTING_KEY
environment variable.
- notify_amqp mandatory
Optional
Specify
off
to ignore undelivered messages errors. Defaults toon
.This field corresponds to the
MINIO_NOTIFY_AMQP_MANDATORY
environment variable.
- notify_amqp durable
Optional
Specify
on
to persist the message queue across broker restarts. Defaults to ‘off’.This field corresponds to the
MINIO_NOTIFY_AMQP_DURABLE
environment variable.
- notify_amqp no_wait
Optional
Specify
on
to enable non-blocking message delivery. Defaults to ‘off’.This field corresponds to the
MINIO_NOTIFY_AMQP_NO_WAIT
environment variable.
- notify_amqp internal
Optional
Specify
on
to use the exchange only if it is bound to other exchanges. See the RabbitMQ documentation on Exchange to Exchange Bindings for more information on AMQP exchange binding.This field corresponds to the
MINIO_NOTIFY_AMQP_INTERNAL
environment variable.
- notify_amqp auto_deleted
Optional
Specify
on
to automatically delete the message queue if there are no consumers. Defaults tooff
.This field corresponds to the
MINIO_NOTIFY_AMQP_AUTO_DELETED
environment variable.
- notify_amqp delivery_mode
Optional
Specify
1
for set the delivery mode to non-persistent queue.Specify
2
to set the delivery mode to persistent queue.This field corresponds to the
MINIO_NOTIFY_AMQP_DELIVERY_MODE
environment variable.
- notify_amqp queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the AMQP service is offline and replays the directory when connectivity resumes.
This field corresponds to the
MINIO_NOTIFY_AMQP_QUEUE_DIR
environment variable.
- notify_amqp queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This field corresponds to the
MINIO_NOTIFY_AMQP_QUEUE_LIMIT
environment variable.
- notify_amqp comment
Optional
Specify a comment for the AMQP configuration.
This field corresponds to the
MINIO_NOTIFY_AMQP_COMMENT
environment variable.
MQTT Service for Bucket Notifications
The following section documents settings for configuring an MQTT server/broker as a publishing target for Bucket Nofitications. See Publish Events to MQTT for a tutorial on using these configuration settings.
- notify_mqtt
The top-level configuration key for defining an MQTT server/broker endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an MQTT server/broker endpoint. The following arguments are required for each endpoint:username
Optional if MQTT server/broker does not enforce authentication/authorizationpassword
Optional if MQTT server/broker does not enforce authentication/authorization
Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_mqtt \ broker="tcp://endpoint:port" \ topic="minio/bucket-name/events/" \ username="username" \ password="password" \ [ARGUMENT="VALUE"] ... \
You can specify multiple MQTT server/broker endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct MQTT service endpoints asprimary
andsecondary
respectively:mc admin config set notify_mqtt:primary \ broker="tcp://endpoint:port" \ topic="minio/bucket-name/events/" \ username="username" \ password="password" \ [ARGUMENT="VALUE"] ... \ mc admin config set notify_mqtt:secondary \ broker="tcp://endpoint:port" \ topic="minio/bucket-name/events/" \ username="username" \ password="password" \ [ARGUMENT="VALUE"] ... \
The
notify_mqtt
configuration key supports the following arguments:- notify_mqtt broker
Required
Specify the MQTT server/broker endpoint. MinIO supports TCP, TLS, or Websocket connections to the server/broker URL. For example:
tcp://mqtt.example.net:1883
tls://mqtt.example.net:1883
ws://mqtt.example.net:1883
This field corresponds to the
MINIO_NOTIFY_MQTT_BROKER
environment variable.
- notify_mqtt topic
Required
Specify the name of the MQTT topic to associate with events published by MinIO to the MQTT endpoint.
This field corresponds to the
MINIO_NOTIFY_MQTT_TOPIC
environment variable.
- notify_mqtt username
Required if the MQTT server/broker enforces authentication/authorization
Specify the MQTT username with which MinIO authenticates to the MQTT server/broker.
This field corresponds to the
MINIO_NOTIFY_MQTT_TOPIC
environment variable.
- notify_mqtt password
Required if the MQTT server/broker enforces authentication/authorization
Specify the password for the MQTT username with which MinIO authenticates to the MQTT server/broker.
This field corresponds to the
MINIO_NOTIFY_MQTT_PASSWORD
environment variable.
- notify_mqtt qos
Optional
Specify the Quality of Service priority for the published events.
Defaults to
0
.This field corresponds to the
MINIO_NOTIFY_MQTT_QOS
environment variable.
- notify_mqtt keep_alive_interval
Optional
Specify the keep-alive interval for the MQTT connections. MinIO supports the following units of time measurement:
s
- seconds, “60s”m
- minutes, “60m”h
- hours, “24h”d
- days, “7d”
This field corresponds to the
MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
environment variable.
- notify_mqtt reconnect_interval
Optional
Specify the reconnect interval for the MQTT connections. MinIO supports the following units of time measurement:
s
- seconds, “60s”m
- minutes, “60m”h
- hours, “24h”d
- days, “7d”
This field corresponds to the
MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
environment variable.
- notify_mqtt queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the MQTT server/broker is offline and replays the directory when connectivity resumes.
This field corresponds to the
MINIO_NOTIFY_MQTT_QUEUE_DIR
environment variable.
- notify_mqtt queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This field corresponds to the
MINIO_NOTIFY_MQTT_QUEUE_LIMIT
environment variable.
- notify_mqtt comment
Optional
Specify a comment to associate with the MQTT configuration.
This field corresponds to the
MINIO_NOTIFY_MQTT_COMMENT
environment variable.
Elasticsearch Service for Bucket Notifications
The following section documents settings for configuring an Elasticsearch service as a target for Bucket Nofitications. See Publish Events to Elasticsearch for a tutorial on using these configuration settings.
- notify_elasticsearch
The top-level configuration key for defining an Elasticsearch service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an Elasticsearch service endpoint. The following arguments are required for each target:Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_elasticsearch \ url="https://user:password@endpoint:port" \ [ARGUMENT="VALUE"] ... \
You can specify multiple Elasticsearch service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct Elasticsearch service endpoints asprimary
andsecondary
respectively:mc admin config set notify_elasticsearch:primary \ url="user:password@https://endpoint:port" [ARGUMENT=VALUE ...] mc admin config set notify_elasticsearch:secondary \ url="user:password@https://endpoint:port" [ARGUMENT=VALUE ...]
The
notify_elasticsearch
configuration key supports the following arguments:- notify_elasticsearch url
Required
Specify the Elasticsearch service endpoint to which MinIO publishes bucket events. For example,
https://elasticsearch.example.com:9200
.MinIO supports passing authentication information using as URL parameters using the format
PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT
.This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_URL
environment variable.
- notify_elasticsearch index
Required
Specify the name of the Elasticsearch index in which to store or update MinIO bucket events. Elasticsearch automatically creates the index if it does not exist.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_INDEX
environment variable.
- notify_elasticsearch format
Required
Specify the format of event data written to the Elasticsearch index. MinIO supports the following values:
namespace
For each bucket event, the MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body. Additional updates to that object modify the existing index entry for that object. Similarly, deleting the object also deletes the corresponding index entry.
access
For each bucket event, MinIO creates a JSON document with the event details and appends it to the index with an Elasticsearch-generated random ID. Additional updates to an object result in new index entries, and existing entries remain unmodified.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_FORMAT
environment variable.
- notify_elasticsearch username
Optional
The username for connecting to an Elasticsearch service endpoint which enforces authentication.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_USERNAME
environment variable.
- notify_elasticsearch password
Optional
The password for connecting to an Elasticsearch service endpoint which enforces authentication.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_PASSWORD
environment variable.
- notify_elasticsearch queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the Elasticsearch service is offline and replays the directory when connectivity resumes.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR
environment variable.
- notify_elasticsearch queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT
environment variable.
- notify_elasticsearch comment
Optional
Specify a comment to associate with the Elasticsearch configuration.
This field corresponds to the
MINIO_NOTIFY_ELASTICSEARCH_COMMENT
environment variable.
NSQ Service for Bucket Notifications
The following section documents settings for configuring an NSQ server/broker as a publishing target for Bucket Nofitications. See Publish Events to NSQ for a tutorial on using these configuration settings.
- notify_nsq
The top-level configuration key for defining an NSQ server/broker endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an NSQ server/broker endpoint. The following arguments are required for each endpoint:Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_nsq \ nsqd_address="ENDPOINT" \ topic="<string>" \ [ARGUMENT="VALUE"] ... \
You can specify multiple NSQ server/broker endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct NSQ service endpoints asprimary
andsecondary
respectively:mc admin config set notify_nsq:primary \ nsqd_address="ENDPOINT" \ topic="<string>" \ [ARGUMENT="VALUE"] ... \ mc admin config set notify_nsq:secondary \ nsqd_address="ENDPOINT" \ topic="<string>" \ [ARGUMENT="VALUE"] ... \
The
notify_nsq
configuration key supports the following arguments:- notify_nsq nsqd_address
Required
Specify the NSQ server address. For example:
https://nsq-endpoing.example.net:4150
This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_NSQD_ADDRESS
environment variable.
- notify_nsq topic
Required
Specify the name of the NSQ topic MinIO uses when publishing events to the broker.
This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_TOPIC
environment variable.
- notify_nsq tls
Optional
Specify
on
to enable TLS connectivity to the NSQ service broker.This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_TLS
environment variable.
- notify_nsq tls_skip_verify
Optional
Enables or disables TLS verification of the NSQ service broker TLS certificates.
Specify
on
to disable TLS verification (Default).Specify
off
to enable TLS verification.
This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY
environment variable.
- notify_nsq queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the NSQ server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_QUEUE_DIR
environment variable.
- notify_nsq queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_QUEUE_LIMIT
environment variable.
- notify_nsq comment
Optional
Specify a comment to associate with the NSQ configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_NSQ_COMMENT
environment variable.
Redis Service for Bucket Notifications
The following section documents settings for configuring an Redis server/broker as a publishing target for Bucket Nofitications. See Publish Events to Redis for a tutorial on using these configuration settings.
- notify_redis
The top-level configuration key for defining an Redis server/broker endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an Redis server/broker endpoint. The following arguments are required for each endpoint:Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_redis \ address="ENDPOINT" \ key="<string>" \ format="<string>" \ [ARGUMENT="VALUE"] ... \
You can specify multiple Redis server/broker endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct Redis service endpoints asprimary
andsecondary
respectively:mc admin config set notify_redis:primary \ address="ENDPOINT" \ key="<string>" \ format="<string>" \ [ARGUMENT="VALUE"] ... \ mc admin config set notify_redis:secondary \ address="ENDPOINT" \ key="<string>" \ format="<string>" \ [ARGUMENT="VALUE"] ... \
The
notify_redis
configuration key supports the following arguments:- notify_redis address
Required
Specify the Redis service endpoint to which MinIO publishes bucket events. For example,
https://redis.example.com:6369
.
This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_ADDRESS
environment variable.- notify_redis key
Required
Specify the Redis key to use for storing and updating events. Redis auto-creates the key if it does not exist.
This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_KEY
environment variable.- notify_redis format
Required
Specify the format of event data written to the Redis service endpoint. MinIO supports the following values:
namespace
For each bucket event, the MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body. Additional updates to that object modify the existing index entry for that object. Similarly, deleting the object also deletes the corresponding index entry.
access
For each bucket event, MinIO creates a JSON document with the event details and appends it to the key with a Redis-generated random ID. Additional updates to an object result in new index entries, and existing entries remain unmodified.
This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_FORMAT
environment variable.This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_PASSWORD
environment variable.- notify_redis queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the Redis server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_QUEUE_DIR
environment variable.
- notify_redis queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_QUEUE_LIMIT
environment variable.
- notify_redis comment
Optional
Specify a comment to associate with the Redis configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_REDIS_COMMENT
environment variable.
NATS Service for Bucket Notifications
The following section documents settings for configuring an NATS service as a target for Bucket Nofitications. See Publish Events to NATS for a tutorial on using these environment variables.
- notify_nats
The top-level configuration key for defining an NATS service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an NATS service endpoint. Theaddress
andsubject
arguments are required for each target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set notify_nats \ address="htpps://nats-endpoint.example.com:4222" \ subject="minioevents" \ [ARGUMENT="VALUE"] ... \
You can specify multiple NATS service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct NATS service endpoints asprimary
andsecondary
respectively:mc admin config set notify_nats:primary \ address="htpps://nats-endpoint.example.com:4222" \ subject="minioevents" \ [ARGUMENT=VALUE ...] mc admin config set notify_nats:secondary \ address="htpps://nats-endpoint.example.com:4222" \ subject="minioevents" \ [ARGUMENT=VALUE ...]
The
notify_nats
configuration key supports the following arguments:- notify_nats address
Required
Specify the NATS service endpoint to which MinIO publishes bucket events. For example,
https://nats-endpoint.example.com:4222
.This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_ADDRESS
.
- notify_nats subject
Required
Specify the subscription to which MinIO associates events published to the NATS endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_SUBJECT
.
- notify_nats username
Optional
Specify the username for connecting to the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_USERNAME
.
- notify_nats password
Optional
Specify the passport for connecting to the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_PASSWORD
.
- notify_nats token
Optional
Specify the token for connecting to the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_TOKEN
.
- notify_natstls
Optional”
Specify
on
to enable TLS connectivity to the NATS service endpoint.This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_TLS
.
- notify_nats tls_skip_verify
Optional
Enables or disables TLS verification of the NATS service endpoint TLS certificates.
Specify
on
to disable TLS verification (Default).Specify
off
to enable TLS verification.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY
.
- notify_nats ping_interval
Optional
Specify the duration interval for client pings to the NATS server. MinIO supports the following time units:
s
- seconds,"60s"
m
- minutes,"5m"
h
- hours,"1h"
d
- days,"1d"
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_PING_INTERVAL
.
- notify_nats streaming
Optional
Specify
on
to enable streaming events to the NATS service endpoint.This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_STREAMING
.
- notify_nats streaming_async
Optional
Specify
on
to enable asynchronous publishing of events to the NATS service endpoint.This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_STREAMING_ASYNC
.
- notify_nats streaming_max_pub_acks_in_flight
Optional
Specify the number of messages to publish without waiting for an ACK response from the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT
.
- notify_nats streaming_cluster_id
Optional
Specify the unique ID for the NATS streaming cluster.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID
.
- notify_nats cert_authority
Optional
Specify the path to the Certificate Authority chain used to sign the NATS service endpoint TLS certificates.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_CERT_AUTHORITY
.
- notify_nats client_cert
Optional
Specify the path to the client certificate to use for performing mTLS authentication to the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_CLIENT_CERT
.
- notify_nats client_key
Optional
Specify the path to the client private key to use for performing mTLS authentication to the NATS service endpoint.
This configuration setting corresponds with the environment variable
MINIO_NOTIFY_NATS_CLIENT_KEY
.
- notify_nats queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the NATS server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_NATS_QUEUE_DIR
environment variable.
- notify_nats queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_NATS_QUEUE_LIMIT
environment variable.
- notify_nats comment
Optional
Specify a comment to associate with the NATS configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_NATS_COMMENT
environment variable.
PostgreSQL Service for Bucket Notifications
The following section documents settings for configuring an PostgreSQL service as a target for Bucket Nofitications. See Publish Events to PostgreSQL for a tutorial on using these environment variables.
- notify_postgres
The top-level configuration key for defining an PostgreSQL service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an PostgreSQL service endpoint. The following arguments are required for each target:Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_postgres \ connection_string="host=postgresql.example.com port=5432..." table="minioevents" \ format="namespace" \ [ARGUMENT="VALUE"] ... \
You can specify multiple PostgreSQL service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct PostgreSQL service endpoints asprimary
andsecondary
respectively:mc admin config set notify_postgres:primary \ connection_string="host=postgresql.example.com port=5432..." table="minioevents" \ format="namespace" \ [ARGUMENT=VALUE ...] mc admin config set notify_postgres:secondary \ connection_string="host=postgresql.example.com port=5432..." table="minioevents" \ format="namespace" \ [ARGUMENT=VALUE ...]
The
notify_postgres
configuration key supports the following arguments:- notify_postgres connection_string
Required
Specify the URI connection string of the PostgreSQL service endpoint. MinIO supports
key=value
format for the PostgreSQL connection string. For example:"host=https://postgresql.example.com port=5432 ..."
For more complete documentation on supported PostgreSQL connection string parameters, see the PostgreSQL COnnection Strings documentation .
This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_CONNECTION_STRING
environment variable.
- notify_postgres table
Required
Specify the name of the PostgreSQL table to which MinIO publishes event notifications.
This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_TABLE
environment variable.
- notify_postgres format
Required
Specify the format of event data written to the PostgreSQL service endpoint. MinIO supports the following values:
namespace
For each bucket event, the MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body. Additional updates to that object modify the existing table entry for that object. Similarly, deleting the object also deletes the corresponding table entry.
access
For each bucket event, MinIO creates a JSON document with the event details and appends it to the table with a PostgreSQL-generated random ID. Additional updates to an object result in new index entries, and existing entries remain unmodified.
This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_FORMAT
environment variable.
- notify_postgres max_open_connections
Optional
Specify the maximum number of open connections to the PostgreSQL database.
Defaults to
2
.This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS
environment variable.
- notify_postgres queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the PostgreSQL server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_QUEUE_DIR
environment variable.
- notify_postgres queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT
environment variable.
- notify_postgres comment
Optional
Specify a comment to associate with the PostgreSQL configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_POSTGRES_COMMENT
environment variable.
MySQL Service for Bucket Notifications
The following section documents settings for configuring an MySQL service as a target for Bucket Nofitications. See Publish Events to MySQL for a tutorial on using these environment variables.
- notify_mysql
The top-level configuration key for defining an MySQL service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an MySQL service endpoint. The following arguments are required for each target:Specify additional optional arguments as a whitespace (
" "
)-delimited list.mc admin config set notify_mysql \ dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb" table="minioevents" \ format="namespace" \ [ARGUMENT="VALUE"] ... \
You can specify multiple MySQL service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct MySQL service endpoints asprimary
andsecondary
respectively:mc admin config set notify_mysql:primary \ dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb" table="minioevents" \ format="namespace" \ [ARGUMENT=VALUE ...] mc admin config set notify_mysql:secondary \ dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb" table="minioevents" \ format="namespace" \ [ARGUMENT=VALUE ...]
The
notify_mysql
configuration key supports the following arguments:- notify_mysql dsn_string
Required
Specify the data source name (DSN) connection string for the MySQL service endpoint. MinIO expects the following format:
<user>:<password>@tcp(<host>:<port>)/<database>
For example:
"username:password@tcp(mysql.example.com:3306)/miniodb"
This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_DSN_STRING
environment variable.
- notify_mysql table
Required
Specify the name of the MySQL table to which MinIO publishes event notifications.
This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_TABLE
environment variable.
- notify_mysql format
Required
Specify the format of event data written to the MySQL service endpoint. MinIO supports the following values:
namespace
For each bucket event, the MinIO creates a JSON document with the bucket and object name from the event as the document ID and the actual event as part of the document body. Additional updates to that object modify the existing table entry for that object. Similarly, deleting the object also deletes the corresponding table entry.
access
For each bucket event, MinIO creates a JSON document with the event details and appends it to the table with a MySQL-generated random ID. Additional updates to an object result in new index entries, and existing entries remain unmodified.
This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_FORMAT
environment variable.
- notify_mysql max_open_connections
Optional
Specify the maximum number of open connections to the MySQL database.
Defaults to
2
.This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS
environment variable.
- notify_mysql queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the MySQL server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_QUEUE_DIR
environment variable.
- notify_mysql queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_QUEUE_LIMIT
environment variable.
- notify_mysql comment
Optional
Specify a comment to associate with the MySQL configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_MYSQL_COMMENT
environment variable.
Kafka Service for Bucket Notifications
The following section documents settings for configuring an Kafka service as a target for Bucket Nofitications. See Publish Events to Kafka for a tutorial on using these environment variables.
- notify_kafka
The top-level configuration key for defining an Kafka service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an Kafka service endpoint. Thebrokers
argument is required for each target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set notify_kafka \ brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200" [ARGUMENT="VALUE"] ... \
You can specify multiple Kafka service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct Kafka service endpoints asprimary
andsecondary
respectively:mc admin config set notify_kafka:primary \ brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200" [ARGUMENT=VALUE ...] mc admin config set notify_kafka:secondary \ brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200" [ARGUMENT=VALUE ...]
The
notify_kafka
configuration key supports the following arguments:- notify_kafka brokers
Required
Specify a comma-separated list of Kafka broker addresses. For example:
"kafka1.example.com:2021,kafka2.example.com:2021"
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_BROKERS
environment variable.
- notify_kafka topic
Optional
Specify the name of the Kafka topic to which MinIO publishes bucket events.
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_TOPIC
environment variable.
- notify_kafka sasl
Optional
Specify
on
to enable SASL authentication.This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_SASL
environment variable.
- notify_kafka sasl_username
Optional
Specify the username for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_SASL_USERNAME
environment variable.
- notify_kafka sasl_password
Optional
Specify the password for performing SASL/PLAIN or SASL/SCRAM authentication to the Kafka broker(s).
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_SASL_PASSWORD
environment variable.
- notify_kafka sasl_mechanism
Optional
Specify the SASL mechanism to use for authenticating to the Kafka broker(s). MinIO supports the following mechanisms:
PLAIN
(Default)SHA256
SHA512
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_SASL_MECHANISM
environment variable.
- notify_kafka tls_client_auth
Optional
Specify the client authentication type of the Kafka broker(s). The following table lists the supported values and their mappings
Value
Authentication Type
0
NoClientCert
1
RequestClientCert
2
RequireAnyClientCert
3
VerifyClientCertIfGiven
4
RequireAndVerifyClientCert
See ClientAuthType for more information on each client auth type. ..
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
environment variable.
- notify_kafka tls
Optional
Specify
on
to enable TLS connectivity to the Kafka broker(s)This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_TLS
environment variable.
- notify_kafka tls_skip_verify
Optional
Enables or disables TLS verification of the NATS service endpoint TLS certificates.
Specify
on
to disable TLS verification (Default).Specify
off
to enable TLS verification.
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY
environment variable.
- notify_kafka client_tls_cert
Optional
Specify the path to the client certificate to use for performing mTLS authentication to the Kafka broker(s).
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT
environment variable.
- notify_kafka client_tls_key
Optional
Specify the path to the client private key to use for performing mTLS authentication to the Kafka broker(s).
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY
environment variable.
- notify_kafka version
Optional
Specify the version of the Kafka cluster to assume when performing operations against that cluster. See the sarama reference documentation for more information on this field’s behavior.
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_VERSION
environment variable.
- notify_kafka queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the Kafka server/broker is offline and replays the directory when connectivity resumes.
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_QUEUE_DIR
environment variable.
- notify_kafka queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
environment variable.
- notify_kafka comment
Optional
Specify a comment to associate with the Kafka configuration.
This configuration setting corresponds to the
MINIO_NOTIFY_KAFKA_COMMENT
environment variable.
Webhook Service for Bucket Notifications
The following section documents settings for configuring an Webhook service as a target for Bucket Nofitications. See Publish Events to Webhook for a tutorial on using these environment variables.
- notify_webhook
The top-level configuration key for defining an Webhook service endpoint for use with MinIO bucket notifications.
Use
mc admin config set
to set or update an Webhook service endpoint. Theendpoint
argument is required for each target. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set notify_webhook \ endpoint="https://webhook.example.net" [ARGUMENT="VALUE"] ... \
You can specify multiple Webhook service endpoints by appending
[:name]
to the top level key. For example, the following commands set two distinct Webhook service endpoints asprimary
andsecondary
respectively:mc admin config set notify_webhook:primary \ endpoint="https://webhook1.example.net" [ARGUMENT=VALUE ...] mc admin config set notify_webhook:secondary \ endpoint="https://webhook2.example.net [ARGUMENT=VALUE ...]
The
notify_webhook
configuration key supports the following arguments:- notify_webhook endpoint
Required
Specify the URL for the webhook service.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_ENDPOINT
environment variable.
- notify_webhook auth_token
Optional
Specify the opaque string or JWT authorization token to use for authenticating to the webhook service.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN
environment variable.
- notify_webhook queue_dir
Optional
Specify the directory path to enable MinIO’s persistent event store for undelivered messages, such as
/home/events
.MinIO stores undelivered events in the specified store while the webhook service is offline and replays the directory when connectivity resumes.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_QUEUE_DIR
environment variable.
- notify_webhook queue_limit
Optional
Specify the maximum limit for undelivered messages. Defaults to
100000
.This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT
environment variable.
- notify_webhook client_cert
Optional
Specify the path to the client certificate to use for performing mTLS authentication to the webhook service.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_CLIENT_CERT
environment variable.
- notify_webhook client_key
Optional
Specify the path to the client private key to use for performing mTLS authentication to the webhook service.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_CLIENT_KEY
environment variable.
- notify_webhook comment
Optional
Specify a comment to associate with the Webhook configuration.
This configuration setting corresponds with the
MINIO_NOTIFY_WEBHOOK_COMMENT
environment variable.
Active Directory / LDAP Identity Management
The following section documents settings for enabling external identity management using an Active Directory or LDAP service. See Active Directory / LDAP Access Management for a tutorial on using these configuration settings.
- identity_ldap
The top-level key for configuring external identity management using Active Directory or LDAP.
Use the
mc admin config set
to set or update the AD/LDAP configuration. The following arguments are required:mc admin config set identity_ldap \ enabled="true" \ server_addr="https://ad-ldap.example.net/" \ lookup_bind_dn="cn=miniolookupuser,dc=example,dc=net" \ lookup_bind_dn_password="userpassword" \ user_dn_search_base_dn="dc=example,dc=net" \ user_dn_search_filter="(&(objectCategory=user)(sAMAccountName=%s))"
The
identity_ldap
configuration key supports the following arguments:- identity_ldap server_addr
Required
Specify the hostname for the Active Directory / LDAP server. For example:
https://ldapserver.com:636
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_SERVER_ADDR
environment variable.
- identity_ldap lookup_bind_dn
Required
Specify the Distinguished Name (DN) for an AD/LDAP account MinIO uses when querying the AD/LDAP server. Enables Lookup-Bind authentication to the AD/LDAP server.
The DN account should be a read-only access keys with sufficient privileges to support querying performing user and group lookups.
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN
environment variable.
- identity_ldap lookup_bind_password
Required
Specify the password for the Lookup-Bind user account.
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD
environment variable.
- identity_ldap user_dn_search_base_dn
Required
Specify the base Distinguished name (DN) MinIO uses when querying for user credentials matching those provided by an authenticating client. For example:
cn=miniousers,dc=myldapserver,dc=net
Supports Lookup-Bind mode.
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN
environment variable.
- identity_ldap user_dn_search_filter
Required
Specify the AD/LDAP search filter MinIO uses when querying for user credentials matching those provided by an authenticating client.
Use the
%s
substitution character to insert the client-specified username into the search string. For example:(userPrincipalName=%s)
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER
environment variable.
- identity_ldap enabled
Optional
Set to
false
to disable the AD/LDAP configuration.If
false
, applications cannot generate STS credentials or otherwise authenticate to MinIO using the configured provider.Defaults to
true
or “enabled”.
- identity_ldap sts_expiry
Optional
Specify the duration for which the credentials are valid as
<int><unit>
. Valid time units are as follows:s
- seconds.m
- minutes.h
- hours.d
- days
The default is
1h
or 1 hour.This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_STS_EXPIRY
environment variable.
- identity_ldap username_format
Optional
Specify a comma-separated list of Distinguished Name templates used for querying the AD/LDAP server. MinIO attempts to login to the AD/LDAP server by applying the user credentials specified by the authenticating client to each DN template.
Use the
%s
substitution character to insert the client-specified username into the search string. For example:uid=%s,cn=miniousers,dc=myldapserver,dc=net,userPrincipalName=%s,cn=miniousers,dc=myldapserver,dc=net
MinIO uses the first DN template that results in successful login to perform a group lookup for that user.
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_USERNAME_FORMAT
environment variable.
- identity_ldap group_search_filter
Optional
Specify an AD/LDAP search filter for performing group lookups for the authenticated user
Use the
%s
substitution character to insert the client-specified username into the search string. Use the%d
substitution character to insert the Distinguished Name of the client-specified username into the search string.For example:
(&(objectclass=groupOfNames)(memberUid=%s))
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER
environment variable.
- identity_ldap group_search_base_dn
Optional
Specify a comma-separated list of group search base Distinguished Names MinIO uses when performing group lookups.
For example:
cn=miniogroups,dc=myldapserver,dc=net"
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN
environment variable.
- identity_ldap tls_skip_verify
Optional
Specify
on
to trust the AD/LDAP server TLS certificates without verification. This option may be required if the AD/LDAP server TLS certificates are signed by an untrusted Certificate Authority (e.g. self-signed).Defaults to
off
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY
environment variable.
- identity_ldap server_insecure
Optional
Specify
on
to allow unsecured (non-TLS encrypted) connections to the AD/LDAP server.MinIO sends AD/LDAP user credentials in plain text to the AD/LDAP server, such that enabling TLS is required to prevent reading credentials over the wire. Using this option presents a security risk where any user with access to network traffic can observe the unencrypted plaintext credentials.
Defaults to
off
.This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_SERVER_INSECURE
environment variable.
- identity_ldap server_starttls
Optional
Specify
on
to enable StartTLS connections to AD/LDAP server.Defaults to
off
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_SERVER_STARTTLS
environment variable.
- identity_ldap comment
Optional
Specify a comment to associate to the AD/LDAP configuration.
This configuration setting corresponds with the
MINIO_IDENTITY_LDAP_COMMENT
environment variable.
OpenID Identity Management
The following section documents settings for enabling external identity management using an OpenID Connect (OIDC)-compatible provider. See OpenID Connect Access Management for a tutorial on using these configuration settings.
- identity_openid
The top-level configuration key for configuring external identity management using OpenID.
Use
mc admin config set
to set or update the OpenID configuration. Theconfig_url
argument is required. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set identity_openid \ config_url="https://openid-provider.example.net/.well-known/openid-configuration" [ARGUMENT="VALUE"] ... \
The
identity_openid
configuration key supports the following arguments:- identity_openid config_url
Required
Specify the URL for the OIDC compatible provider discovery document.
The OIDC Discovery URL typically resembles the following:
https://openid-provider.example.net/.well-known/openid-configuration
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CONFIG_URL
environment variable.
- identity_openid enabled
Optional
Set to
false
to disable the OpenID configuration.Applications cannot generate STS credentials or otherwise authenticate to MinIO using the configured provider if set to
false
.Defaults to
true
or “enabled”.
- identity_openid client_id
Optional
Specify the unique public identifier MinIO uses when authenticating user credentials against the OIDC compatible provider.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CLIENT_ID
environment variable.
- identity_openid client_secret
Optional
Specify the client secret MinIO uses when authenticating user credentials against the OIDC compatible provider. This field may be optional depending on the provider.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CLIENT_SECRET
environment variable.
- identity_openid claim_name
Optional
Specify the name of the JWT Claim MinIO uses to identify the policies to attach to the authenticated user.
The claim can contain one or more comma-separated policy names to attach to the user. The claim must contain at least one policy for the user to have any permissions on the MinIO server.
Defaults to
policy
.This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CLAIM_NAME
environment variable.
- identity_openid claim_prefix
Optional
Specify the JWT Claim namespace prefix to apply to the specified claim name.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CLAIM_PREFIX
environment variable.
- identity_openid display_name
Optional
Specify the user-facing name the MinIO Console displays on the login screen.
- identity_openid scopes
Specify a comma-separated list of scopes. Defaults to those scopes advertised in the discovery document.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_SCOPES
environment variable.
- identity_openid redirect_uri
Optional
Important
This parameter is deprecated and will be removed in a future release. Use
MINIO_BROWSER_REDIRECT_URL
instead.The MinIO Console defaults to using the hostname of the node making the authentication request. For MinIO deployments behind a load balancer or reverse proxy, specify this field to ensure the OIDC provider returns the authentication response to the correct MinIO Console URL. Include the Console hostname, port, and
/oauth_callback
:http://minio.example.net:consoleport/oauth_callback
Ensure you start the MinIO Server with the
--console-address
option to set a static Console listen port. The default behavior with that option omitted is to select a random port number at startup.The specified URI must match one of the approved redirect / callback URIs on the provider. See the OpenID Authentication Request for more information.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_REDIRECT_URI
environment variable.
- identity_openid redirect_uri_dynamic
Optional
The MinIO Console defaults to using the hostname of the node making the authentication request as part of the redirect URI provided to the OIDC provider. For MinIO deployments behind a load balancer using a round-robin protocol, this may result in the load balancer returning the response to a different MinIO Node than the originating client.
Specify this option as
true
to direct the MinIO Console to use theHost
header of the originating request to construct the redirect URI passed to the OIDC provider.This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC
environment variable.
- identity_openid claim_userinfo
Optional
Specify the OpenID User info API endpoint for the OIDC service. For example,
https://oidc-endpoint:port/realms/REALM/protocol/openid-connect/userinfo
Some OIDC providers do not provide group information as part of the JWT response after authentication. Specify this URL to direct MinIO to make an additional API call to construct the complete JWT token.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_CLAIM_USERINFO
environment variable.
- identity_openid vendor
Optional
Specify the OIDC Vendor to enable specific supported behaviors for that vendor.
Supports the following value:
keycloak
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_VENDOR
environment variable.
- identity_openid keycloak_realm
Optional
Specify the Keycloak Realm to use as part of Keycloak Admin API Operations, such as
main
.This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_KEYCLOAK_REALM
environment variable.Requires
identity_openid.vendor
set tokeycloak
.
- identity_openid keycloak_admin_url
Optional
Specify the Keycloak Admin API URL. MinIO can use this URL if configured to periodically validate authenticated Keycloak users as active/existing. For example,
https://keycloak-endpoint:port/admin/
.This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_KEYCLOAK_ADMIN_URL
environment variable.Requires
identity_openid.vendor
set tokeycloak
.
- identity_openid comment
Specify a comment to associate with the OIDC compatible provider configuration.
This configuration setting corresponds with the
MINIO_IDENTITY_OPENID_COMMENT
environment variable.
Identity Management Plugin
The following section documents settings for enabling external identity management using the MinIO Identity Management Plugin. See MinIO External Identity Management Plugin for a tutorial on using these configuration settings.
- identity_plugin
The top-level configuration key for enabling MinIO External Identity Management Plugin.
Use
mc admin config set
to set or update the configuration. Theurl
androle_policy
arguments are required. Specify additional optional arguments as a whitespace (" "
)-delimited list.mc admin config set identity_plugin \ url="https://external-auth.example.net:8080/auth" \ role_policy="consoleAdmin" \ [ARGUMENT=VALUE] ... \
The
identity_plugin
configuration key supports the following arguments:- identity_plugin url
Required
The webhook endpoint for the external identity management service (
https://authservice.example.net:8080/auth
).
- identity_plugin role_policy
Required
Specify a comma separated list of MinIO policies to assign to authenticated users.
- identity_plugin enabled
Optional
Set to
false
to disable the identity provider configuration.Applications cannot generate STS credentials or otherwise authenticate to MinIO using the configured provider if set to
false
.Defaults to
true
or “enabled”.
- identity_plugin token
Optional
An authentication token to present to the configured webhook endpoint.
Specify a supported HTTP Authentication scheme as a string value, such as
"Bearer TOKEN"
. MinIO sends the token using the HTTP Authorization header.