文章目录
- [什么是 MinIO](#什么是 MinIO)
- 准备
- authentik配置
- [MinIO 配置](#MinIO 配置)
-
- [Environment variables 环境变量](#Environment variables 环境变量)
- [Web interface 网络界面](#Web interface 网络界面)
- [Command line 命令行](#Command line 命令行)
- 配置验证
- [RustFS 目前还不支持,吐槽下](#RustFS 目前还不支持,吐槽下)
什么是 MinIO
MinIO 是一个 Amazon S3 兼容的对象存储套件,能够处理结构化和非结构化数据,包括日志文件、对象、备份、容器映像、照片和视频。目前支持的最大对象大小为 5 TB。
准备
在本指南中,使用了以下占位符:
minio.company 是 MinIO 安装的 FQDN。
authentik.company 是 authentik 安装的 FQDN。
产品变更
自 2025 年 12 月起,MinIO 将处于维护模式。MinIO AIStor Free 是其闭源商业许可的替代产品;一个功能齐全、单节点部署,支持 SSO。
authentik配置
为了支持 MinIO 与 authentik 的集成,您需要在 authentik 中创建一个应用程序/提供程序对。
-
作为管理员登录到 authentik 并打开 authentik 管理员界面。
-
导航至
应用程序 > 应用程序,然后单击使用提供程序创建以创建应用程序和提供程序对。 (或者,您可以先单独创建提供程序,然后创建应用程序并将其连接到提供程序。)

-
应用程序 :提供一个描述性名称、一个可选的应用程序类型组、策略引擎模式和可选的 UI 设置。
应用名称:MinIO-HDD, Slug会自动带出:minio-hdd
应用名称:MinIO-SSD, Slug会自动带出:minio-ssd

-
选择提供者类型 :选择
OAuth2/OpenID Connect作为提供者类型。

-
配置提供者 :提供名称(或接受自动提供的名称)、用于此提供者的授权流程以及以下必需配置。
注意客户端 ID、 客户端密钥和 slug 值,因为它们将在稍后需要。设置一个 Strict 重定向 URI 为 https://minio.company/oauth_callback 。
选择任何可用的签署密钥。
确保禁用加密。

-
配置绑定 (可选):您可以创建一个 绑定 (策略、组或用户)来管理用户"我的应用程序"页面上应用程序的列表和访问权限。

-
-
单击提交以保存新应用程序和提供程序。
MinIO 配置
您可以通过三种不同的方式设置 OpenID:通过环境变量、网络界面或命令行。
Environment variables 环境变量
MINIO_IDENTITY_OPENID_CONFIG_URL="https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
MINIO_IDENTITY_OPENID_CLIENT_ID="<client id>"
MINIO_IDENTITY_OPENID_CLIENT_SECRET="<client secret>"
MINIO_IDENTITY_OPENID_DISPLAY_NAME="authentik"
MINIO_IDENTITY_OPENID_CLAIM_NAME="policy"
MINIO_IDENTITY_OPENID_SCOPES="openid,profile,email"
Web interface 网络界面
从主页的侧边栏,转到 访问 > OpenID,点击 添加配置
Administrator > Identity > OPENID > OPENID Configurations > Create Configuration
然后配置以下设置:
- 名称 :MinIO
- 配置 URL: https://authentik.company/application/o/\<application_slug>/.well-known/openid-configuration
- 客户端 ID:您在上一步中输入的客户端 ID
- 客户端密钥 :您在上一步中提供的客户端密钥
- 范围 :openid、email、profile
- 重定向 URI: https://minio.company/oauth_callback

最后,单击保存并按照弹出窗口中的说明重新启动实例。
Command line 命令行
您必须从 这里 安装 MinIO binaries。然后,您需要使用: mc alias set myminio https://minio.company 创建实例别名。您可以按照 这个 StackOverflow 答案创建秘密密钥和访问密钥。
完成之后,运行以下命令配置 OpenID 服务:
bash
~ mc admin config set myminio identity_openid \
config_url="https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration" \
client_id="<client id>" \
client_secret="<client secret>" \
scopes="openid,profile,email"
OIDC 上的 MinIO 上游文档 表示,根据提供者的不同,client_secret(因此也是机密的客户端类型)是可选的。在单节点 MinIO 实例上进行实验,发现客户端秘密是必需的,并且没有进一步的问题。
配置验证
为了验证 MinIO 中的 authentik 设置是否正确,请注销,然后使用使用 authentik 登录按钮重新登录。
