配置 MinIO 使用 Active Directory / LDAP 进行身份验证
概述
MinIO支持配置单个Active Directory / LDAP连接,用于外部管理用户身份。
本页面的操作步骤提供以下指导:
对于使用MinIO Kubernetes Operator此程序涵盖:
配置 MinIO 租户以使用外部 AD/LDAP 提供程序
使用 AD/LDAP 凭据访问租户控制台。
使用 MinIO
AssumeRoleWithLDAPIdentity安全令牌服务(STS)API,用于生成供应用程序使用的临时凭证。
对于裸机基础设施上的 MinIO 部署,本流程涵盖:
为外部 AD/LDAP 提供商配置 MinIO 集群。
使用 AD/LDAP 凭据访问 MinIO 控制台。
使用 MinIO
AssumeRoleWithLDAPIdentity安全令牌服务(STS)API,用于生成供应用程序使用的临时凭证。
此过程适用于通用的 AD/LDAP 服务。 有关配置用户身份的具体说明或步骤,请参阅您所选 AD/LDAP 提供商的文档。
前提条件
访问 MinIO 集群
Active Directory / LDAP 兼容身份提供程序
本流程假定已存在 Active Directory 或 LDAP 服务。 有关配置 AD/LDAP 的说明不在本流程范围内。
对于与MinIO租户位于同一Kubernetes集群内的AD/LDAP部署,您可以使用Kubernetes服务名称来允许MinIO租户建立与AD/LDAP服务的连接。
对于部署在 Kubernetes 集群外部的 AD/LDAP,必须确保集群支持 Kubernetes 服务和 Pod 与外部网络之间的路由通信。 这可能需要配置或部署额外的 Kubernetes 网络组件,和/或启用对公共互联网的访问。
MinIO 部署必须与目标 AD / LDAP 服务具有双向网络连接。
MinIO 需要一个只读访问密钥,通过该密钥绑定执行经过身份验证的用户和组查询。 确保每个计划用于MinIO的AD/LDAP用户和组都有对应的政策在 MinIO 部署上。 一个未分配策略的 AD/LDAP 用户和没有分配策略的组成员身份没有权限访问 MinIO 集群上的任何操作或资源。
配置 MinIO 与 Active Directory 或 LDAP 外部身份管理
设置 Active Directory / LDAP 配置参数
使用以下方式之一配置 AD/LDAP 提供程序:
MinIO 客户端
环境变量
所有方法都需要启动/重启 MinIO 部署才能使更改生效。
以下选项卡提供了可用配置方法的快速参考:
MinIO支持使用以下方式指定AD/LDAP提供程序设置
mc idp ldap命令。对于分布式部署,
mc idp ldap该命令将配置应用到部署中的所有节点。- 以下示例代码设置全部与配置外部身份管理 AD/LDAP 提供程序相关的配置设置。
最小值必需设置是:
mc idp ldap add ALIAS \ server_addr="ldaps.example.net:636" \ lookup_bind_dn="CN=xxxxx,OU=xxxxx,OU=xxxxx,DC=example,DC=net" \ lookup_bind_password="xxxxxxxx" \ user_dn_search_base_dn="DC=example,DC=net" \ user_dn_search_filter="(&(objectCategory=user)(sAMAccountName=%s))" \ group_search_filter= "(&(objectClass=group)(member=%d))" \ group_search_base_dn="ou=MinIO Users,dc=example,dc=net" \ tls_skip_verify="off" \ server_insecure=off \ server_starttls="off" \ srv_record_name="" \ comment="Test LDAP server"
对于Kubernetes部署,请确保ALIAS对应于 MinIO 租户外部可访问的主机名。
有关这些设置的更完整文档,请参阅
mc idp ldap.mc idp ldap提供额外的功能和改进的验证mc admin config set运行时配置设置。mc idp ldap支持与...相同的设置mc admin config和identity_ldap配置键。The
identity_ldap配置密钥对现有脚本和工具保持可用。- MinIO支持使用以下方式指定AD/LDAP提供程序设置环境变量.
The
minio serverprocess applies the specified settings on its next startup. 对于分布式部署,请使用以下方式在部署中的所有节点上指定这些设置:相同值。 节点间的服务器配置差异将导致启动或配置失败。
以下示例代码设置全部与配置外部身份管理的AD/LDAP提供程序相关的环境变量。最低配置要求必需变量是:
export MINIO_IDENTITY_LDAP_SERVER_ADDR="ldaps.example.net:636" export MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN="CN=xxxxx,OU=xxxxx,OU=xxxxx,DC=example,DC=net" export MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN="dc=example,dc=net" export MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER="(&(objectCategory=user)(sAMAccountName=%s))" export MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD="xxxxxxxxx" export MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER="(&(objectClass=group)(member=%d))" export MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN="ou=MinIO Users,dc=example,dc=net" export MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY="off" export MINIO_IDENTITY_LDAP_SERVER_INSECURE="off" export MINIO_IDENTITY_LDAP_SERVER_STARTTLS="off" export MINIO_IDENTITY_LDAP_SRV_RECORD_NAME="" export MINIO_IDENTITY_LDAP_COMMENT="LDAP test server"
有关这些变量的完整文档,请参阅Active Directory / LDAP Settings.
重启 MinIO 部署
您必须重启 MinIO 部署才能使配置更改生效。
如果您通过 MinIO 控制台配置了 AD/LDAP,则无需执行其他操作。 MinIO 控制台会在保存新的 AD/LDAP 配置后自动重启部署。
对于 MinIO 客户端和环境变量配置,请使用
mc admin service restart重启部署的命令:mc admin service restart ALIAS
替换
ALIAS随着别名部署的重启。使用 MinIO 控制台通过 AD/LDAP 凭据登录
MinIO Console 支持完整的 AD/LDAP 提供者身份验证工作流,使用 MinIO 生成临时凭证AssumeRoleWithLDAPIdentitySecurity Token Service (STS) 端点,并将用户登录到 MinIO 部署中。
您可以通过打开 MinIO 集群的根 URL 来访问控制台。例如,
https://minio.example.net:9000.登录后,您可以执行已认证用户有权进行的任何操作授权.
你也可以创建访问密钥用于支持必须在 MinIO 上执行操作的应用程序。 访问密钥是长期有效的凭证,继承其父用户的权限。 父用户在创建服务账户时可以进一步限制这些权限。
使用 AD/LDAP 凭据生成 S3 兼容临时凭据
MinIO要求客户端使用身份验证AWS Signature Version 4 protocol支持已弃用的签名版本 2 协议。 具体而言,客户端必须提供有效的访问密钥和密钥才能访问任何 S3 或 MinIO 管理 API,例如
PUT,GET和DELETE操作。应用程序可以根据需要使用AssumeRoleWithLDAPIdentitySecurity Token Service (STS) API endpoint and AD/LDAP user credentials. MinIO provides an example Go applicationldap.go管理此工作流程的。
POST https://minio.example.net?Action=AssumeRoleWithLDAPIdentity &LDAPUsername=USERNAME &LDAPPassword=PASSWORD &Version=2011-06-15 &Policy={}
替换
LDAPUsername使用 AD/LDAP 用户的用户名。替换
LDAPPassword使用 AD/LDAP 用户的密码。替换
Policy带有内联 URL 编码的 JSON政策进一步限制与临时凭证关联的权限。省略使用名称匹配的策略Active Directory/LDAP 用户的专有名称 (DN)。
API响应包含一个XML文档,其中包含访问密钥、密钥、会话令牌和过期日期。 应用程序可以使用访问密钥和密钥来访问MinIO并执行操作。
查看AssumeRoleWithLDAPIdentity供参考的文档。
禁用已配置的 Active Directory / LDAP 连接
版本 RELEASE.2023-03-20T20-16-18Z 中的新增功能。
您可以根据需要启用和禁用已配置的 AD/LDAP 连接。
使用mc idp ldap disable要停用已配置的连接。
使用mc idp ldap enable激活先前配置的连接。