setSecurityTokenServicePreferences method
- required GlobalEndpointTokenVersion globalEndpointTokenVersion,
Sets the specified version of the global endpoint token as the token version used for the AWS account.
By default, AWS Security Token Service (STS) is available as a global
service, and all STS requests go to a single endpoint at
https://sts.amazonaws.com
. AWS recommends using Regional STS
endpoints to reduce latency, build in redundancy, and increase session
token availability. For information about Regional endpoints for STS, see
AWS
Regions and Endpoints in the AWS General Reference.
If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.
To view the current session token version, see the
GlobalEndpointTokenVersion
entry in the response of the
GetAccountSummary operation.
May throw ServiceFailureException.
Parameter globalEndpointTokenVersion
:
The version of the global endpoint token. Version 1 tokens are valid only
in AWS Regions that are available by default. These tokens do not work in
manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2
tokens are valid in all Regions. However, version 2 tokens are longer and
might affect systems where you temporarily store tokens.
For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.
Implementation
Future<void> setSecurityTokenServicePreferences({
required GlobalEndpointTokenVersion globalEndpointTokenVersion,
}) async {
ArgumentError.checkNotNull(
globalEndpointTokenVersion, 'globalEndpointTokenVersion');
final $request = <String, dynamic>{};
$request['GlobalEndpointTokenVersion'] =
globalEndpointTokenVersion.toValue();
await _protocol.send(
$request,
action: 'SetSecurityTokenServicePreferences',
version: '2010-05-08',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['SetSecurityTokenServicePreferencesRequest'],
shapes: shapes,
);
}