配置没有密钥和访问密钥的AWS CLI凭证

时间:2019-10-10 14:58:16

标签: amazon-web-services amazon-iam aws-cli

过去一周来,我一直在使用为将REST API连接到DynamoDB和AWS CLI而生成的Access和Secret密钥,今天,离岸团队告诉我,我不应该使用Access和Secret密钥<我应该使用IAM角色,我一直在研究如何做到这一点,但是我被困在这里,有没有人遇到过同样的问题?

3 个答案:

答案 0 :(得分:0)

如果一切都按照您在问题中的陈述方式以及在回复@stdunbar的评论中说的那样进行,则不可能这样做,这既是秘密密钥又是访问密钥的目的,我不认为您的离岸团队知道他们在说什么

答案 1 :(得分:0)

有一些方法可以从AWS获取STS会话密钥(例如,当您担任角色时)。一种解决方案是Hashicorp Vault,但这需要将基础结构配置为允许这样做。还有其他使用webui会话生成STS令牌的方法。

询问离岸团队应该使用哪种方法来获取基于角色的访问会话令牌。您可能习惯了cli询问访问密钥ID和秘密密钥。会话密钥将分为三部分,而不是两部分。会话访问密钥ID将以ASIA(而不是AKIA)开头;会话秘密访问密钥与其静态对应密钥相同;会话令牌是一个很长的字符串。

设置这些最简单的方法是在.aws / credentials中编辑凭据文件。如果您使用aws configure,则不会提示您设置会话令牌。您可以为每个部分使用aws configure set,如果尚未在凭证文件中设置配置文件,则只需编辑默认的凭证配置文件即可。

来源:https://docs.aws.amazon.com/cli/latest/reference/configure/index.html

答案 2 :(得分:0)

(正确地)说明他们的意思是您的应用程序不应包含显式凭据。

相反,应在具有IAM角色的Elastic Beanstalk中配置应用程序。当应用程序运行并使用AWS开发工具包时,该开发工具包将能够从其所运行的Beanstalk环境中检索临时凭证。

您可以在Managing Elastic Beanstalk Instance Profiles上阅读更多内容。