使用者管理
概觀
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