访问管理

概述

MinIO 使用 基于策略的访问控制 (PBAC) 来定义已认证用户可访问的授权操作和资源。 每个策略描述一条或多条 actionsconditions,用于说明某个 usergroup 中用户的权限。

MinIO PBAC 在设计上兼容 AWS IAM 策略语法、结构和行为。 MinIO 文档会尽力覆盖 IAM 特定行为和功能。 若需要更完整的 AWS IAM 特定主题文档,请参考 IAM documentation

mc admin policy 命令支持在 MinIO 部署上创建和管理策略。 用法示例请参见命令参考。

基于标签的策略条件

内置策略

MinIO 提供以下内置策略,可分配给 usersgroups

consoleAdmin

userpolicy

授予对 MinIO 部署上所有资源执行全部 S3 和管理 API 操作的完整访问权限。 等价于以下 action 集合:

readonly

userpolicy

授予对 MinIO 部署上任意对象的只读权限。 GET 操作 必须 作用于某个具体对象,且不要求具备任何列举权限。 等价于以下 action 集合:

例如,该策略专门支持对特定路径下对象执行 GET 操作(例如 GET play/mybucket/object.file),例如:

有意排除列举权限,因为典型使用场景并不希望“只读”角色对对象存储资源具有完整可发现性 (列出所有存储桶和对象)。

readwrite

userpolicy

授予对 MinIO 服务器上所有存储桶和对象的读写权限。 等价于 s3:*

diagnostics

userpolicy

授予在 MinIO 部署上执行诊断操作的权限。 具体包括以下 action:

writeonly

userpolicy

授予对 MinIO 部署中任意命名空间(存储桶及对象路径)的只写权限。 PUT 操作 必须 作用于某个具体对象位置,且不要求具备任何列举权限。 等价于 s3:PutObject action。

使用 mc admin policy attach 将策略关联到 MinIO 部署上的用户或组。

例如,考虑下表中的用户。每个用户都被分配了一个 内置策略 或某个受支持的 action。该表描述了客户端以对应用户身份完成认证后可执行的一部分操作:

用户

策略

操作

Operations

finance 存储桶上的 readwrite
audit 存储桶上的 readonly
finance 存储桶执行 PUTGET
audit 存储桶执行 GET

Auditing

audit 存储桶上的 readonly

audit 存储桶执行 GET

Admin

admin:*

所有 mc admin 命令。

每个用户只能访问内置角色 显式 授予的那些资源和操作。 默认情况下,MinIO 会拒绝访问任何其他资源或 action。

策略文档结构

MinIO 策略文档使用与 AWS IAM Policy 文档相同的模式。

以下示例文档为在 MinIO 部署中创建自定义策略提供了模板。 有关 IAM 策略元素的更完整文档,请参见 IAM JSON Policy Elements Reference

任意单个策略文档的最大大小为 20KiB。 可附加到用户或组的策略文档数量没有限制。

{
   "Version" : "2012-10-17",
   "Statement" : [
      {
         "Effect" : "Allow",
         "Action" : [ "s3:<ActionName>", ... ],
         "Resource" : "arn:aws:s3:::*",
         "Condition" : { ... }
      },
      {
         "Effect" : "Deny",
         "Action" : [ "s3:<ActionName>", ... ],
         "Resource" : "arn:aws:s3:::*",
         "Condition" : { ... }
      }
   ]
}
  • 对于 Statement.Action 数组,指定一个或多个 受支持的 S3 API 操作

  • 对于 Statement.Resource 键,指定要对策略进行限制的存储桶或存储桶前缀。 可以按照 S3 Resource Spec 使用 *? 通配符。

    * 通配符可能会基于 模式匹配,导致策略被意外应用到多个存储桶或前缀。 例如,arn:aws:s3:::data* 会匹配存储桶 datadata_privatedata_internal。 如果资源键仅指定 *,则该策略会应用到部署上的所有存储桶和前缀。

  • 对于 Statement.Condition 键,可以指定一个或多个 受支持的 Conditions

受支持的 S3 策略 Action

MinIO 策略文档支持 IAM S3 Action keys 的一个子集。 本节还包括特定 action 在通用受支持键之外额外支持的任何 condition keys

以下 action 用于控制常见 S3 操作的访问。 其余小节记录更高级的 S3 操作所对应的 action:

s3:*

policy-action

选择器,用于匹配 所有 MinIO S3 操作。 将该 action 应用于某个资源后,用户即可对该资源执行 任意 S3 操作。

s3:CreateBucket

policy-action

控制对 CreateBucket S3 API 操作的访问。

