STS Settings
This page documents settings for configuring Security Token Service (STS) behavior in MinIO AIStor. STS provides temporary security credentials for users authenticated through external identity providers such as OpenID Connect or LDAP.
You can establish or modify these settings by defining environment variables on the host system prior to starting or restarting the AIStor Server. Refer to your operating system’s documentation for how to define an environment variable.
These settings are environment variables only and do not have corresponding mc admin config settings.
Each configuration setting controls fundamental MinIO AIStor behavior and functionality. MinIO AIStor strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.
Example
export MINIO_STS_DURATION=1h
export MINIO_STS_SECURE=on
export MINIO_STS_RATE_LIMIT_PER_IP=10
export MINIO_STS_RATE_LIMIT_PER_LDAP_USER=5
export MINIO_STS_RATE_LIMIT_GLOBAL=50Settings
Duration
Optional
MINIO_STS_DURATIONThe default lifetime for STS tokens issued by MinIO AIStor.
Specify as a Go duration string such as 1h, 30m, 24h, or 1h30m.
This value applies when no explicit DurationSeconds parameter is provided in the STS request.
- Valid Range:
15m(15 minutes) to8760h(365 days) - Default:
1h(1 hour)
For example, to set the default STS token duration to 8 hours:
export MINIO_STS_DURATION=8hTo set the default STS token duration to 24 hours:
export MINIO_STS_DURATION=24hSecure
Optional
MINIO_STS_SECURERequire TLS for all STS operations. When enabled, STS endpoints only accept requests over HTTPS connections.
- Valid Values:
on,off - Default:
off
MinIO AIStor recommends enabling this setting in production environments to ensure STS operations occur over encrypted connections.
export MINIO_STS_SECURE=onToken Revoke
Optional
MINIO_STS_TOKEN_REVOKEEnable the STS token revocation feature. When enabled, administrators can revoke issued STS tokens before their expiration.
- Valid Values:
on,off - Default:
off
export MINIO_STS_TOKEN_REVOKE=onSee Token revocation for usage instructions and mc commands.
Strict Expiration
Optional
MINIO_STS_STRICT_EXPIRATIONControl how MinIO AIStor enforces STS token expiration.
- Valid Values:
on,off - Default:
on
When enabled (default), MinIO AIStor enforces strict token expiration based on the configured duration. When disabled, JWT token expiration claims may override the minimum or maximum allowed STS duration.
Keep this setting enabled unless your authentication workflow requires JWT claim-driven expiration.
export MINIO_STS_STRICT_EXPIRATION=onRate Limiting
MinIO AIStor supports rate limiting STS endpoints to protect upstream identity providers from overload and prevent brute-force authentication attacks.
Rate Limit Per IP
Optional
MINIO_STS_RATE_LIMIT_PER_IPThe maximum number of STS requests per second allowed from a single source IP address on each node. This prevents a single source from flooding the STS endpoint, which could cascade to upstream identity provider lockout.
- Valid Values: Non-negative integer (requests per second)
- Default:
10 - Special Value:
0disables per-IP rate limiting
export MINIO_STS_RATE_LIMIT_PER_IP=10Rate Limit Per LDAP User
Optional
MINIO_STS_RATE_LIMIT_PER_LDAP_USERThe maximum number of STS requests per second allowed for a specific LDAP user on each node. This prevents distributed attackers (many IPs) from locking out a specific LDAP user account by rate limiting based on the target username.
This setting applies only to LDAP-based STS authentication. LDAP is the only STS method where the username is sent as a plaintext parameter. Other methods (WebIdentity, ClientGrants, Certificate) use JWTs or certificates where brute-force is not a practical concern.
- Valid Values: Non-negative integer (requests per second)
- Default:
5 - Special Value:
0disables per-LDAP-user rate limiting
export MINIO_STS_RATE_LIMIT_PER_LDAP_USER=5Rate Limit Global
Optional
MINIO_STS_RATE_LIMIT_GLOBALThe maximum number of total STS requests per second allowed on each node, across all IPs and users. This sets a ceiling on total STS authentication throughput per node, protecting upstream identity providers from overload.
- Valid Values: Non-negative integer (requests per second)
- Default:
50 - Special Value:
0disables global rate limiting
export MINIO_STS_RATE_LIMIT_GLOBAL=50Expiration Limits
MinIO AIStor enforces the following limits on STS token expiration:
| Limit | Value |
|---|---|
| Minimum expiration | 15m (15 minutes) |
| Maximum expiration | 8760h (365 days) |
These limits apply to both the MINIO_STS_DURATION setting and the DurationSeconds parameter in STS requests.