[英]how to make local machine to assume IAM role
我有的
我想要的是
AWS資源初始化
AmazonS3 amazonS3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new EC2ContainerCredentialsProviderWrapper())
.withRegion(Regions.DEFAULT_REGION)
.withForceGlobalBucketAccessEnabled(true)
.build();
AmazonSQS amazonSQSClient = amazonSQSClient = AmazonSQSClientBuilder.standard()
.withCredentials(new EC2ContainerCredentialsProviderWrapper())
.withRegion(Region.getRegion(regions).getName())
.build();
現在,當我運行應用程序並進行調用時,顯然拒絕了AWS訪問
我發現有任何教程,可以在本地計算機上進行某些配置,並在本地計算機上發揮所需的作用。
我們已經遇到了很多這個問題。 但是,由於使用的是DefaultCredentialProviderChain
情況更簡單。 該鏈先在環境中搜索憑據,然后在IAM中搜索(按我認為的順序)。
我的建議是忘記模擬IAM,改為模擬服務。 在環境中設置一些虛擬憑據,以便提供商鏈使用這些憑據而不是嘗試使用IAM。
對於S3: https : //github.com/adobe/S3Mock
對於SQS: https : //github.com/MeteoGroup/sqsmock
現在,如果您確定要模擬IAM,請查看以下內容: https : //github.com/NYTimes/mock-ec2-metadata
請注意,為此設置不值得您從中受益。 因人而異
您可能也對以下內容感興趣: https : //github.com/localstack/localstack
但是我還沒有用過那個。
編輯:為什么嘲笑IAM很難? 因為iam憑據來自元數據終結點,該終結點為http://169.254.168.254
。 因此,要模擬IAM,必須模擬元數據終結點。 這通常涉及某種iptables
hack。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.