s3:DeleteBucket

policy-action

控制对 DeleteBucket S3 API 操作的访问。

s3:ForceDeleteBucket

policy-action

控制对带有 x-minio-force-delete 标志的 DeleteBucket S3 API 操作的访问。 删除非空存储桶时需要此权限。

s3:GetBucketLocation

policy-action

控制对 GetBucketLocation S3 API 操作的访问。

s3:ListAllMyBuckets

policy-action

控制对 ListBuckets S3 API 操作的访问。

s3:DeleteObject

policy-action

控制对 DeleteObject S3 API 操作的访问。

s3:GetObject

policy-action

控制对 GetObject S3 API 操作的访问。

支持以下附加 condition keys

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:ExistingObjectTag/<key>
s3:versionid

s3:GetObjectAttributes

policy-action

控制对 GetObjectAttributes S3 API 操作的访问。

s3:GetObjectVersionAttributes

policy-action

控制对带版本对象执行 GetObjectAttributes S3 API 操作的访问。

s3:RestoreObject

policy-action

控制对 RestoreObject S3 API 操作的访问。

s3:ListBucket

policy-action

控制对 ListObjectsV2 S3 API 操作的访问。

支持以下附加 condition keys

s3:prefix
s3:delimiter
s3:max-keys

s3:PutObject

policy-action

控制对 PutObject S3 API 操作的访问。

支持以下附加 condition keys

s3:x-amz-copy-source
s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:x-amz-metadata-directive
s3:x-amz-storage-class
s3:versionid
s3:object-lock-retain-until-date
s3:object-lock-mode
s3:object-lock-legal-hold
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

s3:PutObjectTagging

policy-action

控制对 PutObjectTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

s3:GetObjectTagging

policy-action

控制对 GetObjectTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:DeleteObjectTagging

policy-action

控制对 DeleteObjectTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

存储桶配置

s3:GetBucketPolicy

policy-action

控制对 GetBucketPolicy S3 API 操作的访问。

s3:PutBucketPolicy

policy-action

控制对 PutBucketPolicy S3 API 操作的访问。

s3:DeleteBucketPolicy

policy-action

控制对 DeleteBucketPolicy S3 API 操作的访问。

s3:GetBucketTagging

policy-action

控制对 GetBucketTagging S3 API 操作的访问。

s3:PutBucketTagging

policy-action

控制对 PutBucketTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

s3:GetBucketPolicyStatus

policy-action

控制对 GetBucketPolicyStatus S3 API 操作的访问。

分段上传

s3:AbortMultipartUpload

policy-action

控制对 AbortMultipartUpload S3 API 操作的访问。

s3:ListMultipartUploadParts

policy-action

控制对 ListParts S3 API 操作的访问。

s3:ListBucketMultipartUploads

policy-action

控制对 ListMultipartUploads S3 API 操作的访问。

版本控制与保留

s3:PutBucketVersioning

policy-action

控制对 PutBucketVersioning S3 API 操作的访问。

s3:GetBucketVersioning

policy-action

控制对 GetBucketVersioning S3 API 操作的访问。

s3:DeleteObjectVersion

policy-action

控制对 DeleteObjectVersion S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:ListBucketVersions

policy-action

控制对 ListBucketVersions S3 API 操作的访问。

支持以下附加 condition keys

s3:prefix
s3:delimiter
s3:max-keys

s3:PutObjectVersionTagging

policy-action

控制对 PutObjectVersionTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

s3:GetObjectVersionTagging

policy-action

控制对 GetObjectVersionTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:DeleteObjectVersionTagging

policy-action

控制对 DeleteObjectVersionTagging S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:GetObjectVersion

policy-action

控制对 GetObjectVersion S3 API 操作的访问。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:BypassGovernanceRetention

policy-action

控制对处于 GOVERNANCE 保留模式下锁定对象的以下 S3 API 操作的访问:

  • s3:PutObjectRetention
  • s3:PutObject
  • s3:DeleteObject

更多信息请参见 S3 文档中的 s3:BypassGovernanceRetention

支持以下附加 condition keys

s3:versionid
s3:object-lock-remaining-retention-days
s3:object-lock-retain-until-date
s3:object-lock-mode
s3:object-lock-legal-hold
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

s3:PutObjectRetention

policy-action

控制对 PutObjectRetention S3 API 操作的访问。

对于任何指定了 保留元数据PutObject 操作,都需要此权限。

支持以下附加 condition keys

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:x-amz-object-lock-remaining-retention-days
s3:x-amz-object-lock-retain-until-date
s3:x-amz-object-lock-mode
s3:versionid

