本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS 凭证文件和凭证配置文件

凭证文件是一个纯文本文件,其中包含您的访问密钥。该文件必须:

位于运行应用程序的同一台计算机上。

命名为 credentials。

请位于您的主目录中的 .aws/ 文件夹。

该主目录可以因操作系统。在 Windows 上,您可以使用环境变量引用您的主目录 %UserProfile%。 在类 Unix 的系统上,您可以使用环境变量 $HOME 或 ~ (tilde)。

如果您已将此文件用于其他 SDKs 和工具(如 AWS CLI),则不需要进行任何更改,即可使用此开发工具包中的文件。如果您对不同的工具或应用程序使用不同的凭证,则可以使用配置文件在相同的配置文件中配置多个访问密钥。

我们使用此方法在所有我们的 PHP 代码示例。

使用 AWS 凭证文件可提供以下优势:

您的项目凭证存储在项目之外的位置,因此不会意外将其提交到版本控制中。

您可以在一个位置定义和命名多组凭证。

您可以轻松地在项目之间重用相同的凭证。

其他 AWS SDKs 和工具支持此相同的凭证文件。这样,您便可以对其他工具重用您的凭证。

AWS 凭证文件的格式应类似如下。[default]

aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID

aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY

[project1]

aws_access_key_id = ANOTHER_AWS_ACCESS_KEY_ID

aws_secret_access_key = ANOTHER_AWS_SECRET_ACCESS_KEY

每个部分 (例如 [default]、[project1]) 表示不同的凭证配置文件。您可以从开发工具包配置文件引用配置文件,也可以在实例化客户端时使用 profile 选项。use Aws\DynamoDb\DynamoDbClient;

// Instantiate a client with the credentials from the project1 profile

$client = new DynamoDbClient([

'profile' => 'project1',

'region' => 'us-west-2',

'version' => 'latest'

]);

如果没有向开发工具包明确提供凭证或配置文件,也没有在环境变量中定义凭证,但定义了凭证文件,则开发工具包会使用“默认”配置文件。您可以通过在 AWS_PROFILE 环境变量中指定替代配置文件名称来更改默认配置文件。

代入角色与配置文件

通过在 ~/.aws/credentials 中为 IAM 角色定义配置文件,您可以配置适用于 PHP 的 AWS 开发工具包来使用该角色。

使用您将代入的角色的 role_arn 创建一个新的配置文件。还需要包含配置文件的 source_profile,以及有权代入 IAM 角色的凭证。

~/.aws/credentials 中的配置文件:

[default]

aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID

aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY

[project1]

role_arn = arn:aws:iam::123456789012:role/testing

source_profile = default

role_session_name = OPTIONAL_SESSION_NAME

通过在实例化客户端时设置 AWS_PROFILE 环境变量或 profile 选项,则将代入 project1 中指定的角色,并使用 default 配置文件作为源凭证。

也可以为 ~/.aws/config 中定义的配置文件代入角色。 设置环境变量 AWS_SDK_LOAD_NONDEFAULT_CONFIG 将允许加载用于从 ~/.aws/config 中代入角色的配置文件。 启用后,将加载来自 ~/.aws/config 和 ~/.aws/credentials 的配置文件。来自 ~/.aws/credentials 的配置文件最后加载,它们将优先于 ~/.aws/config 中同名的配置问。来自任一位置的配置文件都可用作 source_profile 或要代入的配置文件。

~/.aws/config 中的配置文件:

[profile project1]

role_arn = arn:aws:iam::123456789012:role/testing

source_profile = default

role_session_name = OPTIONAL_SESSION_NAME

~/.aws/credentials 中的配置文件:

[project2]

aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID

aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY

使用上述文件,将使用 [project2] 作为源凭证代入 [project1]。

