View a markdown version of this page

将服务相关角色用于适用于 InfluxDB 的 Amazon Timestream - Amazon Timestream
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics,可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间,以实现实时分析。点击此处了解更多信息。

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

将服务相关角色用于适用于 InfluxDB 的 Amazon Timestream

适用于 InfluxDB 的 Amazon Timestream 使用 Amazon Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特的 IAM 角色,直接链接到 Amazon 服务,例如适用于 InfluxDB 的 Amazon Timestream。适用于 InfluxDB 的 Amazon Timestream 服务相关角色由适用于 InfluxDB 的 Amazon Timestream 预定义。这些角色包含该服务代表数据库实例调用 Amazon 服务所需的一切权限。

服务相关角色可让您更轻松地设置适用于 InfluxDB 的 Amazon Timestream,因为您不必手动添加必要的权限。这些角色已存在于您的 Amazon 账户中,但已关联到 Amazon Timestream,用于InfluxDB用例,并且具有预定义的权限。只有适用于 InfluxDB 的 Amazon Timestream 可以代入这些角色,并且只有这些角色可以使用预定义的权限策略。只有先删除角色的相关资源,才能删除角色。这将保护适用于 InfluxDB 的 Amazon Timestream 资源,因为您不会无意中删除访问资源的必要权限。

有关支持服务相关角色的其他服务的信息,请参阅与 IAM 配合使用的Amazon 服务,并查找 Service-Linked Role(服务相关角色)列中显示为 Yes(是)的服务。选择是和链接,查看该服务的服务关联角色文档。

适用于 InfluxDB 的 Amazon Timestream 的服务相关角色权限

适用于 InfluxDB 的 Amazon Timestream 使用名为的服务相关角色 AmazonTimestreamInfluxDBServiceRolePolicy— 该策略允许 InfluxDB 的 Timestream 在必要时代表您管理管理 Amazon 集群的资源。

