选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

亚马逊托管 Grafana 数据源的权限和政策 AWS

聚焦模式
亚马逊托管 Grafana 数据源的权限和政策 AWS - Amazon Managed Grafana

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

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

Amazon Managed Grafana 提供三种权限模式:

  • 当前账户的服务管理权限

  • 组织的服务管理权限

  • 客户管理的权限

创建工作区时,您可以选择要使用的权限模式。如果需要,您也可以稍后更改。

在任一服务托管权限模式下,Amazon Managed Grafana 都会创建访问和 AWS 发现您的账户或组织中的数据源所需的角色和策略。然后,您可以选择在 IAM 控制台中编辑这些策略。

单个账户的服务管理权限

在此模式下,Amazon Managed Grafana 会创建一个名为-的角色。AmazonGrafanaServiceRole random-id然后,Amazon Managed Grafana 会为你选择从亚马逊托管 Grafana 工作空间访问的 AWS 每项服务附加一个策略。

CloudWatch

Amazon Managed Grafana 附加 AWS 了托管策略。AmazonGrafanaCloudWatchAccess

注意

对于在创建AmazonGrafanaCloudWatchAccess托管策略 CloudWatch 之前使用的工作空间,Amazon Managed Grafana 创建了一个名为-的客户托管策略。AmazonGrafanaCloudWatchPolicy random-id

亚马逊 OpenSearch 服务

Amazon Managed Grafana 创建了一个名为-的客户托管政策。AmazonGrafanaOpenSearchPolicy random-idAmazon Managed Grafana 使用这些Get/Post permissions are needed for data source access. The List/Describe权限来发现数据源,但这些权限并不是数据源插件运行所必需的。策略的内容如下所示:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:DescribeElasticsearchDomains", "es:ListDomainNames" ], "Resource": "*" }, { "Effect": "Allow", "Action": "es:ESHttpPost", "Resource": [ "arn:aws:es:*:*:domain/*/_msearch*", "arn:aws:es:*:*:domain/*/_opendistro/_ppl" ] } ] }
AWS IoT SiteWise

Amazon Managed Grafana 附加 AWS 了托管策略。AWSIoTSiteWiseReadOnlyAccess

Amazon Redshift

Amazon Managed Grafana 附加 AWS 了托管策略。AmazonGrafanaRedshiftAccess

Amazon Athena

Amazon Managed Grafana 附加 AWS 了托管策略。AmazonGrafanaAthenaAccess

Amazon Managed Service for Prometheus

Amazon Managed Grafana 创建了一个名为-的客户托管政策。AmazonGrafanaPrometheusPolicy random-idAmazon Managed Grafana 会使用 List/Describe 权限来发现数据来源,但插件的运行并不需要这些权限。策略的内容如下所示:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aps:ListWorkspaces", "aps:DescribeWorkspace", "aps:QueryMetrics", "aps:GetLabels", "aps:GetSeries", "aps:GetMetricMetadata" ], "Resource": "*" } ] }
Amazon SNS

Amazon Managed Grafana 创建了一个名为-的客户托管政策。AmazonGrafana SNSPolicy random-id该策略限制您只能使用账户中以字符串 grafana 开头的 SNS 主题。如果您创建了自己的策略,则无需受此限制。策略的内容如下所示:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:accountId:grafana*" ] } ] }
Timestream

Amazon Managed Grafana 附加 AWS 了托管策略。AmazonTimestreamReadOnlyAccess

X-Ray

Amazon Managed Grafana 附加 AWS 了托管策略。AWSXrayReadOnlyAccess

组织的服务管理权限

该模式仅支持在组织的管理账户或委托管理员账户中创建的工作区。委托管理员账户可以为组织创建和管理堆栈集。有关委托管理员账户的更多信息,请参阅注册委托管理员

注意

在组织的管理账户中创建诸如 Amazon Managed Grafana 工作空间之类的资源违反了安全最佳实践。 AWS