s3:GetObjectRetention

policy-action

控制对 GetObjectRetention S3 API 操作的访问。

若要在 GetObjectHeadObject 操作的响应中包含 对象锁定元数据,则需要此权限。

支持以下附加 condition keys

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:versionid

s3:GetObjectLegalHold

policy-action

控制对 GetObjectLegalHold S3 API 操作的访问。

若要在 GetObjectHeadObject 操作的响应中包含 对象锁定元数据,则需要此权限。

s3:PutObjectLegalHold

policy-action

控制对 PutObjectLegalHold S3 API 操作的访问。

对于任何指定了 legal hold 元数据PutObject 操作,都需要此权限。

支持以下附加 condition keys

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:object-lock-legal-hold
s3:versionid

s3:GetBucketObjectLockConfiguration

policy-action

控制对 GetObjectLockConfiguration S3 API 操作的访问。

s3:PutBucketObjectLockConfiguration

policy-action

控制对 PutObjectLockConfiguration S3 API 操作的访问。

存储桶通知

s3:GetBucketNotification

policy-action

控制对 GetBucketNotification S3 API 操作的访问。

s3:PutBucketNotification

policy-action

控制对 PutBucketNotification S3 API 操作的访问。

s3:ListenNotification

policy-action

用于控制与 MinIO 存储桶通知 相关 API 操作的 MinIO 扩展。

此 action 用于其他兼容 S3 的服务。

s3:ListenBucketNotification

policy-action

用于控制与 MinIO 存储桶通知 相关 API 操作的 MinIO 扩展。

此 action 用于其他兼容 S3 的服务。

对象生命周期管理

s3:PutLifecycleConfiguration

policy-action

控制对 PutLifecycleConfiguration S3 API 操作的访问。

s3:GetLifecycleConfiguration

policy-action

控制对 GetLifecycleConfiguration S3 API 操作的访问。

对象加密

s3:PutEncryptionConfiguration

policy-action

控制对 PutEncryptionConfiguration S3 API 操作的访问。

s3:GetEncryptionConfiguration

policy-action

控制对 GetEncryptionConfiguration S3 API 操作的访问。

存储桶复制

s3:GetReplicationConfiguration

policy-action

控制对 GetBucketReplication S3 API 操作的访问。

s3:PutReplicationConfiguration

policy-action

控制对 PutBucketReplication S3 API 操作的访问。

s3:ReplicateObject

policy-action

用于控制与 服务器端存储桶复制 相关 API 操作的 MinIO 扩展。

MinIO 服务器端复制需要此权限。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:ReplicateDelete

policy-action

用于控制与 服务器端存储桶复制 相关 API 操作的 MinIO 扩展。

作为 MinIO 服务器端复制的一部分,在同步 删除操作 时需要此权限。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:ReplicateTags

policy-action

用于控制与 服务器端存储桶复制 相关 API 操作的 MinIO 扩展。

MinIO 服务器端复制需要此权限。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

s3:GetObjectVersionForReplication

policy-action

用于控制与 服务器端存储桶复制 相关 API 操作的 MinIO 扩展。

MinIO 服务器端复制需要此权限。

支持以下附加 condition keys

s3:versionid
s3:ExistingObjectTag/<key>

受支持的 S3 策略条件键

MinIO 策略文档支持 IAM 条件语句

每个条件元素都由 operators 和条件键组成。MinIO 支持 IAM 条件键的一个子集。 有关任何列出条件键的完整信息,请参见 IAM Condition Element Documentation

对于所有受支持的 actions,MinIO 支持以下条件键:

  • aws:Referer
  • aws:SourceIp
  • aws:UserAgent
  • aws:SecureTransport
  • aws:CurrentTime
  • aws:EpochTime
  • aws:PrincipalType
  • aws:userid
  • aws:username
  • x-amz-content-sha256
  • s3:signatureAge

对于特定 S3 action 支持的其他键,请参见该 action 的参考文档。

MinIO 扩展条件键

MinIO 在 S3 标准条件键基础上扩展了以下键:

sts:DurationSeconds

新增: MinIO

SERVER RELEASE.2024-02-06T21-36-22Z

指定一个以秒为单位的时间,用于限制由 AssumeRoleWithWebIdentity 生成的 所有 Security Token Service 凭证的有效期。

此值会覆盖客户端指定的 DurationSeconds 字段。

例如:

{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Effect": "Allow",
            "Action": [
               "sts:AssumeRoleWithWebIdentity"
            ],
            "Condition": {
               "NumericLessThanEquals": {
                  "sts:DurationSeconds": "300"
               }
            }
      }
   ]
}