AmazonTimestreamInfluxDBServiceRolePolicy 服务相关角色权限策略允许适用于 InfluxDB 的 Amazon Timestream 在指定资源上完成以下操作:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DescribeNetworkStatement", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" }, { "Sid": "CreateEniInSubnetStatement", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Sid": "CreateEniStatement", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "Null": { "aws:RequestTag/AmazonTimestreamInfluxDBManaged": "false" } } }, { "Sid": "CreateTagWithEniStatement", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "Null": { "aws:RequestTag/AmazonTimestreamInfluxDBManaged": "false" }, "StringEquals": { "ec2:CreateAction": [ "CreateNetworkInterface" ] } } }, { "Sid": "ManageEniStatement", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "Null": { "aws:ResourceTag/AmazonTimestreamInfluxDBManaged": "false" } } }, { "Sid": "PutCloudWatchMetricsStatement", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Condition": { "StringEquals": { "cloudwatch:namespace": [ "AWS/Timestream/InfluxDB", "AWS/Usage" ] } }, "Resource": [ "*" ] }, { "Sid": "ManageSecretStatement", "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:DeleteSecret" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:READONLY-InfluxDB-auth-parameters-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

允许 IAM 实体创建 AmazonTimestreamInfluxDBServiceRolePolicy 服务相关角色

向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws-cn:iam::*:role/aws-service-role/timestreamforinfluxdb.amazonaws.com/AmazonTimestreamInfluxDBServiceRolePolicy*", "Condition": {"StringLike": {"iam:Amazon ServiceName": "timestreamforinfluxdb.amazonaws.com"}} }

允许 IAM 实体删除 AmazonTimestreamInfluxDBServiceRolePolicy 服务相关角色

向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws-cn:iam::*:role/aws-service-role/timestreamforinfluxdb.amazonaws.com/AmazonTimestreamInfluxDBServiceRolePolicy*", "Condition": {"StringLike": {"iam:Amazon ServiceName": "timestreamforinfluxdb.amazonaws.com"}} }

或者,您可以使用 Amazon 托管策略为InfluxDB提供对Amazon Timestream的完全访问权限。

创建服务相关角色(IAM)

您无需手动创建服务关联角色。创建数据库实例时,适用于 InfluxDB 的 Amazon Timestream 将为您创建服务相关角色。

如果您删除该服务关联角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。创建数据库实例时,适用于 InfluxDB 的 Amazon Timestream 将再次为您创建服务相关角色。

编辑适用于 InfluxDB 的 Amazon Timestream 服务相关角色的描述

适用于 InfluxDB 的 Amazon Timestream 不允许你编辑服务相关角色。 AmazonTimestreamInflux DBService RolePolicy 创建服务关联角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。

编辑服务相关角色描述(IAM 控制台)

您可以使用 IAM 控制台编辑服务相关角色的描述。

编辑服务相关角色的描述(控制台)
  1. 在 IAM 控制台的左侧导航窗格中,选择 Roles。

  2. 以下代码示例显示如何将 IAM 策略附加到用户。

  3. 在 Role description 的最右侧,选择 Edit。

  4. 在框中输入新描述,然后选择 Save(保存)。

编辑服务相关角色描述(IAM CLI)

您可以使用中的 IAM 操作 Amazon Command Line Interface 来编辑与服务相关的角色描述。

更改服务相关角色的描述(CLI)
  1. (可选)要查看角色的当前描述,请使用 for Amazon CLI IAM 操作get-role。

    例
    $ aws iam get-role --role-name AmazonTimestreamInfluxDBServiceRolePolicy

    通过 CLI 操作使用角色名称(并非 ARN)指向角色。例如,如果一个角色的 ARN 为 arn:aws:iam::123456789012:role/myrole,则应将角色称为 myrole。

  2. 要更新服务相关角色的描述,请使用 for I Amazon CLI AM 操作update-role-description。

    Linux 和 MacOS

    $ aws iam update-role-description \ --role-name AmazonTimestreamInfluxDBServiceRolePolicy \ --description "new description"

    Windows

    $ aws iam update-role-description ^ --role-name AmazonTimestreamInfluxDBServiceRolePolicy ^ --description "new description"

编辑服务相关角色描述(IAM API)

您可以使用 IAM API 编辑服务相关角色描述。

更改服务相关角色的描述(API)
  1. (可选)要查看角色的当前描述,请使用 IAM API 操作 GetRole。

    例
    https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AmazonTimestreamInfluxDBServiceRolePolicy &Version=2010-05-08 &AUTHPARAMS
  2. 要更新角色的描述,请使用 IAM API 操作 UpdateRoleDescription。

    例
    https://iam.amazonaws.com/ ?Action=UpdateRoleDescription &RoleName=AmazonTimestreamInfluxDBServiceRolePolicy &Version=2010-05-08 &Description="New description"

删除适用于 InfluxDB 的 Amazon Timestream 的服务相关角色

如果不再需要使用某个需要服务关联角色的功能或服务,我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是,您必须先清除您的服务相关角色,然后才能将其删除。

适用于 InfluxDB 的 Amazon Timestream 不会删除您的服务相关角色。

清除服务相关角色

您必须先确认该角色没有与之关联的资源(集群),然后才能使用 IAM 删除服务相关角色。

在 IAM 控制台中检查服务相关角色是否具有活动会话
  1. 登录 Amazon Web Services 管理控制台 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/。

  2. 在 IAM 控制台的左侧导航窗格中,选择 Roles。然后选择 AmazonTimestreamInfluxDBServiceRolePolicy 角色的名称(不是复选框)。

  3. 在所选角色的 Summary 页面上,选择 Access Advisor 选项卡。

  4. 在访问顾问选项卡查看服务相关角色的近期活动。

删除服务相关角色(IAM 控制台)

您可以使用 IAM 控制台删除服务相关角色。

删除服务相关角色 (控制台)
  1. 登录 Amazon Web Services 管理控制台 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/。

  2. 在 IAM 控制台的左侧导航窗格中,选择 Roles。然后,选中要删除的角色名称旁边的复选框,而不是名称或行本身。

  3. 对于页面顶部的角色操作,请选择删除角色。

  4. 在确认页面中,查看上次访问服务的数据,该数据显示了每个选定角色上次访问 Amazon 服务的时间。这样可帮助您确认角色当前是否处于活动状态。如果要继续,请选择 Yes, Delete 以提交服务相关角色进行删除。

  5. 监视 IAM 控制台通知,以监控服务相关角色的删除进度。由于 IAM 服务相关角色删除是异步的,因此,在您提交角色进行删除后,删除任务可能成功,也可能失败。如果任务失败,您可以从通知中选择 View details 或 View Resources 以了解删除失败的原因。

删除服务相关角色(IAM CLI)

您可以使用中的 IAM 操作 Amazon Command Line Interface 来删除服务相关角色。

删除服务相关角色(CLI)
  1. 如果您不知道要删除的服务相关角色的名称,请输入以下命令。此命令列出了您账户中的角色及其 Amazon 资源名称 (ARNs)。

    $ aws iam get-role --role-name role-name

    通过 CLI 操作使用角色名称(并非 ARN)指向角色。例如,如果某个角色具有 ARN arn:aws:iam::123456789012:role/myrole,则将该角色称为 myrole。

  2. 由于服务相关角色如果正在使用或具有关联资源,则无法将其删除,因此您必须使用delete-service-linked-role命令提交删除请求。如果不满足这些条件,该请求可能会被拒绝。您必须从响应中捕获 deletion-task-id 以检查删除任务的状态。输入以下命令以提交服务相关角色的删除请求。

    $ aws iam delete-service-linked-role --role-name role-name
  3. 运行 get-service-linked-role-deletion-stat us命令以检查删除任务的状态。

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    删除任务的状态可能是 NOT_STARTED、IN_PROGRESS、SUCCEEDED 或 FAILED。如果删除失败,则调用会返回失败的原因,以便您进行问题排查。

删除服务相关角色(IAM API)

您可以使用 IAM API 删除服务相关角色。

删除服务相关角色(API)
  1. 要提交服务相关角色的删除请求,请调用 DeleteServiceLinkedRole。在请求中,指定角色名称。

    如果服务相关角色正被使用或具有关联的资源,则无法删除它,因此您必须提交删除请求。如果不满足这些条件,该请求可能会被拒绝。您必须从响应中捕获 DeletionTaskId 以检查删除任务的状态。

  2. 要检查删除的状态,请调用 GetServiceLinkedRoleDeletionStatus。在请求中,指定 DeletionTaskId。

    删除任务的状态可能是 NOT_STARTED、IN_PROGRESS、SUCCEEDED 或 FAILED。如果删除失败,则调用会返回失败的原因,以便您进行问题排查。

适用于 InfluxDB 的 Amazon Timestream 服务相关角色支持的区域

适用于 InfluxDB 的 Amazon Timestream 支持在该服务可用的所有区域中使用服务相关角色。有关更多信息,请参阅Amazon 服务端点。