設定 MinIO 以使用 Active Directory / LDAP 進行身分驗證
概觀
MinIO 支援設定單一 Active Directory / LDAP 連線,以進行外部使用者身分管理。
此頁面上的程序提供以下操作的說明:
設定 MinIO 租用戶以使用外部 AD/LDAP 提供者
使用 AD/LDAP 認證存取租用戶主控台。
使用 MinIO
AssumeRoleWithLDAPIdentity
安全性權杖服務 (STS) API 產生供應用程式使用的臨時認證。
此程序適用於 AD/LDAP 服務。請參閱您選擇的 AD/LDAP 提供者的文件,以取得關於使用者身分設定的具體說明或程序。
先決條件
MinIO Kubernetes Operator
確保您的目標 Kubernetes 叢集已安裝有效且可運作的 MinIO Kubernetes Operator。此文件假設使用最新的穩定版 Operator,版本 6.0.4。
與 Active Directory / LDAP 相容的身分提供者
此程序假設存在現有的 Active Directory 或 LDAP 服務。關於設定 AD/LDAP 的說明不在本程序的範圍內。
對於與 MinIO 租用戶位於同一 Kubernetes 叢集內的 AD/LDAP 部署,您可以使用 Kubernetes 服務名稱,以允許 MinIO 租用戶與 AD/LDAP 服務建立連線。
對於 Kubernetes 叢集外部的 AD/LDAP 部署,您必須確保叢集支援 Kubernetes 服務和 Pod 與外部網路之間的路由通訊。這可能需要設定或部署其他 Kubernetes 網路元件,和/或啟用對公用網際網路的存取。
MinIO 需要具有唯讀存取權限的金鑰,它會使用這些金鑰繫結以執行已驗證的使用者和群組查詢。請確保每個要與 MinIO 一起使用的 AD/LDAP 使用者和群組在 MinIO 部署上都有對應的原則。沒有指定原則 且 沒有指定原則的群組成員資格的 AD/LDAP 使用者沒有權限存取 MinIO 叢集上的任何動作或資源。
MinIO 租用戶
此程序假設您的 Kubernetes 叢集有足夠的資源來部署新的 MinIO 租用戶。
您也可以將此程序作為修改現有 MinIO 租用戶以啟用 AD/LDAP 身分管理的指南。
使用 Active Directory / LDAP 身分管理部署 MinIO 租用戶
1) 存取 Operator 主控台
暫時轉發本機主機機器和 MinIO Operator 主控台之間的流量,並擷取 Operator 部署的 JWT 權杖。如需說明,請參閱設定對 Operator 主控台服務的存取。
在您的瀏覽器中開啟臨時 URL,然後在登入頁面中輸入 JWT 權杖。您應該會看到 租用戶 頁面

按一下 + 建立租用戶 以開始建立 MinIO 租用戶。
如果您要修改現有的租戶,請從列表中選擇該租戶。以下步驟參考現有租戶的必要章節和配置設定。
2) 完成 身分提供者 章節
要使用 Active Directory / LDAP 提供者啟用外部身分管理,請選擇 身分提供者 章節。然後,您可以將單選按鈕變更為 Active Directory,以顯示配置設定。

星號 *
標示必填欄位。下表提供這些欄位的一般指南
欄位 |
描述 |
---|---|
LDAP 伺服器位址 |
Active Directory 或 LDAP 伺服器的主機名稱。 |
查詢繫結 DN |
MinIO 用於驗證和查詢 AD/LDAP 伺服器的辨別名稱。 有關詳細資訊,請參閱 查詢 Active Directory / LDAP 服務。 |
要成為租戶管理員的使用者 DN(辨別名稱)清單 |
指定一個使用者 DN,MinIO 會為該使用者指派一個 原則,其中包含租戶的管理權限。您可以選擇加號圖示來指定多個 DN。您可以選擇垃圾桶圖示來刪除該 DN。 |
完成此章節後,您可以完成 租戶部署 的其他任何必要章節。
3) 將原則指派給 AD/LDAP 使用者
MinIO 預設不會將任何 原則 指派給 AD/LDAP 使用者或群組。您必須明確地將 MinIO 原則指派給指定的使用者或群組辨別名稱 (DN),以授予該使用者或群組存取 MinIO 部署的權限。
以下範例假設已為 MinIO 租戶配置現有的 別名。
使用 mc idp ldap policy attach
命令,將使用者或群組 DN 指派給現有的 MinIO 原則
mc idp ldap policy attach minio-tenant POLICY --user='uid=primary,cn=applications,dc=domain,dc=com'
mc idp ldap policy attach minio-tenant POLICY --group='cn=applications,ou=groups,dc=domain,dc=com'
將 POLICY
取代為要指派給使用者或群組 DN 的 MinIO 原則名稱。
有關使用 AD/LDAP 使用者和群組進行存取控制的詳細資訊,請參閱 AD/LDAP 管理的身分存取控制。
4) 使用 MinIO 租戶主控台以 AD/LDAP 憑證登入
MinIO 主控台支援驗證到 AD/LDAP 提供者的完整工作流程、使用 MinIO AssumeRoleWithLDAPIdentity 安全性權杖服務 (STS) 端點產生臨時憑證,以及將使用者登入 MinIO 部署。
有關存取租戶主控台的其他資訊,請參閱 部署 MinIO 租戶:連線到租戶。
如果 AD/LDAP 配置成功,主控台會顯示一個按鈕,可使用 AD/LDAP 憑證登入。
輸入使用者的 AD/LDAP 憑證並登入以存取主控台。
登入後,您可以執行任何經過驗證的使用者 授權 的動作。
您也可以建立 存取金鑰,以支援必須在 MinIO 上執行作業的應用程式。存取金鑰是長期存在的憑證,其繼承自父使用者的權限。父使用者可以在建立存取金鑰時進一步限制這些權限。
5) 使用 AD/LDAP 憑證產生 S3 相容的臨時憑證
應用程式可以使用 AD/LDAP 使用者憑證,透過 AssumeRoleWithLDAPIdentity 安全性權杖服務 (STS) API 端點,視需要產生 S3 相容的臨時憑證。MinIO 提供了一個範例 Go 應用程式 ldap.go,其中包含管理此工作流程的範例。
POST https://minio.example.net?Action=AssumeRoleWithLDAPIdentity
&LDAPUsername=USERNAME
&LDAPPassword=PASSWORD
&Version=2011-06-15
&Policy={}
將
minio.example.net
取代為 MinIO 租戶服務的主機名稱或 URL。將
LDAPUsername
取代為 AD/LDAP 使用者的使用者名稱。將
LDAPPassword
取代為 AD/LDAP 使用者的密碼。將
Policy
取代為內嵌 URL 編碼 JSON 原則,以進一步限制與臨時憑證相關聯的權限。省略使用 名稱符合 AD/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
來啟用先前配置的連線。
您也可以從 MinIO 主控台 啟用或停用 AD/LDAP。