authentik开源身份认证与管理平台-与 MinIO 集成(8)

文章目录

  • [什么是 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 中创建一个应用程序/提供程序对。

  1. 作为管理员登录到 authentik 并打开 authentik 管理员界面。

  2. 导航至应用程序 > 应用程序 ,然后单击使用提供程序创建以创建应用程序和提供程序对。 (或者,您可以先单独创建提供程序,然后创建应用程序并将其连接到提供程序。)

    • 应用程序 :提供一个描述性名称、一个可选的应用程序类型组、策略引擎模式和可选的 UI 设置。

      应用名称:MinIO-HDD, Slug会自动带出:minio-hdd

      应用名称:MinIO-SSD, Slug会自动带出:minio-ssd

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

    • 配置提供者 :提供名称(或接受自动提供的名称)、用于此提供者的授权流程以及以下必需配置。
      注意客户端 ID、 客户端密钥和 slug 值,因为它们将在稍后需要。

      设置一个 Strict 重定向 URI 为 https://minio.company/oauth_callback

      选择任何可用的签署密钥。

      确保禁用加密。

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

  3. 单击提交以保存新应用程序和提供程序。

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

然后配置以下设置:

最后,单击保存并按照弹出窗口中的说明重新启动实例。

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 登录按钮重新登录。

RustFS 目前还不支持,吐槽下

相关推荐
分布式存储与RustFS4 天前
Helm在Kubernetes上部署RustFS生产环境指南
分布式·零基础·picgo·对象存储·minio·rustfs
johnny2338 天前
MinIO分片上传完整实现
minio
sg_knight9 天前
MinIO 进阶:文件下载、批量获取与打包压缩全攻略
文件管理·minio·ftp·cos·oss·文件服务器
分布式存储与RustFS13 天前
MinIO迎来“恶龙”?RustFS这款开源存储简直“不讲武德”
架构·rust·开源·对象存储·minio·企业存储·rustfs
sg_knight17 天前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
分布式存储与RustFS17 天前
AI 数据湖最佳实践:RustFS 支撑大模型训练的存储架构与性能优化
人工智能·性能优化·架构·对象存储·minio·企业存储·rustfs
阿杜杜不是阿木木19 天前
authentik开源身份认证与管理平台-与 Grafana 集成(12)
grafana·authentik
阿杜杜不是阿木木20 天前
authentik开源身份认证与管理平台-与 Rancher 集成(11)
开源·rancher·authentik
阿杜杜不是阿木木21 天前
authentik开源身份认证与管理平台-与 Node-RED 集成(4)
authing·node-red·authentik
阿杜杜不是阿木木21 天前
authentik开源身份认证与管理平台-与 Immich 集成(9)
immich·authentik