创建 IAM 角色和用户以用于 CloudWatch 代理 - Amazon CloudWatch

创建 IAM 角色和用户以用于 CloudWatch 代理

要访问 AWS 资源,需要具有相应的权限。您创建 IAM 角色和/或 IAM 用户,以授予 CloudWatch 代理将指标写入 CloudWatch 所需的权限。如果您打算在 Amazon EC2 实例上使用代理,则必须创建 IAM 角色。如果您打算在本地部署服务器上使用代理,则必须创建 IAM 用户。

注意

我们最近修改了以下过程,具体来说就是使用由 Amazon 创建的新 CloudWatchAgentServerPolicyCloudWatchAgentAdminPolicy 策略,而不需要客户自行创建这些策略。将文件写入 Parameter Store 和从 Parameter Store 中下载文件时,由 Amazon 创建的策略仅支持名称以 AmazonCloudWatch- 开头的文件。如果您的 CloudWatch 代理配置文件的文件名不以 AmazonCloudWatch- 开头,则这些策略不能用于将文件写入 Parameter Store 或从 Parameter Store 下载文件。

如果您打算在 Amazon EC2 实例上运行 CloudWatch 代理,请使用以下步骤创建必要的 IAM 角色。该角色提供从实例中读取信息并将其写入到 CloudWatch 的权限。

创建在 EC2 实例上运行 CloudWatch 代理所需的 IAM 角色
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)

  3. 确保在 Trusted entity type(受信任实体的类型)下选择了 AWS service(服务)。

  4. 对于 Use case(使用案例),在 Common use cases(常见使用案例)下选择 EC2

  5. 选择 Next(下一步)。

  6. 在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。

  7. (可选)如果代理要跟踪到 X-Ray,您还需要为角色提供 AWSXRayDaemonWriteAccess 策略。为此,请在列表中找到该策略,然后选中它旁边的复选框。

  8. 选择 Next(下一步)。

  9. Role name (角色名称) 中,输入角色的名称,例如 CloudWatchAgentServerRole。(可选)为其指定说明。然后选择 Create role (创建角色)

    将立即创建该角色。

  10. (可选)如果代理将向 CloudWatch Logs 发送日志,并且您想要代理能够为这些日志组设置保留策略,则需要将 logs:PutRetentionPolicy 权限添加到角色。有关更多信息,请参阅允许 CloudWatch 代理设置日志保留策略

如果您打算在本地部署服务器上运行 CloudWatch 代理,请使用以下步骤创建必要的 IAM 用户。

创建 CloudWatch 代理在本地部署服务器上运行所需的 IAM 用户
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择 Users(用户),然后选择 Add user(添加用户)。

  3. 为新用户输入用户名。

  4. 选择 Access key - Programmatic access(访问密钥 - 编程访问),然后选择 Next: Permissions(下一步: 权限)。

  5. 选择 Attach existing policies directly(直接附上现有策略)。

  6. 在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。

  7. (可选)如果代理要跟踪到 X-Ray,您还需要为角色提供 AWSXRayDaemonWriteAccess 策略。为此,请在列表中找到该策略,然后选中它旁边的复选框。

  8. 请选择下一步:标签

  9. 可以选择为新 IAM 用户创建标签,然后选择 Next: Review(下一步: 审核)。

  10. 确认列出了正确的策略,然后选择 Create user(创建用户)。

  11. 在新用户的名称旁边,选择显示。将访问密钥和私有密钥复制到一个文件以便在安装该代理时使用。选择 Close(关闭)。

允许 CloudWatch 代理设置日志保留策略

您可以配置 CloudWatch 代理,以便为接收其发送的日志事件的日志组设置保留策略。如果您这样做,您必须向代理使用的 IAM 角色或用户授予 logs:PutRetentionPolicy。代理使用 IAM 角色在 Amazon EC2 实例上运行,使用本地部署服务器的 IAM 用户。

向 CloudWatch 代理的 IAM 角色授予设置日志保留策略的权限
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 Roles (角色)

  3. 在搜索框中,键入 CloudWatch 代理的 IAM 角色名称的开头部分。您在创建角色时选择了此名称。其可能被命名为 CloudWatchAgentServerRole

    当您看到角色时,选择角色的名称。

  4. Permissions(权限)选项卡中,依次选择 Add permissions(添加权限)和 Create inline policy(创建内联策略)。

  5. 选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
  6. 选择Review policy(查看策略)

  7. 对于 Name(名称),输入 CloudWatchAgentPutLogsRetention 或类似内容,然后选择 Create policy(创建策略)。

向 CloudWatch 代理的 IAM 用户授予设置日志保留策略的权限
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 Users (用户)

  3. 在搜索框中,键入 CloudWatch 代理的 IAM 用户名称的开头部分。您在创建用户时选择了此名称。

    当您看到用户时,选择用户的名称。

  4. 权限选项卡中,选择 添加内联策略

  5. 选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
  6. 选择Review policy(查看策略)

  7. 对于 Name(名称),输入 CloudWatchAgentPutLogsRetention 或类似内容,然后选择 Create policy(创建策略)。