委托人(人员或应用程序)使用实体(用户或角色)将请求发送到AWS API。现在,当您使用AWS控制台与AWS生态系统进行交互时,我了解到这些请求是自动签名的,因此AWS可以识别发送这些请求的人(而您需要手动签名HTTP API调用)。
对AWS API的每个请求是否已签名?不管请求是从Console / CLI / SDK / HTTP API发出的。我了解很少有STS和S3操作是例外,但是我的问题是确定对请求进行签名是否取决于请求的源,即控制台/ CLI / SDK / HTTP API?还是自动或手动应用?
在IAM用户指南文档中,提到-
当您使用AWS命令行界面(AWS CLI)或 AWS开发工具包向AWS发出请求,这些工具会自动对 使用您在访问时指定的访问密钥请求您 配置工具
因此,当通过AWS控制台发出请求时,这些请求如何签名?控制台用户没有访问密钥?
答案 0 :(得分:1)
CLI使用Python SDK(boto3),后者使用HTTP API。它们都签署HTTP API请求same way。您必须先配置访问密钥,然后才能使用CLI。
sts:AssumeRole
为您提供该角色而非用户的临时访问密钥。