Amazon web services 使用AWS SDK使用IAM角色-无根凭据
我需要使用AWS SDK将文件上载到S3 bucket,而不使用根凭据。我有IAM角色,但没有根凭据。是否有任何API可用于执行相同的操作 到目前为止,我正在使用以下dodeAmazon web services 使用AWS SDK使用IAM角色-无根凭据,amazon-web-services,amazon-s3,aws-sdk,Amazon Web Services,Amazon S3,Aws Sdk,我需要使用AWS SDK将文件上载到S3 bucket,而不使用根凭据。我有IAM角色,但没有根凭据。是否有任何API可用于执行相同的操作 到目前为止,我正在使用以下dode protected void transferToS3(String s3BucketName, String folderPath,String s3FolderName) { AWSCredentials credentials = new BasicAWSCredentials("aceessKey",
protected void transferToS3(String s3BucketName, String folderPath,String
s3FolderName) {
AWSCredentials credentials = new BasicAWSCredentials("aceessKey",
"secretkey");
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTP);
AmazonS3 s3Client = new AmazonS3Client(credentials);
TransferManager xfer_mgr = new TransferManager(s3Client);
AmazonS3Client ac;
try {
MultipleFileUpload xfer = xfer_mgr.uploadDirectory(s3BucketName,
s3FolderName, new File(folderPath), true);
xfer.waitForCompletion();
} catch (AmazonServiceException e) {
e.printStackTrace();
} catch (AmazonClientException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
如果您在EC2或Lambda中运行此代码,则使用适当许可的IAM角色启动计算,并让AWS SDK自动为您检索凭据。当您说您拥有“IAM角色”时,您的确切意思是什么?您是否拥有可以让您担任该角色的凭据,或者您运行的实例已分配该角色(实例配置文件)。我拥有在AWS上担任IAM角色的凭据(电子邮件/密码)。使用电子邮件作为用户ID的凭据是根凭据,出于安全原因,通常应避免使用。您应该在调用AWS服务时使用IAM用户。如果需要,IAM用户可以担任IAM角色。好的,我正在寻找一个API调用来传递IAM用户角色,并将给定的文件夹/文件上载到S3 bucket。