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

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

使用 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]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值