首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无需访问控制台即可访问AWS访问密钥

无需访问控制台即可访问AWS访问密钥
EN

Stack Overflow用户
提问于 2018-12-12 03:35:49
回答 1查看 297关注 0票数 1

是否可以在不从控制台生成访问密钥的情况下获取AWS访问密钥?

我希望能够创建一个脚本,该脚本将要求用户/密码/(TOTP)并生成临时访问密钥,以便执行多个任务。目标是能够将一个程序提供给dev,这样他们甚至不必每次都处理访问密钥,因为他们知道自己的密码。

我到处寻找我相信的地方,但找不到任何关于它是否可行的资源。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 20:00:09

是的,这是可行的。

可以通过命令行界面(CLI)和API实现。

CLI命令为:

代码语言:javascript
复制
aws iam create-access-key

接口调用为:

代码语言:javascript
复制
CreateAccessKey

有关详细信息,请参阅下面的文档参考。这是一本很好的读物,涵盖了最佳实践主题,如使用API或CLI轮换密钥。另一个好的最佳实践是在日常使用中使用根账户的,而不是

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey_CLIAPI

使用CLI的更新密钥轮换示例:

在从CLI尝试此操作之前,请先创建一个具有管理员权限的新IAM用户。

CLI第1步-将配置为使用管理员密钥:

代码语言:javascript
复制
aws configure

然后输入管理员的访问密钥ID和秘密访问密钥。

步骤2 -列出用户foo的密钥

代码语言:javascript
复制
 aws iam list-access-keys --user-name foo

输出将类似于:

代码语言:javascript
复制
{
    "AccessKeyMetadata": [
        {
            "UserName": "foo",
            "AccessKeyId": "AKIAIY*****A7YBHCBEBQ",
            "Status": "Active",
            "CreateDate": "2018-11-10T14:02:56Z"
        }
    ]
}

验证是否只有一个,因为用户最多可以有2个。如果他们已经有2个,则步骤3将失败。

步骤3 -为用户foo创建新密钥

代码语言:javascript
复制
aws iam create-access-key --user-name foo

您将看到类似于下面的输出。这是您唯一一次看到新集合的密钥,因此您需要保留它。

代码语言:javascript
复制
{
    "AccessKey": {
        "UserName": "foo",
        "AccessKeyId": "****GAGA*****WEFWEWE",
        "Status": "Active",
        "SecretAccessKey": "*****sEcReT*****Tasdasd",
        "CreateDate": "2018-12-01T19:16:41Z"
    }
}

您的新关键点已创建并处于活动状态。现在,您需要移除旧的关键点以完成旋转。我会把这一步留给你。

如果您收到以下错误:

代码语言:javascript
复制
An error occurred (InvalidClientTokenId) when calling the ListAccessKeys operation: The security token included in the request is invalid.

那么这是一个信号,你尝试从一个帐户,你的令牌是旧的,无效的,或没有正确的特权。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53731172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档