

亚马逊 Monitron 不再向新客户开放。现有客户可以继续正常使用该服务。如需了解与 Amazon Monitron 类似的功能，请参阅我们的[博客文章](https://aws.amazon.com/blogs/machine-learning/maintain-access-and-consider-alternatives-for-amazon-monitron)。

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

# Amazon Monitron 如何与 IAM 结合使用
<a name="security_iam_service-with-iam"></a>

在使用 IAM 管理对 Amazon Monitron 的访问权限之前，您应该了解哪些 IAM 功能可用于 Amazon Monitron。要全面了解 Amazon Monitron 和其他 AWS 服务如何与 IAM 配合使用，请参阅 IAM *用户指南中的与 IAM 配合使用的AWS *[服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

**Topics**
+ [Amazon Monitron 基于身份的策略](#security_iam_service-with-iam-id-based-policies)
+ [Amazon Monitron 基于资源的策略](#security_iam_service-with-iam-resource-based-policies)
+ [基于 Amazon Monitron 标签的授权](#security_iam_service-with-iam-tags)
+ [Amazon Monitron IAM 角色](#security_iam_service-with-iam-roles)
+ [Amazon Monitron 基于身份的策略示例](#security_iam_id-based-policy-examples)
+ [Amazon Monitron 身份和访问故障排除](#security_iam_troubleshoot)

## Amazon Monitron 基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies"></a>

要指定允许或拒绝的操作和资源以及允许或拒绝操作的条件，请使用基于 IAM 身份的策略。Amazon Monitron 支持特定的操作、资源和条件键。要了解在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》** 中的 [IAM JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

**Topics**
+ [操作](#security_iam_service-with-iam-id-based-policies-actions)
+ [资源](#security_iam_service-with-iam-id-based-policies-resources)
+ [条件键](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [示例](#security_iam_service-with-iam-id-based-policies-examples)

### 操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

在 Amazon Monitron 中，策略操作会在操作前使用以下前缀：`monitron:`。例如，要授予某人使用 Amazon Monitron `CreateProject` API 操作创建 VPC 的权限，您应在其策略中包含 `monitron:CreateProject` 操作。策略语句必须包含 `Action` 或 `NotAction` 元素。Amazon Monitron 定义了一组自己的操作，用于描述您可以使用该服务执行的任务。

**注意**  
要执行 `deleteProject` 操作，您必须具有用于删除的 AWS IAM Identity Center (SSO) 权限。如果没有这些权限，删除项目功能仍将移除相关项目。但是，它不会从 SSO 中删除资源，您最终可能会在 SSO 上看到悬挂引用。

要在单个语句中指定多项操作，请使用逗号将它们隔开，如下所示：

```
"Action": [
      "monitron:action1",
      "monitron:action2"
]
```

您也可以使用通配符 （\*) 指定多个操作。例如，要指定以单词 `List` 开头的所有操作，包括以下操作：

```
"Action": "monitron:List*"
```

### 资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Amazon Monitron 不支持在策略 ARNs 中指定资源。

### 条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

Amazon Monitron 定义了自己的一组条件键，还支持使用一些全局条件键。有关所有 AWS 全局条件键的列表，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

要查看 Amazon Monitron 操作的列表，请参阅《IAM 用户指南》**中的 [Amazon Monitron 定义的操作](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonmonitron.html#amazonmonitron-actions-as-permissions)。要了解您可以对哪些操作和资源使用条件键，请参阅 [Amazon Monitron 的条件键](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonmonitron.html#amazonmonitron-policy-keys)。

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

要查看 Amazon Monitron 基于身份的策略的示例，请参阅 [Amazon Monitron 基于身份的策略示例](#security_iam_id-based-policy-examples)。

## Amazon Monitron 基于资源的策略
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Amazon Monitron 不支持基于资源的策略。

## 基于 Amazon Monitron 标签的授权
<a name="security_iam_service-with-iam-tags"></a>

您可以将标签与某些类型的 Amazon Monitron 资源关联，以获得授权。要基于标签控制访问，您需要使用 `Amazon Monitron:TagResource/${TagKey}`、`aws:RequestTag/${TagKey}` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

## Amazon Monitron IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

I [AM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是您的 AWS 账户中具有特定权限的实体。

### 将临时凭证用于 Amazon Monitron
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

您可以使用临时凭证进行联合身份登录、代入 IAM 角色或代入跨账户角色。您可以通过调用[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)或之类的 AWS STS API 操作来获取临时安全证书[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)。

Amazon Monitron 支持使用临时凭证。

### 服务相关角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)允许 AWS 服务访问其他服务中的资源以代表您完成操作。服务关联角色显示在 IAM 账户中，并归该服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

Amazon Monitron 支持服务相关角色。

### 服务角色
<a name="security_iam_service-with-iam-roles-service"></a>

此功能允许服务代表您担任[服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在 IAM 账户中，并归该账户所有。这意味着，IAM 管理员可以更改该角色的权限。但是，这样做可能会中断服务的功能。

Amazon Monitron 支持服务角色。

## Amazon Monitron 基于身份的策略示例
<a name="security_iam_id-based-policy-examples"></a>

默认情况下，IAM 用户和角色没有创建或修改 Amazon Monitron 资源的权限。他们也无法使用执行任务 AWS 管理控制台。IAM 管理员必须向需要权限的 IAM 用户、组或角色授予权限。得到授权后，这些用户、组或角色就可以对所需的指定资源执行特定操作。然后，管理员必须将这些策略附加到需要这些权限的 IAM 用户或组。

要了解如何使用这些示例 JSON 策略文档创建 IAM 基于身份的策略，请参阅*《IAM 用户指南》*中的 [在 JSON 选项卡上创建策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices)
+ [使用 Amazon Monitron 控制台](#security_iam_id-based-policy-examples-console)
+ [示例：列出所有 Amazon Monitron 项目](#security_iam_id-based-policy-examples-access-one-bucket)
+ [示例：根据标签列出所有 Amazon Monitron 项目](#security_iam_id-based-policy-examples-view-widget-tags)

### 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices"></a>

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 Amazon Monitron 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

### 使用 Amazon Monitron 控制台
<a name="security_iam_id-based-policy-examples-console"></a>

要使用控制台设置 Amazon Monitron，请使用高权限用户（例如附加了 `AdministratorAccess` 托管式策略的用户）完成初始设置过程。

要在初始设置后访问 Amazon Monitron 控制台进行 day-to-day操作，您必须拥有一组最低权限。这些权限必须允许您列出和查看有关您 AWS 账户中的 Amazon Monitron 资源的详细信息，并包含一组与 IAM 身份中心相关的权限。如果您创建的基于身份的策略比所需的最低权限限制性更强，那么对于具有该策略的实体（IAM 用户或角色），控制台将无法按预期正常运行。要使用基本的 Amazon Monitron 控制台功能，您需要附加 `AmazonMonitronFullAccess` 托管式策略。根据具体情况，您可能还需要 Organizations 和 SSO 服务的其他权限。如果您需要更多信息，请联系 AWS 支持人员。

### 示例：列出所有 Amazon Monitron 项目
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

此示例策略授予您 AWS 账户中的 IAM 用户列出您账户中所有项目的权限。

### 示例：根据标签列出所有 Amazon Monitron 项目
<a name="security_iam_id-based-policy-examples-view-widget-tags"></a>

您可以在基于身份的策略中使用条件，以便基于标签控制对 Amazon Monitron 资源的访问权限。此示例展示了如何创建允许列出项目的策略。但是，仅当项目标签 `location` 的值为 `Seattle` 时，才会授予权限。此策略还授予在控制台上完成此操作的必要权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListProjectsInConsole",
            "Effect": "Allow",
            "Action": "monitron:ListProjects",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/location": "Seattle"
                }
            }
        }
    ]
}
```

------

有关更多信息，请参阅 *IAM 用户指南* 中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。

## Amazon Monitron 身份和访问故障排除
<a name="security_iam_troubleshoot"></a>

您可以使用以下信息，帮助诊断和修复在使用 Amazon Monitron 和 IAM 时可能遇到的常见问题。

**Topics**
+ [我无权在 Amazon Monitron 中执行操作](#security_iam_troubleshoot-no-permissions)
+ [我想允许 AWS 账户之外的人访问我的 Amazon Monitron 资源](#security_iam_troubleshoot-cross-account-access)

### 我无权在 Amazon Monitron 中执行操作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您收到错误提示，指明您无权执行某个操作，则必须更新策略以允许执行该操作。

当 `mateojackson` IAM 用户尝试使用控制台查看有关虚构 `{{my-example-widget}}` 资源的详细信息，但不拥有虚构 `monitron:{{GetWidget}}` 权限时，会发生以下示例错误。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: monitron:{{GetWidget}} on resource: {{my-example-widget}}
```

在此情况下，必须更新 `mateojackson` 用户的策略，以允许使用 `monitron:{{GetWidget}}` 操作访问 `{{my-example-widget}}` 资源。

如果您需要帮助，请联系您的 AWS 管理员。您的管理员是提供登录凭证的人。

### 我想允许 AWS 账户之外的人访问我的 Amazon Monitron 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表 (ACLs) 的服务，您可以使用这些策略向人们授予访问您的资源的权限。

要了解更多信息，请参阅以下内容：
+ 要了解 Amazon Monitron 是否支持这些功能，请参阅 [Amazon Monitron 如何与 IAM 结合使用](#security_iam_service-with-iam)。
+ 要了解如何提供对您拥有的资源的访问权限 AWS 账户 ，请参阅 [IAM 用户*指南中的向您拥有 AWS 账户 的另一个 IAM 用户*提供访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)权限。
+ 要了解如何向第三方提供对您的资源的访问[权限 AWS 账户，请参阅 *IAM 用户指南*中的向第三方提供](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)访问权限。 AWS 账户 
+ 要了解如何通过身份联合验证提供访问权限，请参阅《IAM 用户指南》**中的[为经过外部身份验证的用户（身份联合验证）提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 要了解使用角色和基于资源的策略进行跨账户访问之间的差别，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。