2016-04-13 53 views
1

zincirindeki herhangi bir sağlayıcıdan AWS kimlik bilgilerini yükleyemiyorum SAMS isteği (ADFS'den) kullanarak STS'den AWS için geçici kimlik bilgilerini almaya çalışıyorum. SAML belirtecine, arn ve principalARN rolüne sahibim. Bunu AWS CLI kullanarak giriş yapmak için kullanırsam çalışır. Ancak aynı 3'ü Java SDK ile kullanmak aşağıdaki hatayı verir. zincirinin İşteSTS, SAML ve Java SDK

herhangi sağlayıcıdan AWS kimlik bilgilerini yüklemek için

edilemiyor kullanıyorum Java kodudur.

AssumeRoleWithSAMLRequest samlreq =new AssumeRoleWithSAMLRequest().withPrincipalArn(principalARN).withRoleArn(roleARN).withSAMLAssertion(SAMLToken); 

AWSSecurityTokenServiceClient stsclient = new AWSSecurityTokenServiceClient(); 

AssumeRoleWithSAMLResult tempcreds=stsclient.assumeRoleWithSAML(samlreq); 

Hatalı veya eksik ne yapıyorum? İplik "ana" com.amazonaws.AmazonClientException içinde

İstisna: com.amazonaws.auth.AWSCredentialsProviderChain de zincirindeki herhangi bir sağlayıcıdan alınan AWS kimlik bilgilerini yüklemek için açılamıyor İşte

Yığın izidir. getCredentials com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.assumeRoleWithSAML (AWSSecurityTokenServiceClient.java:575) en com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.invoke (AWSSecurityTokenServiceClient.java:1098) 'den (AWSCredentialsProviderChain.java:117)

+0

Gördüğünüz tam yığın izini ekleyebilir misiniz? –

+0

Sorulara yığın izini ekledim. – Ritwaj

cevap

3

App.main (App.java:83) azından ben nihayet eklemek zorunda çalışabilecek mi:

BasicAWSCredentials basicCreds=new BasicAWSCredentials("", ""); 
AWSSecurityTokenServiceClient stsclient = new AWSSecurityTokenServiceClient(basicCreds); 

Temelde STS müşteriye kimlik boş kümesini verir.

+0

Çok teşekkürler! Çözümün bir cazibe gibi çalıştı. –