这是本节的多页打印视图。 .
Security Token Service (STS)
MinIO Security Token Service (STS) APIs 允许应用程序生成用于访问 MinIO 部署的临时凭证。
对于配置为使用外部身份管理器的 MinIO 部署,STS API 是 必需 的,因为该 API 可将外部 IDP 凭证转换为兼容 AWS Signature v4 的凭证。
STS API 端点
MinIO 支持以下 STS API 端点:
| 端点 | 支持的 IDP | 说明 |
|---|---|---|
| AssumeRoleWithWebIdentity | OpenID Connect | 使用 OIDC 提供方返回的 JWT token 生成 access key 和 secret key |
| AssumeRoleWithLDAPIdentity | Active Directory / LDAP | 使用为该 API 端点指定的 AD/LDAP 凭证生成 access key 和 secret key。 |
| AssumeRoleWithCustomToken | MinIO Identity Plugin | 生成一个 token,用于外部身份提供方和 MinIO Identity Plugin。 |
1 - AssumeRoleWithCustomToken
MinIO Security Token Service (STS) 的 AssumeRoleWithCustomToken API 端点会生成一个令牌,用于配合 MinIO External Identity Management Plugin 使用。
请求端点
AssumeRoleWithCustomToken 端点的格式如下:
以下示例使用了所有受支持的参数。 请将 minio.example.net 主机名替换为你的 MinIO 集群对应 URL:
请求查询参数
此端点支持以下查询参数:
参数 |
类型 |
说明 |
|---|---|---|
|
string |
必填 指定提交给外部身份管理器的 JSON Token。 MinIO 期望身份管理器解析该令牌,并判断是否使用该令牌对客户端请求进行认证。 |
|
string |
必填 指定 |
|
string |
必填 指定与此 STS 请求关联的 Identity Manager Plugin 配置 ARN。 更多信息请参见 请注意,MinIO 在生成 RoleArn 时会自动为已配置的 |
|
integer |
可选 指定临时凭证在多少秒后过期。
默认值为
|
响应元素
MinIO 返回一个 AssumeRoleWithCustomTokenResult 对象,其中 AssumedRoleUser.Credentials 对象包含 MinIO 生成的临时凭证:
AccessKeyId- 应用程序用于认证的访问密钥。SecretKeyId- 应用程序用于认证的 Secret Key。Expiration- 凭证过期的 RFC3339 日期和时间。SessionToken- 应用程序用于认证的会话令牌。某些 SDK 在使用临时凭证时可能要求此字段。
以下示例与 MinIO STS AssumeRoleWithCustomToken 端点返回的响应类似:
错误元素
此 API 端点的 XML 错误响应与 AWS AssumeRoleWithWebIdentity response 类似。
2 - AssumeRoleWithLDAPIdentity
MinIO Security Token Service (STS) AssumeRoleWithLDAPIdentity API 端点使用 Active Directory 或 LDAP 用户凭据生成临时访问凭据。本文档介绍 MinIO 服务端 AssumeRoleWithLDAPIdentity 端点。有关如何使用兼容 S3 的 SDK 实现 STS,请参考对应 SDK 的文档。
MinIO STS AssumeRoleWithLDAPIdentity API 端点以 AWS AssumeRoleWithWebIdentity 端点为模型,并共享部分请求/响应元素。本文档介绍 MinIO 特有的语法,并为 所有共享元素提供指向 AWS 参考文档的链接。
请求端点
AssumeRoleWithLDAPIdentity 端点格式如下:
以下示例使用了所有受支持参数。请将 minio.example.net 主机名替换为你的 MinIO 集群对应的 URL:
请求查询参数
该端点支持以下查询参数:
参数 |
类型 |
说明 |
|---|---|---|
|
string |
必需 指定要进行认证的 AD/LDAP 用户名。 |
|
string |
必需 指定 |
|
string |
必需 指定 |
|
integer |
可选 指定临时凭据在多少秒后过期。默认值为
如果省略 |
|
string |
可选 指定 URL 编码的 JSON 格式 policy,作为内联会话策略使用。
临时凭据的最终权限是以下两者的交集:与 内联策略可以指定 DN 策略允许权限的子集。应用可获取的权限绝不会超过 DN 策略中定义的权限。 省略该参数则仅使用 DN 策略。 有关 MinIO 认证与授权的更多信息,请参见 Access Management。 |
响应元素
此 API 端点的 XML 响应与 AWS 的 AssumeRoleWithLDAPIdentity response. 类似。具体而言,MinIO 返回 AssumeRoleWithLDAPIdentityResult 对象,其中 AssumedRoleUser.Credentials 对象包含 MinIO 生成的临时凭据:
AccessKeyId- 应用用于认证的访问密钥。SecretKeyId- 应用用于认证的密钥。Expiration- 凭据过期时间,采用 RFC3339 日期时间格式。SessionToken- 应用用于认证的会话令牌。某些 SDK 在使用临时凭据时可能需要此字段。
以下示例与 MinIO STS AssumeRoleWithLDAPIdentity 端点返回的响应类似:
错误元素
此 API 端点的 XML 错误响应与 AWS 的 AssumeRoleWithLDAPIdentity response.
3 - AssumeRoleWithWebIdentity
MinIO Security Token Service (STS) AssumeRoleWithWebIdentity API 端点使用由 已配置的 OpenID Identity Provider (IDP) 返回的 JSON Web Token (JWT) 生成临时访问凭证。本文档说明 MinIO 服务器的 AssumeRoleWithWebIdentity 端点。关于如何使用 S3 兼容 SDK 实现 STS,请参阅对应 SDK 的文档。
MinIO STS AssumeRoleWithWebIdentity API 端点参考了 AWS AssumeRoleWithWebIdentity 端点,并共享部分请求/响应元素。本文档说明 MinIO 特有语法,并链接到 AWS 参考文档以获取 所有共享元素的说明。
请求端点
AssumeRoleWithWebIdentity 端点格式如下:
以下示例使用了所有受支持参数。请将 minio.example.net 主机名替换为你的 MinIO 集群对应 URL:
请求查询参数
该端点支持以下查询参数:
参数 |
类型 |
说明 |
|---|---|---|
|
string |
必填 指定由 已配置的 OpenID Identity Provider 返回的 JSON Web Token (JWT)。 |
|
string |
必填 指定 |
|
integer |
可选 指定临时凭证过期前的秒数。
默认为
如果省略 |
|
string |
可选 指定 URL 编码、JSON 格式的 policy, 作为内联会话策略使用。
临时凭证的最终权限是 JWT claim 中指定策略与所给内联策略的交集。应用只能执行那些已被显式授权的操作。 内联策略可以指定 JWT claim 策略所允许权限的子集。 应用绝不会获得超出 JWT claim 策略所指定范围的权限。 省略该参数则仅使用 JWT claim 策略。 有关 MinIO 认证与授权的更多信息,请参见 Access Management。 |
|
string |
可选 用于所有用户认证请求的角色 Amazon Resource Number (ARN)。
如果使用该参数,必须通过 使用时,所有有效的授权请求都会假定同一组由 RolePolicy 提供的权限。 你可以使用 OpenID Policy Variables 创建策略, 以编程方式管理每个用户可访问的内容。 如果未提供 RoleArn,MinIO 会尝试通过基于 JWT 的 claim 进行授权。 |
响应元素
该 API 端点的 XML 响应与 AWS AssumeRoleWithWebIdentity response 类似。具体而言,MinIO 返回 AssumeRoleWithWebIdentityResult 对象, 其中 AssumedRoleUser.Credentials 对象包含 MinIO 生成的临时 凭证:
AccessKeyId- 应用用于认证的访问密钥。SecretKeyId- 应用用于认证的 Secret Key。Expiration- 凭证过期的 RFC3339 日期和时间。SessionToken- 应用用于认证的会话 token。某些 SDK 在使用临时凭证时可能需要此字段。
以下示例与 MinIO STS AssumeRoleWithWebIdentity 端点返回的响应类似:
错误元素
该 API 端点的 XML 错误响应与 AWS AssumeRoleWithWebIdentity response 类似。