如何从实例元数据访问 S3 存储桶名称和终端节点?



我使用云形成模板脚本创建了 S3 存储桶。

现在,我想从实例元数据访问 S3 存储桶名称和终端节点。

有什么帮助吗?

要使在 Amazon EC2 实例上运行的应用程序能够访问 Amazon S3(或任何 AWS 服务(,您可以为 EC2 实例创建 IAM 角色并将其分配给该实例。

该实例上使用 AWS 开发工具包对 AWS 进行 API 调用的应用程序将自动有权访问具有分配的角色中所述权限的凭证。

您的特定情况有点困难,因为 CloudFormation 模板将创建一个具有唯一名称的存储桶,而您的 IAM 角色需要知道 Amazon S3 存储桶的确切名称。这可以通过参考在 CloudFormation 模板中创建的 S3 存储桶来实现。

模板需要创建以下资源:

AWS::
  • S3::Bucket
  • AWS::
  • IAM::用于定义权限的角色
  • AWS::
  • IAM::InstanceProfile 用于将角色链接到 EC2 实例
  • AWS::
  • EC2::引用 IAM 角色的实例

在 IAM 角色的定义中,S3 存储桶的 ARN 需要引用在模板中其他位置创建的存储桶。这需要一些字符串操作才能将正确的值插入策略中。

如果您遇到困难,请随时创建另一个 StackOverflow 问题,显示您一直在处理的模板,突出显示导致困难的部分。

相关内容

最新更新