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 目前还不支持,吐槽下

相关推荐
JIngles1231 天前
用 Dart 通过 S3 API 操作 MinIO:文件上传与下载 Demo
中间件·minio·存储
凤山老林10 天前
企业级文件服务中台:Spring Boot 集成 MinIO 实现分片存储、生命周期管理与多租户隔离
java·spring boot·后端·minio·文件服务
java_logo18 天前
Docker 部署 MinIO:轻松搭建 S3 兼容对象存储平台
运维·docker·容器·对象存储·minio·轩辕镜像·minio部署
成为你的宁宁21 天前
【MinIO 分布式集群运维实战:客户端MC、故障恢复、扩容、备份还原与Prometheus监控】
minio
时空无限1 个月前
minio 设置策略
minio
分布式存储与RustFS3 个月前
RustFS S3 Table 开源后,我重新梳理了一下 Iceberg 数据湖的选型思路
人工智能·开源·minio·dpu·rustfs·ai存储·s3 table
sg_knight4 个月前
负载均衡配置:使用 Nginx 反向代理 MinIO 集群的实战教程
运维·nginx·负载均衡·文件管理·minio·cos·oss
遇见火星4 个月前
MinIO使用笔记
笔记·minio
分布式存储与RustFS5 个月前
Helm在Kubernetes上部署RustFS生产环境指南
分布式·零基础·picgo·对象存储·minio·rustfs
johnny2335 个月前
MinIO分片上传完整实现
minio