aws php服务器,使用 AWS 凭证文件和凭证配置文件 - 适用于 PHP 的 AWS 开发工具包...相关推荐

  1. aws 部署python lambda_python - 如何使用Aws Lambda(python)接收文件 - 堆栈内存溢出

    我正试图弄清楚如何通过Python中的API调用接收浏览器发送的文件. 允许Web客户端发送任何类型的文件(例如.txt,.docx,.xlsx,...). 我不知道我是否应该使用二进制文件. 想法是 ...

  2. aws linux使用ssh登陆_使用 亚马逊云 AWS 配置服务器并使用 xshell 远程连接

    使用 亚马逊云 AWS 配置服务器 如果之前使用亚马逊云配置服务器没有配置成功,那么请按照下面的方式删除掉实例 终止你想要删除的实例(我看文档说的是,终止实例其实就表示删除了实例,终止实例会删除掉服务 ...

  3. 怎么连接亚马逊的linux云服务器配置,使用 亚马逊云 AWS 配置服务器并使用 xshell 远程连接...

    使用 亚马逊云 AWS 配置服务器 如果之前使用亚马逊云配置服务器没有配置成功,那么请按照下面的方式删除掉实例 打开当前实例列表 终止你想要删除的实例(我看文档说的是,终止实例其实就表示删除了实例,终 ...

  4. aws云服务器申请及连接教程

    首次发布时间:2021-04-09 更新时间:2022-05-02 SB审核说这篇文章涉及"翻墙" 概述 申请一个亚马逊aws免费服务器.其中申请免费服务器需要一个邮箱账号和一张信 ...

  5. 如何在AWS搭建服务器控制服务器

    总体分为3个大步骤 1:注册域名 推荐的域名申请网站 *https://www.namecheap.com/ 域名便宜.com 最低只需要0.88刀一年 *https://my.freenom.com ...

  6. 坑:jmeter部署AWS云服务器时出现连接超时Non HTTP response code: org.apache.http.conn.HttpHostConnectException...

    背景: jmeter脚本部署到云服务器(AWS EC2)公网上时,启动jmeter脚本运行了5个小时才运行完毕,后面发现脚本报错timeout(如图),找了很久不知道原因,后面进入脚本发现全部在报错. ...

  7. aws云服务器会自动扣费吗,亚马逊AWS云服务器不合理扣费怎么处理

    有些小伙伴可能不知道,亚马逊AWS对新用户有个免费体验一年的活动.如果希望体验免费亚马逊AWS云服务器产品,或者看看他们后台面板长什么样,体验产品的速度和性能,又或者准备搭建一个免费t z,可以 注册 ...

  8. ubuntu18.0404 aws 云服务器启动和登陆 windows 虚拟机

    ubuntu18.0404 aws 云服务器启动和登陆 windows 虚拟机 以及but your libfreerdp does not support H264. Please check Co ...

  9. Node.js 和 AWS S3 服务实现的在线文件存储系统

    Node.js 和 AWS S3 服务实现的在线文件存储系统 一. 安装依赖 在开始之前,需要确保 Node.js 和 npm 已经安装在你的计算机上.然后在命令行中运行以下命令安装依赖: npm i ...

最新文章

  1. 简单了解各种序列化技术-Avro序列化
  2. java socket编程聊天室_Java Socket通信之聊天室功能
  3. shell -eom_EOM的完整形式是什么?
  4. java ac自动机_如何使用Java实现AC自动机全文检索实例
  5. AOSP6.0.1 launcher3入门篇—解析launcher.java文件
  6. Bootstrap 字体与图标
  7. 【转载】谁动了摩卡的奶酪?
  8. 如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017
  9. 08 指数基金 定投VS一次性投资
  10. java下载图片到本地
  11. python--mysql创建数据库
  12. 计算机论文中的技术路线,毕业论文开题报告中技术路线怎么写
  13. Ubuntu 20.04 物理机安装
  14. 逻辑英语公式R1+R2
  15. UC浏览器电脑版来了:用了有快感?
  16. html %3cstyle%3e 添加css,从网站适应CSS样式到一个Django香脆形式复选框
  17. 睡眠经济崛起,智能床垫品牌们的可为和有为
  18. C语言用函数求圆的面积和周长,用C语言:编写两个函数,分别计算圆的面积和周长,要求在主函数中输入半径,调用函数进行计算,主函数中...
  19. 软件测试怎么学习 ?50本关于软件测试的书籍,拿走!
  20. 谷歌Google搜索引擎对302跳转会不会传递权重?

热门文章

  1. wifi大师专业版4.3.7源码
  2. java中commons-net包_Apache commons net 包介绍和简单使用详解
  3. <C++模板:(函数模板)+(类模板)--详细说明>
  4. 华为手机丢了定位怎么利用查找设备定位找到丢失被盗华为准确位置?
  5. 9. 设计二个函数分别计算sinx和cosx_从并发模型看 Go 的语言设计
  6. 贪心算法——最小生成树
  7. 项目实践(一)点餐系统概述
  8. dalvik和鸿蒙,ART与Dalvik哪个好用 ART模式和Dalvik模式区别对比分析
  9. 神经网络模型压缩技术
  10. 天下数据分析IDC行业微信自媒体营销的技巧