mc admin 策略 Action 键

MinIO 支持以下 action,用于为 mc admin 操作定义策略。 这些 action 对 MinIO 部署有效, 用于其他兼容 S3 的服务:

admin:*

policy-action

所有 admin action 键的选择器。

admin:Heal

policy-action

允许执行 heal 命令

admin:StorageInfo

policy-action

允许列出服务器信息

admin:DataUsageInfo

policy-action

允许列出数据使用信息

admin:TopLocksInfo

policy-action

允许列出 top locks

admin:Profiling

policy-action

允许 profiling

admin:ServerTrace

policy-action

允许列出 server trace

admin:ConsoleLog

policy-action

允许在终端列出 console log

admin:KMSCreateKey

policy-action

允许创建新的 KMS 主密钥

虽然此选项仍受支持,但更推荐使用 kms:CreateKey

admin:KMSKeyStatus

policy-action

允许获取 KMS 密钥状态

虽然此选项仍受支持,但更推荐使用 kms:KeyStatus

admin:ServerInfo

policy-action

允许列出服务器信息

admin:OBDInfo

policy-action

允许获取集群 on-board diagnostics

admin:ServerUpdate

policy-action

允许更新 MinIO 二进制文件

admin:ServiceRestart

policy-action

允许重启 MinIO 服务。

admin:ServiceStop

policy-action

允许停止 MinIO 服务。

admin:ConfigUpdate

policy-action

允许管理 MinIO 配置

admin:CreateUser

policy-action

允许创建 MinIO 用户

admin:DeleteUser

policy-action

允许删除 MinIO 用户

admin:ListUsers

policy-action

允许列出用户

admin:EnableUser

policy-action

允许启用用户

admin:DisableUser

policy-action

允许禁用用户

admin:GetUser

policy-action

允许对用户信息执行 GET

admin:AddUserToGroup

policy-action

允许将用户添加到组

admin:RemoveUserFromGroup

policy-action

允许将用户从组中移除

admin:GetGroup

policy-action

允许获取组信息

admin:ListGroups

policy-action

允许列出组

admin:EnableGroup

policy-action

允许启用组

admin:DisableGroup

policy-action

允许禁用组

admin:CreatePolicy

policy-action

允许创建策略

admin:DeletePolicy

policy-action

允许删除策略

admin:GetPolicy

policy-action

允许获取策略

admin:AttachUserOrGroupPolicy

policy-action

允许将策略附加到用户/组

admin:ListUserPolicies

policy-action

允许列出用户策略

admin:CreateServiceAccount

policy-action

允许创建 MinIO Access Key

admin:UpdateServiceAccount

policy-action

允许更新 MinIO Access Key

admin:RemoveServiceAccount

policy-action

允许删除 MinIO Access Key

admin:ListServiceAccounts

policy-action

允许列出 MinIO Access Key

admin:SetBucketQuota

policy-action

允许设置存储桶配额

admin:GetBucketQuota

policy-action

允许获取存储桶配额

admin:SetBucketTarget

policy-action

允许设置存储桶目标

admin:GetBucketTarget

policy-action

允许获取存储桶目标

admin:SetTier

policy-action

允许使用 mc ilm tier 命令创建和修改远程存储层。

admin:ListTier

policy-action

允许使用 mc ilm tier 命令列出已配置的远程存储层。

admin:BandwidthMonitor

policy-action

允许获取与当前带宽消耗相关的指标。

admin:Prometheus

policy-action

允许访问 MinIO metrics。 仅当 MinIO 要求采集指标时进行认证才需要此权限。

admin:ListBatchJobs

policy-action

允许访问并列出活动中的批处理作业。

admin:DescribeBatchJob

policy-action

允许访问并查看正在运行的批处理作业的定义详情。

admin:StartBatchJob

policy-action

允许用户启动批处理作业运行。

admin:CancelBatchJob

policy-action

允许用户停止当前正在执行的批处理作业。

admin:Rebalance

policy-action

允许访问并启动、查询或停止跨不同可用存储空间池的对象重平衡。

KMS 策略 action 键

MinIO 支持通过策略限制密钥管理服务 (KMS) action。

可以在策略中使用以下任一 KMS action 来限制 KMS 活动:

kms:Status

policy-action

检查 KMS 状态。

kms:Metrics

policy-action

获取 Prometheus 格式指标。

kms:API

policy-action

列出受支持的 API 端点。

kms:Version

policy-action

