使用者管理
概觀
MinIO 使用者由唯一的存取金鑰(使用者名稱)和對應的私密金鑰(密碼)組成。用戶端必須透過指定現有 MinIO 使用者的有效存取金鑰(使用者名稱)和對應的私密金鑰(密碼)來驗證其身分。
每個使用者都可以有一個或多個已指派的原則,其中明確列出該使用者有權存取的動作和資源。使用者也可以從其成員所在的群組繼承原則。
預設情況下,MinIO 會拒絕存取使用者已指派或繼承的原則未明確允許的所有動作或資源。您必須明確指派一個原則描述使用者授權的動作和資源,或將使用者指派給具有相關原則的群組。有關詳細資訊,請參閱存取管理。
本頁記錄 MinIO 內部身分提供者 (IDP) 的使用者管理。MinIO 還使用 OpenID Connect (OIDC) 或 Active Directory/LDAP 身分提供者 (IDP) 進行身分外部管理。如需詳細資訊,請參閱
啟用外部身分管理會停用 MinIO 內部 IDP,但建立存取金鑰除外。
存取金鑰
MinIO 存取金鑰(以前稱為「服務帳戶」)是經過身份驗證的 MinIO 使用者的子身份,包括外部管理的身分。每個存取金鑰都根據附加到其父使用者的原則或父使用者具有成員資格的那些群組來繼承其權限。存取金鑰還支援一個可選的內嵌原則,該原則進一步限制對父使用者可用的動作和資源子集的存取。
MinIO 使用者可以產生任意數量的存取金鑰。這讓應用程式擁有者可以為他們的應用程式產生任意的存取金鑰,而無需 MinIO 管理員的介入。由於產生的存取金鑰具有與父帳戶相同或更少的權限,因此管理員可以專注於管理頂層父使用者,而無需微觀管理產生的存取金鑰。
您可以使用 MinIO 主控台 或 使用 mc admin user svcacct add
命令來建立存取金鑰。透過這些方法建立的身分驗證不會過期,直到您移除存取金鑰或父帳戶為止。
您也可以透過 AssumeRole
STS API 端點,以程式方式建立 安全性權杖服務 帳戶。STS 權杖預設會在 1 小時後過期,但您可以設定從建立起最長 7 天的過期時間。
存取金鑰用於程式化存取
存取金鑰支援應用程式的程式化存取。您無法使用存取金鑰登入 MinIO 主控台。
MinIO root
使用者
MinIO 部署有一個 root
使用者,無論配置的 身分管理員 為何,該使用者都具有存取部署中所有動作和資源的權限。當 minio
伺服器首次啟動時,它會透過檢查以下環境變數的值來設定 root
使用者的憑證
輪換 root 使用者憑證需要更新部署中所有 MinIO 伺服器的其中一個或兩個變數。為 root 憑證指定長、唯一且隨機的字串。在儲存存取金鑰和密碼金鑰時,請採取所有可能的預防措施,確保只有需要對部署具有超級使用者存取權的已知且受信任的個人才能檢索 root
憑證。
MinIO 強烈建議不要將
root
使用者用於常規客戶端存取,無論環境為何(開發、預備或生產)。MinIO 強烈建議建立使用者,以便每個客戶端都可以存取執行其分配的工作負載所需的最小動作和資源集。
如果未設定這些變數,minio
會預設使用 minioadmin
和 minioadmin
作為存取金鑰和密碼金鑰。無論部署環境為何,MinIO 強烈建議不要使用預設憑證。
棄用舊版 Root 使用者環境變數
MinIO RELEASE.2021-04-22T15-44-28Z 和更新版本棄用了以下用於設定或更新 root 使用者憑證的變數
MINIO_ACCESS_KEY
至新的存取金鑰。MINIO_SECRET_KEY
至新的密碼金鑰。MINIO_ACCESS_KEY_OLD
至舊的存取金鑰。MINIO_SECRET_KEY_OLD
至舊的密碼金鑰。
使用者管理
建立使用者
使用 mc admin user add
命令在 MinIO 部署中建立新使用者
mc admin user add ALIAS ACCESSKEY SECRETKEY
將
ACCESSKEY
替換為使用者的存取金鑰。MinIO 允許在使用者建立後透過mc admin user info
命令檢索存取金鑰。將
SECRETKEY
替換為使用者的密碼金鑰。MinIO 不提供任何方法來檢索一旦設定的密碼金鑰。
為 ACCESSKEY
和 SECRETKEY
指定一個唯一、隨機且長的字串。您的組織可能在產生用於存取金鑰或密碼金鑰的值方面有特定的內部或法規要求。
建立使用者後,使用 mc admin policy attach
將 MinIO 基於原則的存取控制 與新使用者相關聯。以下命令會指派內建的 readwrite
原則
mc admin policy attach ALIAS readwrite --user=USERNAME
將 USERNAME
替換為上一步中建立的 ACCESSKEY
。
刪除使用者
使用 mc admin user rm
命令移除 MinIO 部署中的使用者
mc admin user rm ALIAS USERNAME