我在 AWS CLI 上有一个用户,
当我这样做时
AWS IAM 获取用户
我得到:
{
"User": {
"UserName": "mbeta",
"PasswordLastUsed": "2018-09-27T00:19:08Z",
"CreateDate": "2018-02-02T02:38:57Z",
"UserId": "xxx",
"Path": "/",
"Arn": "arn:aws:iam::xx:user/mbeta"
}
}
问题是用户正在覆盖凭证以在使用某些 AWS 凭证的"本地主机"上启动服务器
cat .aws/credentials
[thaServer]
aws_access_key_id = xxxyyy
aws_secret_access_key = zzz/eee
region = ap-southeast-2
因此,当我尝试运行服务器时,它使用我的 CLI 用户...
我请另一位同事跑
AWS IAM 获取用户
他得到:
Unable to locate credentials. You can configure credentials by running "aws configure".
所以我的问题是,如何只删除我的 CLI 信息或指向我的服务器凭据的正确用户?
不从 IAM 中删除我的用户。干杯
在我的~/.aws/credentials中,我有几个配置文件:
[default]
aws_access_key_id = <REMOVED>
aws_secret_access_key = <REMOVED>
[k8s]
aws_access_key_id = <REMOVED>
aws_secret_access_key = <REMOVED>
[jenkins]
aws_access_key_id = <REMOVED>
aws_secret_access_key = <REMOVED>
所有配置文件都有不同的 IAM 角色,我将它们用于不同的任务。默认情况下,所有命令显然都使用默认配置文件。
使用k8s配置文件列出具有 awscli 的 S3 存储桶的示例如下:
aws s3api list-buckets --profile k8s
您没有提到您要尝试运行哪种服务器,所以我只能为您提供一般解决方案,选择其中任何一个:
- 更改默认配置文件
- 创建单独的凭据文件并在服务器配置中指定文件路径
- 创建专用的 Linux 用户来运行服务器