AWS IAM请求

时间:2019-03-31 06:35:49

标签: amazon-web-services amazon-iam

委托人(人员或应用程序)使用实体(用户或角色)将请求发送到AWS API。现在,当您使用AWS控制台与AWS生态系统进行交互时,我了解到这些请求是自动签名的,因此AWS可以识别发送这些请求的人(而您需要手动签名HTTP API调用)。

  1. 对AWS API的每个请求是否已签名?不管请求是从Console / CLI / SDK / HTTP API发出的。我了解很少有STS和S3操作是例外,但是我的问题是确定对请求进行签名是否取决于请求的源,即控制台/ CLI / SDK / HTTP API?还是自动或手动应用?

  2. 在IAM用户指南文档中,提到-

  

当您使用AWS命令行界面(AWS CLI)或   AWS开发工具包向AWS发出请求,这些工具会自动对   使用您在访问时指定的访问密钥请求您   配置工具

因此,当通过AWS控制台发出请求时,这些请求如何签名?控制台用户没有访问密钥?

  1. 在担任角色时,用户将以请求中指定的角色发送STS:Assumerole请求。返回的临时证书是否适用于承担角色的用户,还是临时证书适用于角色?基本上,我想了解的是STS:Assumerole是要验证角色还是承担角色的用户?

1 个答案:

答案 0 :(得分:1)

CLI使用Python SDK(boto3),后者使用HTTP API。它们都签署HTTP API请求same way。您必须先配置访问密钥,然后才能使用CLI。

sts:AssumeRole为您提供该角色而非用户的临时访问密钥。