本文介绍了DynamoDB 请求中包含的安全令牌无效 UnrecognizedClientException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有 ~/.aws/credentials 和配置文件,我的代码在下面
I have ~/.aws/credentials and config files and my code is below
clientConfiguration.setProxyHost("MYPROXY");
clientConfiguration.setProxyPort(port);
clientConfiguration.setProxyUsername("username");
clientConfiguration.setProxyPassword("pw");
clientConfiguration.setPreemptiveBasicProxyAuth(false);
AmazonDynamoDBClient client = new AmazonDynamoDBClient(new ProfileCredentialsProvider("MY_PROFILE"),clientConfiguration);
//client.withRegion(Regions.US_EAST_1);
DynamoDBMapper mapper = new DynamoDBMapper(client);
// Get a book - Id=101
GetBook(mapper, 101);
我每次都遇到异常.我可以在 ~/.aws/credentials 的凭证文件中看到会话令牌
I am getting below exception everytime.I can see session token in my credential file in ~/.aws/credentials
Error running the DynamoDBMapperQueryScanExample: com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The security token included in the request is invalid. (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: S0NTUAHKE57VC68FM3CVBOFAKFVV4KQNSO5AEMVJF66Q9ASUAAJG)
com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The security token included in the request is invalid. (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: S0NTUAHKE57VC68FM3CVBOFAKFVV4KQNSO5AEMVJF66Q9ASUAAJG)
AWS 开发工具包 1.11.24 java凭证文件
AWS SDK 1.11.24 javaCredentials file
[TES1_AWS_STSdigital_Dev_Developer]
aws_access_key_id = XXXXX
aws_secret_access_key = AAAAA
aws_security_token = BBBBBBBB
token_expiration = 2016-08-08T16:34:48Z
[TEST2_AWS_TEST_Dev_ReadOnly]
aws_access_key_id = MMMMMM
aws_secret_access_key = NNNNNN
aws_security_token = OOOOOOO
token_expiration = 2016-08-08T16:34:48Z
[TEST3_AWS_STSdigital_Prod_ProdSupport]
aws_access_key_id = KKKKKKK
aws_secret_access_key = LLLLLLLLL
aws_security_token =FFFFFFFF
token_expiration = 2016-08-08T16:34:48Z
[TEST4_AWS_STSdigital_Prod_Monitoring]
aws_access_key_id = WWWWWW
aws_secret_access_key = SSSSSSSS
aws_security_token = VVVVVVVVV
token_expiration = 2016-08-08T16:34:48Z
~/.aws/config 中的配置文件
config file in ~/.aws/config
[DEFAULT]
scope = urn:amazon:webservices
[saml_provider]
url = https://myprivatesssaccess
default_region = us-east-1
[profile TEST1_AWS_STSdigital_Dev_Developer]
saml_role = arn:aws:iam::44444444:role/TEST1_AWS_STSdigital_Dev_Developer
region = us-east-1
[profile TEST2_AWS_TEST_Dev_ReadOnly]
saml_role = arn:aws:iam::3333333:role/TEST2_AWS_TEST_Dev_ReadOnly
region = us-east-1
[profile TEST3_STSdigital_Prod_ProdSupport]
saml_role = arn:aws:iam::222222:role/TEST3_AWS_STSdigital_Prod_ProdSupport
region = us-east-1
[profile TEST4_AWS_STSdigital_Prod_Monitoring]
saml_role = arn:aws:iam::1111111:role/TEST4_AWS_STSdigital_Prod_Monitoring
region = us-east-1
推荐答案
当我将我的区域设置为 RegionEndpoint.APEast1 而不是 RegionEndpoint.USEast1 时收到此错误.我的错误,我接受了第一个East1";我在智能感知中看到的字符串.
I received this error when I had my region set to RegionEndpoint.APEast1 instead of RegionEndpoint.USEast1. My error, I accepted the first "East1" string I saw in intellisense.
这篇关于DynamoDB 请求中包含的安全令牌无效 UnrecognizedClientException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!