身分與存取管理
MinIO 要求用戶端為每個新操作執行身分驗證和授權。
- 身分驗證
驗證連線用戶端身分的程序。MinIO 要求用戶端使用 AWS Signature 第 4 版協定進行驗證,並支援已棄用的 Signature 第 2 版協定。具體來說,用戶端必須提供有效的存取金鑰和私密金鑰才能存取任何 S3 或 MinIO 管理 API,例如
PUT
、GET
和DELETE
操作。- 授權
限制已驗證用戶端在部署上可以執行的操作和資源的程序。MinIO 使用基於原則的存取控制 (PBAC),其中每個原則都描述了一個或多個規則,這些規則概述了使用者或使用者群組的權限。在建立原則時,MinIO 支援 S3 特定的動作和條件。預設情況下,MinIO 會拒絕存取使用者已指派或繼承的原則中未明確引用的動作或資源。
身分管理
MinIO 支援內部和外部身分管理
身分提供者 (IDP) |
描述 |
---|---|
提供內建的身分管理功能。 |
|
支援透過與 OpenID Connect (OIDC) 相容的服務管理身分。 |
|
使用 MinIO 驗證外掛程式擴充功能支援自訂外部身分管理員。 |
|
支援透過 Active Directory 或 LDAP 服務管理身分。 |
|
使用 MinIO 存取管理外掛程式擴充功能支援自訂外部存取管理員。 |
驗證後,MinIO 會根據已驗證身分是否獲授權在指定資源上執行操作來允許或拒絕用戶端請求。
存取管理
MinIO 使用基於政策的存取控制 (PBAC) 來定義經過身份驗證的使用者可以存取的授權動作和資源。每個政策描述了一個或多個動作和條件,這些條件概述了使用者或使用者群組的權限。
MinIO 管理政策的建立和儲存。將政策指派給使用者或群組的流程取決於已設定的身份提供者 (IDP)。
使用MinIO 內部 IDP的 MinIO 部署需要使用mc admin policy attach
命令將使用者明確地與一個或多個政策相關聯。使用者也可以繼承附加到他們所屬群組的政策。
預設情況下,MinIO 拒絕存取未由附加或繼承的政策明確允許的動作或資源。沒有明確指派或繼承政策的使用者無法執行任何 S3 或 MinIO 管理 API 操作。
對於使用外部 IDP 的 MinIO 部署,政策指派取決於 IDP 的選擇
MinIO 檢查 JSON Web Token (JWT) 宣告(預設情況下為 MinIO 不支援將 OIDC 使用者身分指派給群組。IDP 管理員必須改為將所有必要的政策指派給使用者的政策宣告。 有關更多資訊,請參閱外部管理身分的存取控制。 |
|
MinIO 檢查是否有與經過身分驗證的 AD/LDAP 使用者的辨別名稱 (DN) 相符的政策名稱。 MinIO 也支援查詢經過身分驗證的 AD/LDAP 使用者的群組成員資格。MinIO 會指派任何名稱與每個傳回群組的 DN 相符的政策。 如果沒有政策與使用者 DN *或*任何使用者的群組 DN 相符,則使用者無法對 MinIO 部署執行任何操作。 有關更多資訊,請參閱外部管理身分的存取控制。 |
MinIO PBAC 的建立是為了與 AWS IAM 政策語法、結構和行為相容。MinIO 文件盡最大努力涵蓋特定於 IAM 的行為和功能。考慮參考IAM 文件,以取得有關 IAM、IAM 政策或 IAM JSON 語法的更完整文件。
Deny
覆寫 Allow
MinIO 遵循 AWS IAM 政策評估規則,其中Deny
規則會覆寫相同動作/資源上的 Allow
規則。例如,如果使用者有一個明確指派的政策,其中包含對動作/資源的 Allow
規則,而其群組之一具有指派給該動作/資源的 Deny
規則,則 MinIO 將僅套用 Deny
規則。
有關 IAM 政策評估邏輯的更多資訊,請參閱 IAM 文件中的判斷帳戶內是否允許或拒絕請求。