minio/internal
Andreas Auernhammer 09626d78ff
automatically generate root credentials with KMS (#19025)
With this commit, MinIO generates root credentials automatically
and deterministically if:

 - No root credentials have been set.
 - A KMS (KES) is configured.
 - API access for the root credentials is disabled (lockdown mode).

Before, MinIO defaults to `minioadmin` for both the access and
secret keys. Now, MinIO generates unique root credentials
automatically on startup using the KMS.

Therefore, it uses the KMS HMAC function to generate pseudo-random
values. These values never change as long as the KMS key remains
the same, and the KMS key must continue to exist since all IAM data
is encrypted with it.

Backward compatibility:

This commit should not cause existing deployments to break. It only
changes the root credentials of deployments that have a KMS configured
(KES, not a static key) but have not set any admin credentials. Such
implementations should be rare or not exist at all.

Even if the worst case would be updating root credentials in mc
or other clients used to administer the cluster. Root credentials
are anyway not intended for regular S3 operations.

Signed-off-by: Andreas Auernhammer <github@aead.dev>
2024-03-01 13:09:42 -08:00
..
amztime add codespell action (#18818) 2024-01-17 23:03:17 -08:00
arn Allow OpenID ARN resource ID to start with a `-` (#18255) 2023-10-16 13:50:51 -07:00
auth automatically generate root credentials with KMS (#19025) 2024-03-01 13:09:42 -08:00
bpool Add cgroup v2 support for memory limit (#18905) 2024-01-30 11:13:27 -08:00
bucket ilm: Select an object when all AND tags are satisfied (#19134) 2024-02-26 16:01:20 -08:00
cachevalue debug: introduce support for configuring client connect WRITE deadline (#19170) 2024-03-01 08:00:42 -08:00
color log: Do not interpret verbs in object names in console output (#16233) 2022-12-13 08:27:40 -08:00
config feat: add userCredentials for nats (#19139) 2024-02-27 10:11:55 -08:00
crypto use typos instead of codespell (#19088) 2024-02-21 22:26:06 -08:00
deadlineconn add deadlineConnections on remoteTransport (#16010) 2022-11-05 11:09:21 -07:00
disk Read drive IO stats from sysfs instead of procfs (#19131) 2024-02-26 11:34:50 -08:00
dsync use typos instead of codespell (#19088) 2024-02-21 22:26:06 -08:00
etag add codespell action (#18818) 2024-01-17 23:03:17 -08:00
event feat: add userCredentials for nats (#19139) 2024-02-27 10:11:55 -08:00
fips disable builds for go1.18 (#16332) 2022-12-30 11:37:07 -08:00
grid Mux: Send async mux ack and fix stream error responses (#19149) 2024-02-28 10:05:18 -08:00
handlers send proper IPv6 names avoid bracketing notation (#18699) 2023-12-21 16:56:55 -08:00
hash add codespell action (#18818) 2024-01-17 23:03:17 -08:00
http debug: introduce support for configuring client connect WRITE deadline (#19170) 2024-03-01 08:00:42 -08:00
init force all internal MinIO operations to be under UTC (#16009) 2022-11-04 16:44:38 -07:00
ioutil simplify deadlineWriter, re-use WithDeadline (#18948) 2024-02-02 03:02:31 -08:00
jwt allow JWT parsing on large session policy based tokens (#17167) 2023-05-09 00:53:08 -07:00
kms automatically generate root credentials with KMS (#19025) 2024-03-01 13:09:42 -08:00
lock fix: linter errors in Windows specific code (#18276) 2023-10-18 11:08:15 -07:00
logger use typos instead of codespell (#19088) 2024-02-21 22:26:06 -08:00
lsync cleanup Go linter settings (#16736) 2023-03-04 20:57:35 -08:00
mcontext Add X-Amz-Request-Id to internode calls (#16146) 2022-12-06 09:27:26 -08:00
mountinfo add codespell action (#18818) 2024-01-17 23:03:17 -08:00
net fix: return error when requested interface has no stats available (#17666) 2023-07-17 01:14:01 -07:00
once Support persistent queue store for loggers (#17121) 2023-05-08 21:20:31 -07:00
pubsub Fix tracing send on closed channel (#18982) 2024-02-06 08:57:30 -08:00
rest fix: relax metadata checks for healing (#19165) 2024-02-29 22:49:01 -08:00
s3select use typos instead of codespell (#19088) 2024-02-21 22:26:06 -08:00
store avoid close 'nil' panics if any (#18890) 2024-01-28 10:04:17 -08:00