身分與存取管理
MinIO 要求用戶端針對每個新操作執行驗證和授權。
- 驗證
驗證連線用戶端身分的過程。MinIO 要求用戶端使用 AWS Signature Version 4 協定進行驗證,並支援已棄用的 Signature Version 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 JSON 語法的更完整文件,請考慮參考 IAM 文件。
Deny
會覆寫 Allow
MinIO 遵循 AWS IAM 策略評估規則,其中 Deny
規則會覆寫同一動作/資源上的 Allow
規則。例如,如果使用者有一個明確分配的策略,其中包含對動作/資源的 Allow
規則,而其某個群組有一個分配的策略,其中包含對該動作/資源的 Deny
規則,則 MinIO 只會應用 Deny
規則。
有關 IAM 策略評估邏輯的更多資訊,請參閱 IAM 文件中的判斷帳戶內是否允許或拒絕請求。