首页 > 其他分享 >如何在aws cli中使用多个配置文件

如何在aws cli中使用多个配置文件

时间:2024-04-30 23:12:50浏览次数:22  
标签:profile carlshen user2 cli 配置文件 aws carl macpro

aws cli使用中,可能会有在多个IAM账户中进行切换的需求,手动切换~/.aws/目录下的configcredentials是十分费力的事情。还好aws cli本身就可以支持多个aws credentials

配置多个profile

aws configure时,加上--profile参数来命名不同的账户, 依次输入access id, access key, region和output format。

1 2 $ aws configure --profile user1 $ aws configure --profile user2

此时生成的configcredentials文件中,会使用账户名来分割不同的配置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [carlshen@carl-macpro-lan ~]$ cat ~/.aws/config [profile user1] output = json region = us-west-2 [profile user2] output = json region = ap-northeast-2 [carlshen@carl-macpro-lan ~]$ [carlshen@carl-macpro-lan ~]$ cat ~/.aws/credentials [user1] aws_access_key_id = AKIAXXXXXXXXXXXXXXXX aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [user2] aws_access_key_id = AKIAXXXXXXXXXXXXXXXX aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [carlshen@carl-macpro-lan ~]$

使用多个profile

基本用法

使用的时候,在命令后面加上参数--profile user_name即可使用user_name对应的profile

1 $ aws s3 ls --profile user_name

如下命令使用user2的profile来查看S3下的bucket list

1 2 3 [carlshen@carl-macpro-lan ~]$ aws s3 ls --profile user2 2017-10-24 11:18:38 carl-test-at-seoul [carlshen@carl-macpro-lan ~]$

简化

每次输入--profile user_name是很繁琐的事情,在Mac或者Linux下,可以使用alias来简化

1 $ alias aws_user_name='aws --profile user_name'

这样,每次使用的时候,直接使用aws_user_name来使用user_name的profile来运行aws命令

以下命令设置aws_user2为使用user2的profile来运行aws命名

1 2 3 4 [carlshen@carl-macpro-lan ~]$ alias aws_user2='aws --profile user2' [carlshen@carl-macpro-lan ~]$ aws_user2 s3 ls 2017-10-24 11:18:38 carl-test-at-seoul [carlshen@carl-macpro-lan ~]$

添加到~/.bashrc中使得alias永久生效

1 $ echo "alias aws_user2='aws --profile user2'" >> ~/.bashrc

设置默认profile

如果有一个账号是使用的比较频繁的,而不想每次都使用alias的方式来运行aws,那么也可以设置环境变量AWS_DEFAULT_PROFILE为频繁使用的账号名,此时输入aws时候,会自动使用指定的账号配置

1 $ export AWS_DEFAULT_PROFILE=user2

运行结果如下:

1 2 3 4 5 6 7 8 9 10 11 12 ## 没有设置AWS_DEFAULT_PROFILE时 [carlshen@carl-macpro-lan ~]$ echo $AWS_DEFAULT_PROFILE   [carlshen@carl-macpro-lan ~]$ aws s3 ls Unable to locate credentials. You can configure credentials by running "aws configure". [carlshen@carl-macpro-lan ~]$   ## 设置了AWS_DEFAULT_PROFILE为user2后,aws默认就会使用user2的profile [carlshen@carl-macpro-lan ~]$ export AWS_DEFAULT_PROFILE=user2 [carlshen@carl-macpro-lan ~]$ aws s3 ls 2017-10-24 11:18:38 carl-test-at-seoul [carlshen@carl-macpro-lan ~]$

添加到~/.bashrc中来使AWS_DEFAULT_PROFILE永久生效

1 $ echo "export AWS_DEFAULT_PROFILE=user2" >> ~/.bashrc

标签:profile,carlshen,user2,cli,配置文件,aws,carl,macpro
From: https://www.cnblogs.com/xzlive/p/18168854

相关文章

  • 【发现一个小问题】golang http client: 配置了Client 对象的 Timeout 就会导致 conte
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯我这样初始化了客户端:varclient=http.Client{Timeout:time.Duration(1000)*time.Millisecond,}然后在request创建过程中使用了context的timeout机制:tim......
  • 国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
    日前,阿里云联合ClickHouseInc.成功举办了「ClickHouse企业版商业化发布会」。阿里云ClickHouse企业版是阿里云和ClickHouse原厂独家合作的存算分离的云原生版本,支持资源按需弹性Serverless,在帮助企业降低成本的同时,为企业带来更多商业价值。 在发布会上,阿里云数据库产品事业部......
  • openGauss 配置文件参考
    配置文件参考表1参数说明参数名称描述取值范围local表示这条记录只接受通过Unix域套接字进行的连接。没有这种类型的记录,就不允许Unix域套接字的连接。只有在从服务器本机使用gsql连接且在不指定-h参数的情况下,才是通过Unix域套接字连接。-host表示这条记......
  • java项目日志配置文件
    logback<!--name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。--><propertyname="log.path"value="logs"/><!--2.输出到文档--><!--2.1level为DEBUG日志,时间滚动输出--><appendername="DE......
  • 如何下载Junit并在eclipse上配置Junit
    点击链接DownloadandInstall·junit-team/junit4Wiki·GitHub点击junit.jar选择下载junit4.13.2版本的话直接下载junit-4.13.2.jar,这里下载的是4.10版本,所以点击../ 选择其他的版本点击4.10/,下载junit-4.10.jar这样就下载好junit了,接下来在eclipse上配置junit......
  • AWS 文件预签名URL
     1.《获取STS临时授权凭证》2.《通过STS Token分片上传文件》一、相关文档1.AWS S3预签名URL文档:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/example_s3_Scenario_PresignedUrl_section.htmlAWS S3只针对文件的存储,若想实现阿里云oss通过URL参数对图......
  • @aws-sdk 支持的库
    abort-controllerbody-checksum-nodechunked-stream-reader-nodeclient-accessanalyzerclient-accountclient-acmclient-acm-pcaclient-alexa-for-businessclient-ampclient-amplifyclient-amplifybackendclient-amplifyuibuilderclient-api-gatewayclient-apiga......
  • IDEA导入springboot项目无法识别resources下的application.yml配置文件
    遇到的问题:IDEA springboot不能读取resources下的yml配置文件如下图,application.yml文件前面的图标并不是springboot配置文件的图标,这就是IDEA没有识别到yml文件 正确的配置文件图标因该是下面这样的可能原因及解决方法: 文件名问题:确保YML文件的名称是正确......
  • 通过AWS STS临时授权凭证分片上传文件
    一、相关文档1.AWS分片上传文档:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/mpuoverview.html2.获取AWS STS临时授权凭证,go示例二、GO示例packagemainimport("context""errors""fmt""github.com/aws/aws-sdk-go-v2/......
  • SAP 通过配置传输的方式恢复某个CLIENT下的基础配置数据
    SAP通过配置传输的方式恢复某个CLIENT下的基础配置数据  比如某个项目上用户不小心误操作,将SAP系统标准的物料类型全部删除了(事务代码OMS2)。这导致系统无法继续使用了,需要采取技术手段将删除的数据恢复过来。 解决方案也很简单,换一个Client,进入这个配置界面,选中全部......