AssumeRoleWithCustomToken

The AIStor Security Token Service (STS) AssumeRoleWithCustomToken API endpoint generates a token for use with the AIStor External Identity Management Plugin.

Request endpoint

The AssumeRoleWithCustomToken endpoint has the following form:

POST https://aistor.example.net?Action=AssumeRoleWithCustomToken[&ARGS]

The following example uses all supported arguments. Replace the aistor.example.net hostname with the appropriate URL for your AIStor cluster:

POST https://aistor.example.net?Action=AssumeRoleWithCustomToken
&Token=TOKEN
&Version=2011-06-15
&DurationSeconds=86000
&RoleArn="<external-auth-provider>"

Request query parameters

This endpoint supports the following query parameters:

Parameter Type Description
Token string Required

Specify the JSON Token to present to the external identity manager.
AIStor expects the identity manager to parse the token and determine whether to authenticate client requests using that token.
Version string Required

Specify 2011-06-15.
RoleArn string Required

Specify the ARN for the Identity Manager Plugin configuration to associate with this STS request.

See MINIO_IDENTITY_PLUGIN_ROLE_ID for more information.

Note that AIStor automatically prepends idmp- to a configured ROLE_ID when generating the RoleArn. Include that string with the ROLE_ID if required.
DurationSeconds integer Optional

Specify the number of seconds after which the temporary credentials expire.
Defaults to 3600.

- The minimum value is 900 or 15 minutes.
- The maximum value is 604800 or 7 days.

Response elements

AIStor returns an AssumeRoleWithCustomTokenResult object, where the AssumedRoleUser.Credentials object contains the temporary credentials generated by MinIO:

  • AccessKeyId - The access key applications use for authentication.
  • SecretKeyId - The secret key applications use for authentication.
  • Expiration - The ISO-8601 date-time after which the credentials expire.
  • SessionToken - The session token applications use for authentication. Some SDKs may require this field when using temporary credentials.

The following example is similar to the response returned by the AIStor STS AssumeRoleWithCustomToken endpoint:

<?xml version="1.0" encoding="UTF-8"?>
<AssumeRoleWithCustomTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleWithCustomTokenResult>
   <Credentials>
      <AccessKeyId>ACCESS_KEY</AccessKeyId>
      <SecretAccessKey>SECRET_KEY</SecretAccessKey>
      <Expiration>YYYY-MM-DDTHH:MM:SSZ</Expiration>
      <SessionToken>TOKEN</SessionToken>
   </Credentials>
   <AssumedUser>custom:Alice</AssumedUser>
</AssumeRoleWithCustomTokenResult>
<ResponseMetadata>
   <RequestId>UNIQUE_ID</RequestId>
</ResponseMetadata>
</AssumeRoleWithCustomTokenResponse>

Error elements

The XML error response for this API endpoint is similar to the AWS AssumeRoleWithWebIdentity response.

All rights reserved 2024-Present, MinIO, Inc.