文件

設定 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 Operator Console

點擊 + 建立租戶 以開始建立 MinIO 租戶。

如果您要修改現有的租戶,請從清單中選取該租戶。以下步驟將參考現有租戶的必要章節和配置設定。

2) 完成 身分提供者 章節

若要使用 Active Directory / LDAP 提供者啟用外部身分管理,請選取 身分提供者 章節。然後,您可以將單選按鈕變更為 Active Directory 以顯示配置設定。

MinIO Operator Console - Create a Tenant - External Identity Provider Section - Active Directory / LDAP

星號 * 標示為必填欄位。下表提供這些欄位的一般指南。

欄位

描述

LDAP 伺服器位址

Active Directory 或 LDAP 伺服器的主機名稱。

查詢繫結 DN

MinIO 用於驗證和查詢 AD/LDAP 伺服器的識別名稱。

如需更多資訊,請參閱查詢 Active Directory / LDAP 服務

要作為租戶管理員的使用者 DN (識別名稱) 清單

指定一個使用者 DN,MinIO 會為其指派一個 政策,其中包含該租戶的管理權限。您可以透過選取加號符號指定多個 DN。您可以透過選取該 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。