AssumeRoleWithWebIdentity
MinIO 安全令牌服务 (STS)AssumeRoleWithWebIdentityAPI
端点使用从已配置的 OpenID 身份提供者 (IDP). This page documents the MinIO
serverAssumeRoleWithWebIdentity端点。有关使用 S3 兼容 SDK 实现 STS 的说明,请参阅该 SDK 的文档。
MinIO STSAssumeRoleWithWebIdentityAPI endpoint 是参照
AWS 建模的AssumeRoleWithWebIdentityendpoint 并共享特定的请求/响应元素。本页
记录了 MinIO 特定的语法,并链接到 AWS 参考文档以了解
所有共享元素。
请求端点
TheAssumeRoleWithWebIdentityendpoint 具有以下形式:
POST https://minio.example.net?Action=AssumeRoleWithWebIdentity[&ARGS]
以下示例使用了所有支持的参数。请替换minio.example.net使用您 MinIO 集群对应的 URL 替换 hostname:
POST https://minio.example.net?Action=AssumeRoleWithWebIdentity
&WebIdentityToken=TOKEN
&Version=2011-06-15
&DurationSeconds=86000
&Policy={}
请求查询参数
此端点支持以下查询参数:
参数 |
类型 |
描述 |
|---|---|---|
|
字符串 |
必需 指定由配置的 OpenID 身份提供者. |
|
字符串 |
必需 指定 |
|
整数 |
可选 指定临时凭据过期的秒数。默认为
If |
|
字符串 |
可选 指定 URL 编码的 JSON 格式政策用作内联会话策略。
临时凭证的最终权限是 作为请求一部分指定的策略与JWT claim以及指定的内联策略。应用程序只能执行那些被明确授权的操作。 内联策略可以指定JWT声明中策略所允许的权限子集。应用程序绝不能获取超出JWT声明策略所指定权限范围的特权。 仅使用 JWT 声明策略。 看访问管理有关 MinIO 身份验证和授权的更多信息。 |
|
字符串 |
可选 用于所有用户认证请求的 Amazon 资源编号 (ARN) 角色。
如果使用此参数,必须为 RoleArn 的提供者定义匹配的 OIDC 角色策略。 当使用时,所有有效的授权请求都会继承RolePolicy提供的同一组权限。 您可以使用OpenID 策略变量创建策略,以编程方式管理每个用户可访问的内容。 如果您不提供 RoleArn,MinIO 会尝试通过基于 JWT 的声明进行授权。 |
响应元素
此 API 端点的 XML 响应与 AWS 类似AssumeRoleWithWebIdentity 响应具体来说,MinIO 返回一个AssumeRoleWithWebIdentityResult对象,
其中AssumedRoleUser.Credentialsobject 包含由 MinIO 生成的临时凭证:
AccessKeyId- 应用程序用于身份验证的访问密钥。SecretKeyId- 应用程序用于身份验证的密钥。Expiration- 该RFC3339凭证过期后的日期和时间。SessionToken- 应用程序用于身份验证的会话令牌。某些 SDK 在使用临时凭证时可能需要此字段。
以下示例类似于 MinIO STS 返回的响应AssumeRoleWithWebIdentityendpoint:
<?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 响应.