【问题标题】:How to make API request using roles如何使用角色发出 API 请求
【发布时间】:2016-09-05 17:29:29
【问题描述】:

我想开发 Java 应用程序并部署在 EC2 上。据我了解,您应该使用角色而不是访问密钥和密钥。

现在假设我启动了一个实例,并附加了一个 S3 完全访问角色,那么我将如何进行 API 调用?

因为 SDK 需要如下访问密钥和密钥:

AWSCredentials credentials = new BasicAWSCredentials("YourAccessKeyID", "YourSecretAccessKey");

AmazonS3 s3client = new AmazonS3Client(credentials);

我不明白它是如何工作的?

【问题讨论】:

    标签: amazon-web-services aws-java-sdk


    【解决方案1】:

    您只是在查看实例化 SDK 客户端对象的一种可能方法。要使用 EC2 实例配置文件,您只需像这样实例化一个 AmazonS3Client 对象,而不提供凭据:

    AmazonS3Clent s3client = new AmazonS3Client();
    

    如果未指定凭证,则 AWS 开发工具包将在环境变量、Java 系统属性、默认凭证文件和 EC2 实例配置文件中查找凭证。这记录在here

    【讨论】:

    • 感谢您的回复。先生,我还有一个疑问。我是否可以使用 IAM getRole() 检索附加到实例的所有角色,而不使用您在回答中提到的凭证。基本上我想在不提供的情况下获取附加到实例的角色访问密钥和密钥。那么是否有必要将 IAM 权限的角色附加到实例。或者有任何方法可以从实例元数据中获取角色。
    • @ShivkumarMallesappa 这是一个完全独立的问题。 1:你为什么不试试看? 2:如果您在尝试后需要帮助,请将其作为单独的问题发布在 StackOverflow 上。
    • 谢谢先生。完成所有试验和错误后,我一定会将此答案标记为正确。希望您不介意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2012-11-19
    • 1970-01-01
    • 2019-12-21
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多