有人可以帮我理解这个: 当我在EC2服务器中部署我的REST服务并且如果EC2服务器具有用于S3访问的IAM角色时,它将从S3下载文件。 如果我正在处理我的开发/本地环境并尝试从S3访问文件,该怎么办?我开始知道我们需要使用Amazon CLI从本地环境访问S3。 有人可以解释一下我的Java代码将如何检查Amazon CLI(安装在我的Mac中)中的凭据以访问S3吗?
答案 0 :(得分:0)
当您设置AWS CLI访问权限时,您在本地用户名为.aws的文件夹中创建一个文件夹,此处有一个凭据文件,您的本地执行的Java代码将查找该文件。它被称为default credential provider chain。
首先它将查看您的系统环境变量,如果那里没有凭据,它将查看您的java系统属性。如果不存在,它将查看~/.aws/credentials
等。最后,作为最后一个选项,它将查看EC2实例配置文件凭据,这是您已授予EC2实例的IAM角色。 #39;重新运行代码。
答案 1 :(得分:0)
根据documentation,这是AWS SDK for Java在系统中查找凭据的顺序:
在第一次使用期间运行aws configure
以配置AWS CLI时,您的凭据将保存到〜/ .aws / credentials,因此,只要您已经可以访问S3,它就可以正常工作CLI。