在此模式下,Amazon Managed Grafana 会创建 AWS 访问组织中其他账户中的资源所需的所有 IAM 角色。 AWS 在您选择的组织单位中的每个账户中,Amazon Managed Grafana 都会创建一个名为-的角色。AmazonGrafanaOrgMemberRole random-id此角色创建是通过与的集成来执行 AWS CloudFormation StackSets的。

对于您选择在工作空间中使用的每个 AWS 数据源,该角色都有一个附加的策略。有关这些数据策略的内容,请参阅 单个账户的服务管理权限

Amazon Managed Grafana 还在组织的管理账户中创建了一个AmazonGrafanaOrgAdminRole名为 random-id-的角色。此角色允许 Amazon Managed Grafana 工作空间访问组织中的其他账户。 AWS 服务通知渠道策略也将附加到此角色。使用工作区中的 AWS 数据来源菜单,可为工作区可以访问的每个账户快速预置数据来源。

要使用此模式,您必须在组织中启用 AWS CloudFormation Stacksets 作为可信服务。 AWS 有关更多信息,请参阅使用启用可信访问 AWS Organizations

以下是 AmazonGrafanaStackSet-random-id 堆栈集的内容:

Parameters: IncludePrometheusPolicy: Description: Whether to include Amazon Prometheus access in the role Type: String AllowedValues: - true - false Default: false IncludeAESPolicy: Description: Whether to include Amazon Elasticsearch access in the role Type: String AllowedValues: - true - false Default: false IncludeCloudWatchPolicy: Description: Whether to include CloudWatch access in the role Type: String AllowedValues: - true - false Default: false IncludeTimestreamPolicy: Description: Whether to include Amazon Timestream access in the role Type: String AllowedValues: - true - false Default: false IncludeXrayPolicy: Description: Whether to include AWS X-Ray access in the role Type: String AllowedValues: - true - false Default: false IncludeSitewisePolicy: Description: Whether to include AWS IoT SiteWise access in the role Type: String AllowedValues: - true - false Default: false IncludeRedshiftPolicy: Description: Whether to include Amazon Redshift access in the role Type: String AllowedValues: - true - false Default: false IncludeAthenaPolicy: Description: Whether to include Amazon Athena access in the role Type: String AllowedValues: - true - false Default: false RoleName: Description: Name of the role to create Type: String AdminAccountId: Description: Account ID of the Amazon Grafana org admin Type: String Conditions: addPrometheus: !Equals [!Ref IncludePrometheusPolicy, true] addAES: !Equals [!Ref IncludeAESPolicy, true] addCloudWatch: !Equals [!Ref IncludeCloudWatchPolicy, true] addTimestream: !Equals [!Ref IncludeTimestreamPolicy, true] addXray: !Equals [!Ref IncludeXrayPolicy, true] addSitewise: !Equals [!Ref IncludeSitewisePolicy, true] addRedshift: !Equals [!Ref IncludeRedshiftPolicy, true] addAthena: !Equals [!Ref IncludeAthenaPolicy, true] Resources: PrometheusPolicy: Type: AWS::IAM::Policy Condition: addPrometheus Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaPrometheusPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - aps:QueryMetrics - aps:GetLabels - aps:GetSeries - aps:GetMetricMetadata - aps:ListWorkspaces - aps:DescribeWorkspace Resource: '*' AESPolicy: Type: AWS::IAM::Policy Condition: addAES Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaElasticsearchPolicy PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowReadingESDomains Effect: Allow Action: - es:ESHttpGet - es:ESHttpPost - es:ListDomainNames - es:DescribeElasticsearchDomains Resource: '*' CloudWatchPolicy: Type: AWS::IAM::Policy Condition: addCloudWatch Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaCloudWatchPolicy PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowReadingMetricsFromCloudWatch Effect: Allow Action: - cloudwatch:DescribeAlarmsForMetric - cloudwatch:DescribeAlarmHistory - cloudwatch:DescribeAlarms - cloudwatch:ListMetrics - cloudwatch:GetMetricStatistics - cloudwatch:GetMetricData - cloudwatch:GetInsightRuleReport Resource: "*" - Sid: AllowReadingLogsFromCloudWatch Effect: Allow Action: - logs:DescribeLogGroups - logs:GetLogGroupFields - logs:StartQuery - logs:StopQuery - logs:GetQueryResults - logs:GetLogEvents Resource: "*" - Sid: AllowReadingTagsInstancesRegionsFromEC2 Effect: Allow Action: - ec2:DescribeTags - ec2:DescribeInstances - ec2:DescribeRegions Resource: "*" - Sid: AllowReadingResourcesForTags Effect: Allow Action: - tag:GetResources Resource: "*" GrafanaMemberServiceRole: Type: 'AWS::IAM::Role' Properties: RoleName: !Ref RoleName AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: AWS: !Sub arn:aws:iam::${AdminAccountId}:root Action: - 'sts:AssumeRole' Path: /service-role/ ManagedPolicyArns: - !If [addTimestream, arn:aws:iam::aws:policy/AmazonTimestreamReadOnlyAccess, !Ref AWS::NoValue] - !If [addXray, arn:aws:iam::aws:policy/AWSXrayReadOnlyAccess, !Ref AWS::NoValue] - !If [addSitewise, arn:aws:iam::aws:policy/AWSIoTSiteWiseReadOnlyAccess, !Ref AWS::NoValue] - !If [addRedshift, arn:aws:iam::aws:policy/service-role/AmazonGrafanaRedshiftAccess, !Ref AWS::NoValue] - !If [addAthena, arn:aws:iam::aws:policy/service-role/AmazonGrafanaAthenaAccess, !Ref AWS::NoValue]

