如何获取AWS CLI请求时当前生效的AWS Access Key ID?
获取当前AWS CLI生效的Access Key ID方法
AWS没有提供直接返回当前活跃Access Key ID的API调用(例如类似aws sts get-caller-identity这类接口),但可以通过以下几种方式确定当前生效的密钥标识符:
查看本地凭证来源
- 环境变量:在终端执行
echo $AWS_ACCESS_KEY_ID(Linux/macOS)或echo %AWS_ACCESS_KEY_ID%(Windows),直接读取环境变量中的密钥ID - 配置文件:查看本地AWS配置文件(Linux/macOS路径为
~/.aws/credentials,Windows为C:\Users\<用户名>\.aws\credentials)中当前使用的配置段对应的aws_access_key_id;也可通过CLI命令直接读取:aws configure get aws_access_key_id(默认配置)或aws configure get aws_access_key_id --profile <指定配置文件> - EC2实例元数据(使用IAM角色时):先执行
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/获取当前实例关联的IAM角色名,再执行curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<角色名>,返回的JSON数据中包含AccessKeyId字段
- 环境变量:在终端执行
间接验证密钥有效性
如果你有疑似的Access Key ID列表,可以使用aws iam get-access-key-last-used --access-key-id <待验证的密钥ID>命令验证:如果该密钥是当前生效的,会返回其最后使用的时间和服务信息;如果密钥无效或不属于当前用户,会返回对应的错误提示。
内容的提问来源于stack exchange,提问作者rfg
相关产品推荐
相关产品推荐

