

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

# 为 Prometheus 数据源创建亚马逊托管服务
<a name="direct-query-prometheus-creating"></a>

要为 Prometheus 数据源创建亚马逊托管服务，您需要一个活动工作空间和一个 IAM 角色，该角色可 OpenSearch 向服务授予查询您的指标的必要权限。

## 先决条件
<a name="direct-query-prometheus-prereq"></a>

在连接数据源之前，请确保具备以下条件：
+ **Prometheus 工作空间 — 适用于 Prometheus 工作空间**的活跃亚马逊托管服务。记下您的工作区 ID 及其所在的工作区 ID。 AWS 区域 
+ **IAM AWS Identity and Access Management 角色** — 具有允许`directquery.opensearchservice.amazonaws.com`服务委托人担任该角色的信任策略的角色。

## 连接数据源
<a name="direct-query-prometheus-connect"></a>

满足先决条件后，您可以使用 OpenSearch 服务控制台连接数据源。

**为 Prometheus 数据源设置亚马逊托管服务**

1. 导航到亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/)。

1. 在左侧导航窗格中，转到**集中管理**，然后选择**连接的数据来源**。

1. 选择 **Connect 新数据源**。

1. 选择**适用于 Prometheus 的亚马逊托管服务**作为数据源类型。

1. 选择**下一步**。

1. 在**数据连接详细信息**下，输入名称和可选描述。

1. 在 **IAM 角色**下，选择如何管理访问权限：
   + 要自动为此数据源创建角色，请执行以下操作：

     1. 选择**创建新角色**。

     1. 输入 IAM 角色的名称。

     1. 选择一个或多个工作区以定义可以查询哪些数据。
   + 要使用您自己管理的现有角色，请执行以下操作：

     1. 选择**使用现有角色**。

     1. 从下拉菜单中选择现有角色。
**注意**  
使用自己的角色时，请从 IAM 控制台附加必需的策略，确保其拥有所有必要的权限。有关更多信息，请参阅 [手动创建的 IAM 角色所需权限](#direct-query-prometheus-manual-role-permissions)。

1. （可选）在**访问策略**下，为数据源配置访问策略。访问策略控制对 OpenSearch 服务直接查询数据源的请求是被接受还是拒绝。如果您未配置访问策略，则只有数据源所有者才有访问权限。您可以将访问策略配置为启用跨账户访问，从而允许其他账户中的委托人 AWS 账户 访问数据源。

   您可以使用可视化编辑器或提供 JSON 策略文档来创建访问策略。使用可视化编辑器，您可以通过指定委托人 AWS 账户 ID、账户 ARN、IAM 用户 ARN、IAM 角色 ARN、源 IP 地址或 CIDR 块来允许或拒绝访问。可视化编辑器最多支持 10 个元素。要定义包含 10 个以上元素的策略，请使用 JSON 编辑器。

   您也可以选择**导入策略**从其他数据源导入现有访问策略。

1. （可选）在**标签**下，向数据来源添加标签。

1. 选择**下一步**。

1. 在 “**设置**” 下 OpenSearch，选择如何设置 OpenSearch UI：

   1. 如果您的账户中不存在 OpenSearch UI 应用程序，请创建一个新 OpenSearch 应用程序。如果存在现有 OpenSearch 应用程序，请将其选中。

   1. 如果您创建新应用程序，请创建一个新的可观测性工作空间。如果您选择了现有应用程序，请创建一个新的可观测性工作区或选择一个现有的可观测性工作空间。适用于 Prometheus 的亚马逊托管服务仅在可观测性工作空间中可用。

1. 选择**下一步**。

1. 查看您的选择，如需进行任何更改，请选择**编辑**。

1. 选择**连接**以设置数据来源。创建数据来源期间，请留在此页面。准备就绪后，您将进入数据源详细信息页面。

### 后续步骤
<a name="direct-query-prometheus-next-steps"></a>

**访问 OpenSearch 用户界面**  
创建数据源后， OpenSearch 服务会为您提供 OpenSearch 用户界面应用程序 URL。您可以使用它来配置谁有权访问 OpenSearch 用户界面，并使用带有 PromQL 的 Discover Metrics 来分析您的亚马逊托管服务的 Prometheus 数据。

### 其他资源
<a name="direct-query-prometheus-additional-resources"></a>

#### 手动创建的 IAM 角色所需权限
<a name="direct-query-prometheus-manual-role-permissions"></a>

创建数据来源时，您可以选择一个 IAM 角色，以管理对数据的访问权限。你有两个选择：
+ 自动创建新的 IAM 角色
+ 使用手动创建的现有 IAM 角色。

如果您使用手动创建的角色，则需为该角色关联正确的权限。这些权限必须允许访问特定数据源并允许 S OpenSearch ervice 代入角色。这是必需的，这样 OpenSearch 服务才能安全地访问您的数据并与之交互。

以下示例策略演示了创建和管理数据来源所需的最低权限。如果您拥有更广泛的权限，例如`aps:*`或`AdministratorAccess`策略，则这些权限包含示例策略中的最低权限权限。

在以下示例政策中，用您自己的信息替换*placeholder*文本。

**IAM 策略示例**  
将以下权限附加到您的 IAM 角色以允许 S OpenSearch ervice 获取指标元数据并执行查询：

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "AmazonOpenSearchDirectQueryPrometheusAccess",
            "Effect": "Allow",
            "Action": [
                "aps:DeleteAlertManagerSilence",
                "aps:GetAlertManagerSilence",
                "aps:GetAlertManagerStatus",
                "aps:GetLabels",
                "aps:GetMetricMetadata",
                "aps:GetSeries",
                "aps:ListAlertManagerAlertGroups",
                "aps:ListAlertManagerAlerts",
                "aps:ListAlertManagerReceivers",
                "aps:ListAlertManagerSilences",
                "aps:ListAlerts",
                "aps:QueryMetrics",
                "aps:PutAlertManagerSilences",
                "aps:DescribeAlertManagerDefinition",
                "aps:CreateRuleGroupsNamespace",
                "aps:DeleteRuleGroupsNamespace",
                "aps:ListRuleGroupsNamespaces",
                "aps:DescribeRuleGroupsNamespace",
                "aps:PutRuleGroupsNamespace"
            ],
            "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "directquery.opensearchservice.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "AmazonOpenSearchDirectQueryPrometheusListAccess",
            "Effect": "Allow",
            "Action": [
                "aps:ListWorkspaces"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "directquery.opensearchservice.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

**信任政策示例**  
将以下信任策略附加到您的 IAM 角色：

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "TrustPolicyForAmazonOpenSearchDirectQueryService",
            "Effect": "Allow",
            "Principal": {
                "Service": "directquery.opensearchservice.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:opensearch:region:account-id:datasource/data-source-name"
                },
                "StringEquals": {
                    "aws:SourceAccount": "account-id"
                }
            }
        }
    ]
}
```