获取 KMS 版本。

kms:CreateKey

policy-action

创建新的 KMS 密钥。

kms:ListKeys

policy-action

获取现有 KMS 密钥列表。

kms:KeyStatus

policy-action

获取指定 KMS 密钥的状态。

若要选择所有可用的 kms 策略 action,可使用 kms:*

mc admin 策略条件键

MinIO 支持以下条件,用于为 mc admin actions 定义策略。

  • aws:Referer
  • aws:SourceIp
  • aws:UserAgent
  • aws:SecureTransport
  • aws:CurrentTime
  • aws:EpochTime

有关任何列出条件键的完整信息,请参见 IAM Condition Element Documentation

策略变量

MinIO 支持使用策略变量,将来自已认证用户和/或操作的上下文自动替换到分配给该用户的一个或多个策略中。 使用 ${POLICYVARIABLE} 格式在策略的 ConditionResource 定义中指定变量。 MinIO 策略变量的工作方式类似于 AWS IAM policy elements: Variables and tags

每种 MinIO identity provider 都支持其各自的一组策略变量:

MinIO 策略变量

下表列出了用于授权 MinIO-managed users 的推荐策略变量:

变量说明
aws:referrer已认证 API 调用的 HTTP 头中的 referrer。
aws:SourceIp已认证 API 调用的 HTTP 头中的源 IP。
aws:username与已认证 API 调用关联的用户名。

例如,以下策略使用变量将已认证用户的用户名替换到 Resource 字段中,使该用户只能访问与其用户名匹配的那些前缀:

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
      }
   ]
}

MinIO 会将 Resource 字段中的 ${aws:username} 变量替换为用户名。 随后 MinIO 对策略进行求值,并授予或撤销对所请求 API 和资源的访问。

OpenID 策略变量

下表列出了用于授权 OIDC 管理用户 的受支持策略变量。

每个变量都对应认证用户 JWT token 中返回的一项 claim:

变量说明
jwt:sub返回用户的 sub claim。
jwt:iss返回 ID token 中的 Issuer Identifier claim。
jwt:aud返回 ID token 中的 Audience claim。
jwt:jti返回客户端认证信息中的 JWT ID claim。
jwt:upn返回客户端认证信息中的 User Principal Name claim。
jwt:name返回用户的 name claim。
jwt:groups返回用户的 groups claim。
jwt:given_name返回用户的 given_name claim。
jwt:family_name返回用户的 family_name claim。
jwt:middle_name返回用户的 middle_name claim。
jwt:nickname返回用户的 nickname claim。
jwt:preferred_username返回用户的 preferred_username claim。
jwt:profile返回用户的 profile claim。
jwt:picture返回用户的 picture claim。
jwt:website返回用户的 website claim。
jwt:email返回用户的 email claim。
jwt:gender返回用户的 gender claim。
jwt:birthdate返回用户的 birthdate claim。
jwt:phone_number返回用户的 phone_number claim。
jwt:address返回用户的 address claim。
jwt:scope返回用户的 scope claim。
jwt:client_id返回用户的 client_id claim。

关于这些 scope 的更多信息,请参阅 OpenID Connect Core 1.0 文档。 你所选的 OIDC 提供方也可能有更具体的补充文档。

例如,以下策略使用变量将认证用户的 preferred_username 替换到 Resource 字段中, 使该用户只能访问与其用户名匹配的前缀:

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${jwt:preferred_username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${jwt:preferred_username}/*"]
      }
   ]
}

MinIO 会将 Resource 字段中的 ${jwt:preferred_username} 变量, 替换为 JWT token 中 preferred_username 的值。 随后,MinIO 会评估该策略,并对请求的 API 和资源授予或撤销访问权限。

Active Directory / LDAP 策略变量

下表列出了用于授权 AD/LDAP users 的受支持策略变量:

变量

说明

ldap:username

已认证用户的简单用户名(name)。

这不同于用户的 DistinguishedName 或 CommonName。

ldap:user

已认证用户使用的 Distinguished Name。

ldap:groups

已认证用户的组 Distinguished Name。

例如,以下策略使用变量将已认证用户的 name 替换到 Resource 字段中,使该用户只能访问与其名称匹配的那些前缀:

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${ldap:username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${ldap:username}/*"]
      }
   ]
}

MinIO 会将 Resource 字段中的 ${ldap:username} 变量替换为已认证用户的 name 值。 随后 MinIO 对策略进行求值,并授予或撤销对所请求 API 和资源的访问。

最后修改 August 2, 2026: init commit (8338d5b)

本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名

本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。