View a markdown version of this page

步骤 2:为您的实例角色配置 IAM 权限 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 2:为您的实例角色配置 IAM 权限

Fluent Bit在 Amazon EC2 实例上运行,并使用实例角色向 Amazon S3 进行身份验证。默认情况下,此角色不包含 Amazon S3 权限,因此您必须创建并附加一项策略,授予向前缀写入日志、从ecs-logs/前缀读取配置以及列出存储桶的Fluent Bit权限。fluent-bit/

注意

您也可以使用 IAM Policy Simulator 测试您的策略。有关策略模拟器的更多信息,请参阅 IAM 用户指南中的使用 IAM Policy Simulator

使用以下 JSON 创建 IAM 策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::host-level-logs-bucket/ecs-logs/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::host-level-logs-bucket/fluent-bit/*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::host-level-logs-bucket" } ] }
Amazon Console
  1. 使用 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 选择 JSON 选项卡并粘贴前面的策略 JSON。将 host-level-logs-bucket替换为存储桶名称。

  5. 选择下一步

  6. 对于策略名称,输入 BatchHostLogsS3Access

  7. 选择创建策略

然后将策略附加到实例角色:

  1. 在导航窗格中,选择角色

  2. 搜索并选择ecsInstanceRole

  3. 选择添加权限,然后选择附加策略

  4. 搜索BatchHostLogsS3Access,选择它,然后选择 “添加权限”

Amazon CLI

将前面的策略 JSON 保存到名为的文件中batch-host-logs-policy.json,然后运行以下命令:

aws iam create-policy \ --policy-name BatchHostLogsS3Access \ --policy-document file://batch-host-logs-policy.json

记下输出中的策略 ARN,然后将该策略附加到您的实例角色:

aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws:iam::111122223333:policy/BatchHostLogsS3Access