以下是 AmazonGrafanaOrgAdminPolicy- 的内容random-id

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "organizations:ListAccountsForParent", "organizations:ListOrganizationalUnitsForParent" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-organizationId" } } }, { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "arn:aws:iam::*:role/service-role/AmazonGrafanaOrgMemberRole-random-Id" }] }

客户管理的权限

如果您选择使用客户管理的权限,在创建 Amazon Managed Grafana 工作区时,应指定账户中现有的 IAM 角色。该角色必须具有信任 grafana.amazonaws.com 的信任策略。

以下是此类策略的一个示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "grafana.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

该角色要访问该账户中的 AWS 数据源或通知渠道,必须具有本节前面列出的策略中的权限。例如,要使用 CloudWatch 数据源,它必须具有中列出的 CloudWatch 策略中的权限单个账户的服务管理权限

只有为了使List数据源发现和配置正常 OpenSearch 运行,才需要中显示的亚马逊服务和亚马逊 Prometheus 托管服务策略单个账户的服务管理权限 中的和Describe权限。如果您只想手动设置这些数据来源,则不需要这些权限。

跨账户访问

在账户 11111111111111 中创建工作区时,必须提供账户 111111111111111 中的角色。在此示例中,请调用此角色WorkspaceRole。要访问账户 999999999999 中的数据,必须在账户 999999999999 中创建一个角色。这样称呼DataSourceRole。然后,您必须在WorkspaceRole和之间建立信任关系DataSourceRole。有关在两个角色之间建立信任的更多信息,请参阅 IAM 教程:使用 IAM 角色委派跨 AWS 账户的访问权限

DataSourceRole对于要使用的每个数据源,都需要包含本节前面列出的策略声明。建立信任关系后,您可以在工作区中任何数据源的数据源配置页面的假设角色 ARN 字段中指定 DataSourceRole(arn: aws: iam:: 9999999999: role:DataSourceRole) 的 ARN。 AWS 然后,数据源使用中定义的权限访问账户 999999999999。DataSourceRole

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。