前面介绍了凭证的存储方法,其实凭证又有好几种类型:
- IAM 身份中心 (SSO):推荐做法
- IAM角色
- 短期证书
- 长期证书
- Amazon EC2 instance metadata
分别来看下这几种类型是怎么配置的(环境变量存储法就不演示了,以文件存储的方式为例):
参考Setting up the AWS CLI - AWS Command Line Interface
一、IAM 身份中心 (SSO)
1、介绍
适用于 AWS 上的 EC2 实例、Lambda 或 ECS 服务。
使用 IAM 角色 来自动提供凭证,无需手动设置 Access Key
或 Secret Key
,IAM 角色会自动将临时凭证提供给你的应用。在 EC2 实例或容器中运行时,SDK 会自动获取该实例或容器的 IAM 角色权限。IAM 角色 可以为你的 EC2 实例、Lambda 函数或 ECS 容器任务授予访问 DynamoDB 的权限。你需要为角色分配合适的 权限策略,例如 AmazonDynamoDBFullAccess
。
2、文件存储法配置
AWS CLI 会通过 SSO 获取临时的 AWS 安全令牌(包括 访问密钥 ID、秘密访问密钥 和 会话令牌),这些临时凭证会存储在 AWS CLI 的缓存文件夹(通常是 ~/.aws/sso/cache
)中,而不是直接存储在 credentials
文件中,过期了无效需要重新登录,关于如何生成凭证文件也有两种方法:
(1)aws cli命令生成config文件和凭证文件
aws cli设置相关配置生成config-->自动跳转到浏览器登录-->自动生成凭证
$ aws configure sso
#1、输入一个名称
SSO session name (Recommended): my-sso
#2、输入sso地址
SSO start URL [None]: https://my-sso-portal.awsapps.c