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

相关推荐
阿杜杜不是阿木木11 小时前
authentik开源身份认证与管理平台-与 Gitea 集成(6)
gitea·authing·authentik
阿杜杜不是阿木木11 小时前
authentik开源身份认证与管理平台-介绍与安装(1)
数据库·redis·开源·authing·sso·authentik
阿杜杜不是阿木木12 小时前
authentik开源身份认证与管理平台-与 SonarQube 集成(7)
sonarqube·authentik
sg_knight4 天前
Docker环境下的MinIO安装,以及如何正确配置数据持久化(避坑篇)
运维·docker·容器·minio·ftp·cos·oss
sg_knight4 天前
MinIO自带的Web Console管理后台怎么用?日常管理操作全解
前端·文件管理·minio·ftp·cos·oss
分布式存储与RustFS4 天前
RustFS永久开源承诺深度解读:Apache 2.0协议、商业化边界、社区可信度
开源·apache·数据安全·对象存储·minio·企业存储·rustfs
sg_knight5 天前
CentOS 裸机实操:5分钟完成 MinIO 单机部署与公网访问
linux·python·centos·文件管理·minio·ftp·oss
伟大的大威10 天前
彻底解决 Nginx Proxy Manager 反代 MinIO 报 SignatureDoesNotMatch (S3 签名不匹配) 的终极方案
运维·nginx·minio
DexterLien14 天前
使用开源 Authentik 实现 AWS 单点登录
aws·sso·saml·authentik