AssumeRoleWithWebIdentity
MinIO 安全令牌服务 (STS) AssumeRoleWithWebIdentity
API 端点使用从 已配置的 OpenID 身份提供者 (IDP) 返回的 JSON Web 令牌 (JWT) 生成临时访问凭据。此页面记录 MinIO 服务器 AssumeRoleWithWebIdentity
端点。有关使用 S3 兼容 SDK 实现 STS 的说明,请参阅该 SDK 的文档。
MinIO STS AssumeRoleWithWebIdentity
API 端点是根据 AWS AssumeRoleWithWebIdentity 端点建模的,并共享某些请求/响应元素。此页面记录特定于 MinIO 的语法,并链接到 AWS 参考,其中包含所有共享元素。
请求端点
AssumeRoleWithWebIdentity
端点具有以下形式
POST https://minio.example.net?Action=AssumeRoleWithWebIdentity[&ARGS]
以下示例使用所有支持的参数。将 minio.example.net
主机名替换为您 MinIO 集群的相应 URL
POST https://minio.example.net?Action=AssumeRoleWithWebIdentity
&WebIdentityToken=TOKEN
&Version=2011-06-15
&DurationSeconds=86000
&Policy={}
请求查询参数
此端点支持以下查询参数
参数 |
类型 |
描述 |
---|---|---|
|
字符串 |
必需 指定由 已配置的 OpenID 身份提供者 返回的 JSON Web 令牌 (JWT)。 |
|
字符串 |
必需 指定 |
|
整数 |
可选 指定临时凭据到期后的秒数。默认为
如果省略了 |
|
字符串 |
可选 指定 URL 编码的 JSON 格式的 策略,以用作内联会话策略。
临时凭据的结果权限是作为 JWT 声明 部分指定的策略和指定的内联策略之间的交集。应用程序只能执行它们被明确授权执行的操作。 内联策略可以指定 JWT 声明策略允许的权限子集。应用程序永远不能承担超过 JWT 声明策略中指定的权限。 省略以仅使用 JWT 声明策略。 有关 MinIO 身份验证和授权的更多信息,请参阅 访问管理。 |
|
字符串 |
可选 用于所有用户身份验证请求的角色 Amazon 资源编号 (ARN)。如果使用,必须通过 使用时,所有有效的授权请求都将承担由 RolePolicy 提供的相同权限集。您可以使用 OpenID 策略变量 创建可对每个用户有权访问的内容进行编程管理的策略。 如果您没有提供 RoleArn,MinIO 会尝试通过基于 JWT 的声明进行授权。 |
响应元素
此 API 端点的 XML 响应类似于 AWS 的 AssumeRoleWithWebIdentity 响应。具体而言,MinIO 返回一个 AssumeRoleWithWebIdentityResult
对象,其中 AssumedRoleUser.Credentials
对象包含 MinIO 生成的临时凭据。
AccessKeyId
- 应用程序用于身份验证的访问密钥。SecretKeyId
- 应用程序用于身份验证的密钥。Expiration
- 凭据过期后的 ISO-8601 日期时间。SessionToken
- 应用程序用于身份验证的会话令牌。一些 SDK 在使用临时凭据时可能需要此字段。
以下示例类似于 MinIO STS AssumeRoleWithWebIdentity
端点返回的响应。
<?xml version="1.0" encoding="UTF-8"?>
<AssumeRoleWithWebIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleWithWebIdentityResult>
<AssumedRoleUser>
<Arn/>
<AssumeRoleId/>
</AssumedRoleUser>
<Credentials>
<AccessKeyId>Y4RJU1RNFGK48LGO9I2S</AccessKeyId>
<SecretAccessKey>sYLRKS1Z7hSjluf6gEbb9066hnx315wHTiACPAjg</SecretAccessKey>
<Expiration>2019-08-08T20:26:12Z</Expiration>
<SessionToken>eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiJZNFJKVTFSTkZHSzQ4TEdPOUkyUyIsImF1ZCI6IlBvRWdYUDZ1Vk80NUlzRU5SbmdEWGo1QXU1WWEiLCJhenAiOiJQb0VnWFA2dVZPNDVJc0VOUm5nRFhqNUF1NVlhIiwiZXhwIjoxNTQxODExMDcxLCJpYXQiOjE1NDE4MDc0NzEsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvb2F1dGgyL3Rva2VuIiwianRpIjoiYTBiMjc2MjktZWUxYS00M2JmLTg3MzktZjMzNzRhNGNkYmMwIn0.ewHqKVFTaP-j_kgZrcOEKroNUjk10GEp8bqQjxBbYVovV0nHO985VnRESFbcT6XMDDKHZiWqN2vi_ETX_u3Q-w</SessionToken>
</Credentials>
</AssumeRoleWithWebIdentityResult>
<ResponseMetadata/>
</AssumeRoleWithWebIdentityResponse>
错误元素
此 API 端点的 XML 错误响应类似于 AWS 的 AssumeRoleWithWebIdentity 响应。