

# Identity and Access Management for AWS IoT Wireless
<a name="security-iam"></a>

AWS Identity and Access Management（IAM）是一项 AWS 服务，可以帮助管理员安全地控制对 AWS 资源的访问。IAM 管理员控制谁可以*通过身份验证*（登录）和*获得授权*（拥有权限），可以使用 AWS IoT Wireless 资源。IAM 是一项无需额外费用即可使用的 AWS 服务。

**Topics**
+ [受众](#security_iam_audience)
+ [使用身份进行身份验证](#security_iam_authentication)
+ [使用策略管理访问](#security_iam_access-manage)
+ [如何将 AWS IoT Wireless 与 IAM 结合使用](security_iam_service-with-iam.md)
+ [基于身份的 AWS IoT Wireless 策略示例](security_iam_id-based-policy-examples.md)
+ [适用于 AWS IoT Wireless 的 AWS 托管式策略](security-iam-awsmanpol.md)
+ [排查 AWS IoT Wireless 身份和访问问题](security_iam_troubleshoot.md)

## 受众
<a name="security_iam_audience"></a>

使用 AWS Identity and Access Management（IAM）的方式因您在 AWS IoT Wireless 中完成的工作而异。

**服务用户** - 如果您使用 AWS IoT Wireless 服务来完成任务，则您的管理员会为您提供所需的凭证和权限。当您使用更多 AWS IoT Wireless 功能来完成工作时，您可能需要额外权限。了解如何管理访问权限有助于您向管理员请求适合的权限。如果您无法访问 AWS IoT Wireless 中的功能，请参阅 [排查 AWS IoT Wireless 身份和访问问题](security_iam_troubleshoot.md)。

**服务管理员** - 如果您在公司负责管理 AWS IoT Wireless 资源，则可能拥有对 AWS IoT Wireless 的完全访问权限。您有责任确定您的服务用户应访问哪些 AWS IoT Wireless 功能和资源。然后，您必须向 IAM 管理员提交请求以更改服务用户的权限。请查看该页面上的信息以了解 IAM 的基本概念。要了解有关您的公司如何将 IAM 用于 AWS IoT Wireless 的更多信息，请参阅 [如何将 AWS IoT Wireless 与 IAM 结合使用](security_iam_service-with-iam.md)。

**IAM 管理员** - 如果您是 IAM 管理员，您可能希望详细了解如何编写策略以管理对 AWS IoT Wireless 的访问。要查看您可以在 IAM 中使用的 AWS IoT Wireless 基于身份的策略示例，请参阅 [基于身份的 AWS IoT Wireless 策略示例](security_iam_id-based-policy-examples.md)。

## 使用身份进行身份验证
<a name="security_iam_authentication"></a>

身份验证是使用身份凭证登录AWS的方法。您必须作为AWS 账户根用户、IAM 用户或通过代入 IAM 角色进行*身份验证*（登录到AWS）。

您可以使用通过身份源提供的凭证以联合身份登录到AWS。AWS IAM Identity Center（IAM Identity Center）用户、您公司的单点登录身份验证以及您的 Google 或 Facebook 凭证都是联合身份的示例。当以联合身份登录时，管理员以前使用 IAM 角色设置了身份联合验证。当使用联合身份验证访问AWS时，就是在间接代入角色。

根据用户类型，可以登录AWS 管理控制台或AWS访问门户。有关登录到 AWS 的更多信息，请参阅 *AWS 登录 用户指南* 中的 [如何登录到您的 AWS 账户](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。

如果以编程方式访问AWS，则AWS将提供软件开发工具包（SDK）和命令行界面 (CLI)，以便使用凭证以加密方式签署请求。如果不使用AWS工具，则必须自行对请求签名。有关使用推荐的方法自行签署请求的更多信息，请参阅《IAM 用户指南》**中的[签署 AWS API 请求](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html)。

无论使用何种身份验证方法，您都可能需要提供其他安全信息。例如，AWS 建议您使用多重身份验证（MFA）来提高账户的安全性。要了解更多信息，请参阅 *AWS IAM Identity Center 用户指南* 中的 [多重身份验证](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-mfa.html) 和 *IAM 用户指南* 中的 [在 AWS 中使用多重身份验证（MFA）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)。

### AWS 账户 根用户
<a name="security_iam_authentication-rootuser"></a>

 创建AWS 账户时，最初使用的是一个对账户中所有AWS 服务和资源拥有完全访问权限的登录身份。此身份称为AWS 账户*根用户*，使用创建账户时所用的电子邮件地址和密码登录，即可获得该身份。强烈建议不要使用根用户执行日常任务。保护好根用户凭证，并使用这些凭证来执行仅根用户可以执行的任务。有关需要您以根用户身份登录的任务的完整列表，请参阅 *IAM 用户指南* 中的 [需要根用户凭证的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html)。

### IAM 用户和组
<a name="security_iam_authentication-iamuser"></a>

*[IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* 是 AWS 账户内对某个人员或应用程序具有特定权限的一个身份。在可能的情况下，建议使用临时凭证，而不是创建具有长期凭证（如密码和访问密钥）的 IAM 用户。但是，如果有一些特定的使用场景需要长期凭证以及 IAM 用户，我们建议轮换访问密钥。有关更多信息，请参阅 *IAM 用户指南* 中的 [对于需要长期凭证的使用场景定期轮换访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) 是一个指定一组 IAM 用户的身份。您不能使用组的身份登录。可以使用群组来一次性为多个用户指定权限。如果有大量用户，使用组可以更轻松地管理用户权限。例如，可能具有一个名为 *IAMAdmins* 的群组，并为该群组授予权限以管理 IAM 资源。

用户与角色不同。用户唯一地与某个人员或应用程序关联，而角色旨在让需要它的任何人担任。用户具有永久的长期凭证，而角色提供临时凭证。要了解更多信息，请参阅《IAM 用户指南》**中的[何时创建 IAM 用户（而不是角色）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

**注意**  
AWS IoT Wireless 不支持服务角色和服务相关角色。

*[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是 AWS 账户 中具有特定权限的身份。它类似于 IAM 用户，但与特定人员不关联。可以通过[切换角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)，在AWS 管理控制台中暂时代入 IAM 角色。您可以调用 AWS CLI 或 AWS API 操作或使用自定义网址以担任角色。有关使用角色的方法的更多信息，请参阅《IAM 用户指南》**中的[使用 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)。

具有临时凭证的 IAM 角色在以下情况下很有用：
+ **联合用户访问** - 要向联合身份分配权限，请创建角色并为角色定义权限。当联合身份进行身份验证时，该身份将与角色相关联并被授予由此角色定义的权限。有关联合身份验证的角色的信息，请参阅 *IAM 用户指南* 中的 [为第三方身份提供商创建角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)。如果使用 IAM Identity Center，则需要配置权限集。为控制身份在进行身份验证后可以访问的内容，IAM Identity Center 将权限集与 IAM 中的角色相关联。有关权限集的信息，请参阅 *AWS IAM Identity Center 用户指南* 中的 [权限集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)。
+ **临时 IAM 用户权限** - IAM 用户或角色可担任 IAM 角色，以暂时获得针对特定任务的不同权限。
+ **跨账户存取** - 您可以使用 IAM 角色以允许不同账户中的某个人（可信主体）访问您的账户中的资源。角色是授予跨账户存取权限的主要方式。但是，对于某些AWS 服务，可以将策略直接附加到资源（而不是使用角色作为代理）。要了解用于跨账户访问的角色和基于资源的策略之间的差别，请参阅 *IAM 用户指南* 中的 [IAM 角色与基于资源的策略有何不同](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)。
+ **跨服务访问** – 某些 AWS 服务使用其他 AWS 服务中的特征。例如，在某个服务中进行调用时，该服务通常会在 Amazon EC2 中运行应用程序或在 Simple Storage Service（Amazon S3）中存储对象。服务可能会使用发出调用的主体的权限、使用服务角色或使用服务相关角色来执行此操作。
  + **转发访问会话**：当您使用 IAM 用户或角色在 AWS 中执行操作时，您将被视为主体。使用某些服务时，您可能会执行一个操作，然后此操作在其他服务中启动另一个操作。FAS 使用主体调用 AWS 服务 的权限，结合请求的 AWS 服务，向下游服务发出请求。只有在服务收到需要与其他 AWS 服务 或资源交互才能完成的请求时，才会发出 FAS 请求。在这种情况下，您必须具有执行这两个操作的权限。有关发出 FAS 请求时的策略详情，请参阅[转发访问会话](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)。
  + **服务角色** - 服务角色是服务代表您在您的账户中执行操作而分派的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅 *IAM 用户指南* 中的 [创建向 AWS 服务 委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
  + **服务相关角色** – 服务相关角色是与AWS 服务关联的一种服务角色。服务可以担任代表您执行操作的角色。服务相关角色显示在AWS 账户中，并由该服务拥有。IAM 管理员可以查看但不能编辑服务相关角色的权限。
+ **在 Amazon EC2 上运行的应用程序** – 可以使用 IAM 角色管理在 EC2 实例上运行并发出 AWS CLI 或 AWS API 请求的应用程序的临时凭证。这优先于在 EC2 实例中存储访问密钥。要将AWS角色分配给 EC2 实例并使其对该实例的所有应用程序可用，可以创建一个附加到实例的实例配置文件。实例配置文件包含角色，并使 EC2 实例上运行的程序能够获得临时凭证。有关更多信息，请参阅 *IAM 用户指南* 中的 [使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。

要了解是使用 IAM 角色还是 IAM 用户，请参阅《IAM 用户指南》**中的[何时创建 IAM 角色（而不是用户）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose_role)。

## 使用策略管理访问
<a name="security_iam_access-manage"></a>

将创建策略并将其附加到AWS身份或资源，以控制AWS中的访问。策略是AWS中的对象；在与身份或资源相关联时，策略定义它们的权限。在主体（用户、根用户或角色会话）发出请求时，AWS将评估这些策略。策略中的权限确定是允许还是拒绝请求。大多数策略在AWS中存储为 JSON 文档。有关 JSON 策略文档的结构和内容的更多信息，请参阅《IAM 用户指南》**中的 [JSON 策略概览](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

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

默认情况下，用户和角色没有权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。然后，管理员可以向角色添加 IAM 策略，并且用户可以代入角色。

IAM 策略定义操作的权限，无关乎使用哪种方法执行操作。例如，假设有一个允许 `iam:GetRole` 操作的策略。具有该策略的用户可以从AWS 管理控制台、AWS CLI或AWS API 获取角色信息。

### 基于身份的策略
<a name="security_iam_access-manage-id-based-policies"></a>

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《*IAM 用户指南*》中的[创建 IAM 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

基于身份的策略可以进一步归类为*内联策略*或*托管式策略*。内联策略直接嵌入单个用户、组或角色中。托管式策略是可以附加到AWS 账户中的多个用户、组和角色的独立策略。托管式策略包括AWS托管式策略和客户托管式策略。要了解如何在托管式策略和内联策略之间进行选择，请参阅《IAM 用户指南》**中的[在托管式策略与内联策略之间进行选择](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#choosing-managed-or-inline)。

### 基于资源的策略
<a name="security_iam_access-manage-resource-based-policies"></a>

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM *角色信任策略*和 Amazon S3 *存储桶策略*。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源，策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。必须在基于资源的策略中[指定主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。主体可以包括账户、用户、角色、联合用户或AWS 服务。

基于资源的策略是位于该服务中的内联策略。不能在基于资源的策略中使用来自 IAM 的AWS托管式策略。

### 访问控制列表（ACL）
<a name="security_iam_access-manage-acl"></a>

访问控制列表（ACL）控制哪些主体（账户成员、用户或角色）有权访问资源。ACL 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

Amazon S3、AWS WAF和 Amazon VPC 是支持 ACL 的服务示例。要了解有关 ACL 的更多信息，请参阅 *Amazon Simple Storage Service 开发人员指南* 中的[访问控制列表（ACL）概览](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)。

### 其他策略类型
<a name="security_iam_access-manage-other-policies"></a>

AWS支持额外的、不太常用的策略类型。这些策略类型可以设置更常用的策略类型所授予的最大权限。
+ **权限边界** – 权限边界是一个高级功能，用于设置基于身份的策略可以为 IAM 实体（IAM 用户或角色）授予的最大权限。可为实体设置权限边界。这些结果权限是实体基于身份的策略及其权限边界的交集。在 `Principal` 字段中指定用户或角色的基于资源的策略不受权限边界限制。任一项策略中的显式拒绝将覆盖允许。有关权限边界的更多信息，请参阅《IAM 用户指南》**中的 [IAM 实体的权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+ **服务控制策略（SCP）** – SCP 是 JSON 策略，指定了组织或组织单位（OU）在 AWS Organizations 中的最大权限。AWS Organizations 服务可以分组和集中管理您的企业拥有的多个 AWS 账户 账户。如果在组织内启用了所有特征，则可对任意或全部账户应用服务控制策略（SCP）。SCP 限制成员账户中实体（包括每个AWS 账户根用户）的权限。有关 Organizations 和 SCP 的更多信息，请参阅《AWS Organizations 用户指南》**中的 [SCP 的工作原理](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html)。
+ **会话策略** - 会话策略是当您以编程方式为角色或联合用户创建临时会话时作为参数传递的高级策略。结果会话的权限是用户或角色的基于身份的策略和会话策略的交集。权限也可以来自基于资源的策略。任一项策略中的显式拒绝将覆盖允许。有关更多信息，请参阅《IAM 用户指南》**中的[会话策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多个策略类型
<a name="security_iam_access-manage-multiple-policies"></a>

当多个类型的策略应用于一个请求时，生成的权限更加复杂和难以理解。要了解 AWS 如何确定在涉及多种策略类型时是否允许请求，请参阅《IAM 用户指南》**中的[策略评估逻辑](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

# 如何将 AWS IoT Wireless 与 IAM 结合使用
<a name="security_iam_service-with-iam"></a>

在使用 IAM 管理对 AWS IoT Wireless 的访问之前，您应了解哪些 IAM 功能可与 AWS IoT Wireless 结合使用。要大致了解 AWS IoT Wireless 和其他 AWS 服务如何与 IAM 一起使用，请参阅《IAM 用户指南》**中的[使用 IAM 的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。


**可以与 AWS IoT Wireless 搭配使用的 IAM 功能**  

| IAM 功能 | AWS IoT Wireless 支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-id-based-policies)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-resource-based-policies)  |   否   | 
|  [策略操作](#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)  |   是  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   否   | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-tags)  |   是  | 
|  [临时凭证](#security_iam_service-with-iam-roles-tempcreds)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-principal-permissions)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-roles-service)  |   否   | 
|  [服务相关角色](#security_iam_service-with-iam-roles-service-linked)  |   否   | 

**Topics**
+ [AWS IoT Wireless 基于身份的策略](#security_iam_service-with-iam-id-based-policies)
+ [AWS IoT Wireless 内基于资源的策略](#security_iam_service-with-iam-resource-based-policies)
+ [策略操作](#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)
+ [访问控制列表（ACL）](#security_iam_service-with-iam-acls)
+ [带有 AWS IoT Wireless 的 ABAC](#security_iam_service-with-iam-tags)
+ [将临时凭证用于 AWS IoT Wireless](#security_iam_service-with-iam-roles-tempcreds)
+ [AWS IoT Wireless 的跨服务主体权限](#security_iam_service-with-iam-principal-permissions)
+ [服务角色](#security_iam_service-with-iam-roles-service)
+ [AWS IoT Wireless 的服务相关角色](#security_iam_service-with-iam-roles-service-linked)

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


|  |  | 
| --- |--- |
|  支持基于身份的策略  |   是  | 

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《*IAM 用户指南*》中的[创建 IAM 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。您无法在基于身份的策略中指定主体，因为它适用于其附加的用户或角色。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

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



要查看 AWS IoT Wireless 基于身份的策略示例，请参阅 [基于身份的 AWS IoT Wireless 策略示例](security_iam_id-based-policy-examples.md)。

## AWS IoT Wireless 内基于资源的策略
<a name="security_iam_service-with-iam-resource-based-policies"></a>


|  |  | 
| --- |--- |
|  支持基于资源的策略  |   否   | 

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM *角色信任策略*和 Amazon S3 *存储桶策略*。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源，策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。必须在基于资源的策略中[指定主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。主体可以包括账户、用户、角色、联合用户或AWS 服务。

要启用跨账户存取，您可以将整个账户或其他账户中的 IAM 实体指定为基于资源的策略中的主体。将跨账户主体添加到基于资源的策略只是建立信任关系工作的一半而已。当主体和资源处于不同的 AWS 账户 中时，则信任账户中的 IAM 管理员还必须授予主体实体（用户或角色）对资源的访问权限。他们通过将基于身份的策略附加到实体以授予权限。但是，如果基于资源的策略向同一个账户中的主体授予访问权限，则不需要额外的基于身份的策略。有关更多信息，请参阅*IAM 用户指南*中的 [IAM 角色与基于资源的策略有何不同](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)。

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


|  |  | 
| --- |--- |
|  支持策略操作  |   是  | 

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

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。策略操作通常与关联的AWS API 操作同名。有一些例外情况，例如没有匹配 API 操作的*仅限权限*操作。还有一些操作需要在策略中执行多个操作。这些附加操作称为*相关操作*。

在策略中包含操作以授予执行关联操作的权限。

AWS IoT Wireless 中的策略操作在操作前使用以下前缀：`iotwireless:`例如，要授予某人权限以使用 `ListWirelessDevices` API 列出其 AWS 账户中已注册的所有无线设备，请将 `iotwireless:ListWirelessDevices` 操作纳入其策略中。策略语句必须包含 `Action` 或 `NotAction` 元素。AWS IoT Wireless 定义了一组自己的操作，以描述您可以使用该服务执行的任务。

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

```
"Action": [
      "iotwireless:ListMulticastGroups",
      "iotwireless:ListFuotaTasks"
   ]
```

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

```
"Action": "iotwireless:Get*"
```



要查看 AWS IoT Wireless 操作列表，请参阅《IAM 用户指南》**中的 [AWS IoT Wireless 定义的操作](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotwireless.html#awsiotwireless-actions-as-permissions)。

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


|  |  | 
| --- |--- |
|  支持策略资源  |   是  | 

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

`Resource`JSON 策略元素指定要向其应用操作的一个或多个对象。语句必须包含 `Resource` 或 `NotResource` 元素。作为最佳实操，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)指定资源。对于支持特定资源类型（称为*资源级权限*）的操作，可以执行此操作。

对于不支持资源级权限的操作（如列出操作），请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```



该 AWS IoT Wireless 服务拥有以下 ARN：

```
arn:${Partition}:iotwireless:${Region}:${Account}:${Resource}/${Resource-id}
```

有关 ARN 格式的更多信息，请参阅 [Amazon 资源名称（ARN）和 AWS 服务命名空间](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)。

例如，要在语句中指定网络分析器配置 `NAConfig1`，请使用以下 ARN：

```
"Resource": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/NAConfig1"
```

要指定属于特定账户的所有 FUOTA 任务，请使用通配符 (\$1)：

```
"Resource": "arn:aws:iotwireless:us-east-1:123456789012:FuotaTask/*"
```

无法对特定资源执行某些 AWS IoT Wireless 操作，例如，用于列出资源的操作。在这些情况下，您必须使用通配符 （\$1)。

```
"Resource": "*"
```

许多 AWS IoT Wireless API 操作涉及多种资源。例如，`AssociateWirelessDeviceWithThing` 将无线设备与 AWS IoT 事物关联，因此 IAM 用户必须有权使用该设备和物联网事物。要在单个语句中指定多个资源，请使用逗号分隔 ARN。

```
"Resource": [
      "WirelessDevice",
      "thing"
```

要查看 AWS IoT Wireless 资源类型及其 ARN 的列表，请参阅《IAM 用户指南》**中的 [AWS IoT Wireless 定义的资源](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotwireless.html#awsiotwireless-resources-for-iam-policies)。要了解您可以在哪些操作中指定每个资源的 ARN，请参阅 [AWS IoT Wireless 定义的操作](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotwireless.html#awsiotwireless-actions-as-permissions)。

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


|  |  | 
| --- |--- |
|  支持特定于服务的策略条件键  |   是  | 

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

在 `Condition` 元素（或 `Condition` *块*）中，可以指定语句生效的条件。`Condition` 元素是可选的。可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。

如果在一个语句中指定多个 `Condition` 元素，或在单个 `Condition` 元素中指定多个键，则 AWS 使用逻辑 `AND` 运算评估它们。如果您要为单个条件键指定多个值，则 AWS 使用逻辑 `OR` 运算来评估条件。在授予语句的权限之前必须满足所有的条件。

 在指定条件时，也可以使用占位符变量。例如，只有在使用 IAM 用户名标记 IAM 用户时，才能为其授予访问资源的权限。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 策略元素：变量和标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)。

AWS 支持全局条件键和特定于服务的条件键。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南* 中的 [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

AWS IoT Wireless 定义了自己的一组条件键，还支持使用一些全局条件键。要查看所有 AWS 全局条件键，请参阅《IAM 用户指南》**中的 [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。要查看 AWS IoT Wireless 条件键的列表，请参阅《IAM 用户指南》**中的 [AWS IoT Wireless 条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awskeymanagementservice.html#awskeymanagementservice-policy-keys)。要了解您可以对哪些操作和资源使用条件键，请参阅 [AWS IoT Wireless 定义的操作](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotwireless.html#awsiotwireless-actions-as-permissions)。



## 访问控制列表（ACL）
<a name="security_iam_service-with-iam-acls"></a>


|  |  | 
| --- |--- |
|  支持 ACL  |   否   | 

访问控制列表（ACL）控制哪些主体（账户成员、用户或角色）有权访问资源。ACL 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

## 带有 AWS IoT Wireless 的 ABAC
<a name="security_iam_service-with-iam-tags"></a>


|  |  | 
| --- |--- |
|  支持 ABAC（策略中的标签）  |   是  | 

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于属性来定义权限。在 AWS 中，这些属性称为*标签*。您可以将标签附加到 IAM 实体（用户或角色）以及 AWS 资源。标记实体和资源是 ABAC 的第一步。然后设计 ABAC 策略，以在主体的标签与他们尝试访问的资源标签匹配时允许操作。

ABAC 在快速增长的环境中非常有用，并在策略管理变得繁琐的情况下可以提供帮助。

要基于标签控制访问，需要使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[什么是 ABAC？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

您可以将标签附加到 AWS IoT Wireless 资源或将请求中的标签传递到 AWS IoT Wireless。要基于标签控制访问，需要使用 `YOUR-SERVICE-PREFIX:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。有关为 AWS IoT Wireless 资源添加标签的更多信息，请参阅 [标记您的 AWS IoT Wireless 资源](tagging-iotwireless.md)。

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


|  |  | 
| --- |--- |
|  支持临时凭证  |   是  | 

某些 AWS 服务 在使用临时凭证登录时无法正常工作。有关更多信息，包括 AWS 服务与临时凭证配合使用，请参阅《IAM 用户指南》**中的[使用 IAM 的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

如果您不使用用户名和密码而用其他方法登录到AWS 管理控制台，则使用临时凭证。例如，当您使用贵公司的单点登录 (SSO) 链接访问AWS时，该过程将自动创建临时凭证。当您以用户身份登录控制台，然后切换角色时，还会自动创建临时凭证。有关切换角色的更多信息，请参阅 *IAM 用户指南* 中的 [切换到角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)。

您可以使用 AWS CLI 或者 AWS API 创建临时凭证。之后，您可以使用这些临时凭证访问 AWS。AWS 建议您动态生成临时凭证，而不是使用长期访问密钥。有关更多信息，请参阅 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)。

## AWS IoT Wireless 的跨服务主体权限
<a name="security_iam_service-with-iam-principal-permissions"></a>


|  |  | 
| --- |--- |
|  支持转发访问会话 (FAS)  |   是  | 

 当您使用 IAM 用户或角色在 AWS 中执行操作时，您将被视为主体。使用某些服务时，您可能会执行一个操作，然后此操作在其他服务中启动另一个操作。FAS 使用主体调用 AWS 服务 的权限，结合请求的 AWS 服务，向下游服务发出请求。只有在服务收到需要与其他 AWS 服务 或资源交互才能完成的请求时，才会发出 FAS 请求。在这种情况下，您必须具有执行这两个操作的权限。有关发出 FAS 请求时的策略详情，请参阅[转发访问会话](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)。

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


|  |  | 
| --- |--- |
|  支持服务角色  |   否   | 

 服务角色是由一项服务代入、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅 *IAM 用户指南* 中的 [创建向 AWS 服务 委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

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


|  |  | 
| --- |--- |
|  支持服务相关角色  |   否   | 

 服务相关角色是一种与 AWS 服务相关的服务角色。服务可以担任代表您执行操作的角色。服务相关角色显示在AWS 账户中，并由该服务拥有。IAM 管理员可以查看但不能编辑服务相关角色的权限。

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

默认情况下，IAM 用户和角色没有创建或修改 AWS IoT Wireless 资源的权限。它们还无法使用 AWS 管理控制台、AWS CLI 或 AWS API 执行任务。IAM 管理员必须创建 IAM 策略，以便为用户和角色授予权限以对所需的指定资源执行特定的 API 操作。然后，管理员必须将这些策略附加到需要这些权限的 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)
+ [使用 AWS IoT Wireless 控制台](#security_iam_id-based-policy-examples-console)
+ [允许用户查看他们自己的权限](#security_iam_id-based-policy-examples-view-own-permissions)
+ [执行 AWS IoT Wireless 无线设备操作所需的权限](#security_iam_id-based-policy-examples-iot-wireless-resources)

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

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 AWS IoT Wireless 资源。这些操作可能会使 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)。

## 使用 AWS IoT Wireless 控制台
<a name="security_iam_id-based-policy-examples-console"></a>

要访问 AWS IoT Wireless 控制台，您必须拥有一组最低权限。这些权限必须允许您列出和查看有关您的 AWS 账户中 AWS IoT Wireless 资源的详细信息。如果您创建的基于身份的策略比所需的最低权限更严格，则无法为具有该策略的实体（IAM 用户或角色）正常运行控制台。

要确保这些实体仍可使用 AWS IoT Wireless 控制台，也可向实体附加以下 AWS 托管策略。有关更多信息，请参阅 *IAM 用户指南*中的[为用户添加权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)：

```
AWSIoTWirelessFullAccess
```

对于只需要调用 AWS CLI 或 AWS API 的用户，无需为其提供最低控制台权限。相反，只允许访问与您尝试执行的 API 操作相匹配的操作。

## 允许用户查看他们自己的权限
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

该示例说明了您如何创建策略，以允许 IAM 用户查看附加到其用户身份的内联策略和托管式策略。此策略包括在控制台上完成此操作或者以编程方式使用 AWS CLI 或 AWS API 所需的权限。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 执行 AWS IoT Wireless 无线设备操作所需的权限
<a name="security_iam_id-based-policy-examples-iot-wireless-resources"></a>

您可以在基于身份的策略中使用条件，以控制对 AWS IoT Wireless 操作的访问。此示例演示如何创建允许创建和管理设备的策略。不过，只有在事物标签 `Owner` 具有该用户的用户名值时，才会授予权限。此策略还授予在控制台上完成此操作的必要权限。

```
{
 "Version": "2012-10-17",
 "Statement": [{
    "Sid": "VisualEditor0",
    "Effect": "Allow",
    "Action": [
              "iotwireless:CreateWirelessDevice",
              "iotwireless:GetWirelessDevice",
              "iotwireless:ListWirelessDevices",
              "iotwireless:UpdateWirelessDevice",
              "iotwireless:DeleteWirelessDevice"             
           ],
    "Resource": "*"
    }
 ]
}
```

该策略有一条语句授予执行 `CreateWirelessDevice`、`GetWirelessDevice`、`ListWirelessDevices`、`UpdateWirelessDevice` 和 `DeleteWirelessDevice` 操作的权限。AWS IoT Wireless 调用这些方法来创建和管理您的无线设备。

该策略不指定主体元素，因为在基于身份的策略中，您未指定获取权限的主体。将策略附加到用户时，该用户是隐式主体。向 IAM 角色附加权限策略后，该角色的信任策略中标识的主体将获取权限。

# 适用于 AWS IoT Wireless 的 AWS 托管式策略
<a name="security-iam-awsmanpol"></a>







要向用户、组和角色添加权限，与自己编写策略相比，使用 AWS 托管策略更简单。创建仅为团队提供所需权限的 [IAM 客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)需要时间和专业知识。要快速入门，您可以使用我们的 AWS 托管策略。这些策略涵盖常见使用案例，可在您的 AWS 账户 中使用。有关 AWS 托管策略的更多信息，请参阅《IAM 用户指南》**中的[AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

AWS 服务负责维护和更新 AWS 托管式策略。您无法更改 AWS 托管式策略中的权限。服务偶尔会向 AWS 托管策略添加额外权限以支持新特征。此类更新会影响附加策略的所有身份（用户、组和角色）。当启动新特征或新操作可用时，服务最有可能会更新 AWS 托管策略。服务不会从 AWS 托管策略中删除权限，因此策略更新不会破坏您的现有权限。

此外，AWS 还支持跨多种服务的工作职能的托管策略。例如，**ReadOnlyAccess** AWS 托管式策略提供对所有 AWS 服务和资源的只读访问权限。当服务启动新特征时，AWS 会为新操作和资源添加只读权限。有关工作职能策略的列表和说明，请参阅《IAM 用户指南》**中的[适用于工作职能的 AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。









## AWS 托管策略：AWSIoTWirelessDataAccess
<a name="security-iam-awsmanpol-AWSIoTWirelessDataAccess"></a>





您可以将 `AWSIoTWirelessDataAccess` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许使用 `SendDataToWirelessDevice` API 向 LoRaWAN 和 Sidewalk 设备发送数据。要在 AWS 管理控制台中查看此策略，请参阅 [AWSIoTWirelessDataAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessDataAccess$jsonEditor?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `iotwireless` – 检索 AWS IoT Wireless 数据。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iotwireless:SendDataToWirelessDevice"
            ],
            "Resource": "*"
        }
    ]
}
```

## AWS 托管策略：AWSIoTWirelessFullAccess
<a name="security-iam-awsmanpol-AWSIoTWirelessFullAccess"></a>





您可以将 `AWSIoTWirelessFullAccess` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许访问所有 AWS IoT Wireless 操作。要在 AWS 管理控制台中查看此策略，请参阅 [AWSIoTWirelessFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `iotwireless` – 检索 AWS IoT Wireless 数据并执行所有 AWS IoT Wireless 操作。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iotwireless:*"
            ],
            "Resource": "*"
        }
    ]
}
```

## AWS 托管策略：AWSIoTWirelessFullPublishAccess
<a name="security-iam-awsmanpol-AWSIoTWirelessFullPublishAccess"></a>





您可以将 `AWSIoTWirelessFullPublishAccess` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许进行受限访问，代表您发布 AWS IoT 规则。要在 AWS 管理控制台中查看该策略，请参阅 [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullPublishAccess?section=permissions](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullPublishAccess?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `iot` - 执行获取端点 URL 并发布到 AWS IoT 规则引擎的操作。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:DescribeEndpoint",
                "iot:Publish"
            ],
            "Resource": "*"
        }
    ]
}
```

## AWS 托管策略：AWSIoTWirelessLogging
<a name="security-iam-awsmanpol-AWSIoTWirelessLogging"></a>





您可以将 `AWSIoTWirelessLogging` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许创建 Amazon CloudWatch Logs 日志组并将日志流式传输到这些组。本策略附加到您的 CloudWatch 日志记录角色。要在 AWS 管理控制台中查看该策略，请参阅 [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessLogging?section=permissions](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessLogging?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `logs` 检索 CloudWatch 日志。此外，允许创建 CloudWatch Logs 组和将日志流式传输到这些组。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/iotwireless*"
        }
    ]
}
```

## AWS 托管策略：AWSIoTWirelessReadOnlyAccess
<a name="security-iam-awsmanpol-AWSIoTWirelessReadOnlyAccess"></a>





您可以将 `AWSIoTLogging` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许对所有 AWS IoT Wireless 操作进行只读访问。要在 AWS 管理控制台中查看该策略，请参阅 [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessReadOnlyAccess?section=permissions](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessReadOnlyAccess?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `logs` - 执行 AWS IoT Wireless `List` 和 `Get` API 操作。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iotwireless:List*",
                "iotwireless:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

## AWS 托管策略：AWSIoTWirelessGatewayCertManager
<a name="security-iam-awsmanpol-AWSIoTWirelessGatewayCertManager"></a>





您可以将 `AWSIoTWirelessGatewayCertManager` 策略附加到 IAM 身份。



此策略向相关身份授予权限，以允许创建、列出和描述 AWS IoT 证书。要在 AWS 管理控制台中查看该策略，请参阅 [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessGatewayCertManager?section=permissions](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessGatewayCertManager?section=permissions)。



**权限详细信息**

该策略包含以下权限。




+ `iot` - 执行创建、描述和列出证书的操作。



```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "IoTWirelessGatewayCertManager",
            "Effect": "Allow",
            "Action": [
                "iot:CreateKeysAndCertificate",
                "iot:DescribeCertificate",
                "iot:ListCertificates"
            ],
            "Resource": "*"
        }
    ]
}
```

## AWS IoT Wireless；对 AWS 托管式策略的更新
<a name="security-iam-awsmanpol-updates"></a>



查看有关 AWS IoT Wireless 的 AWS 托管式策略更新的详细信息（从该服务开始跟踪这些更改开始）。有关此页面更改的自动提示，请订阅[AWS IoT Wireless 文档历史记录页面](doc-history.md)上的 RSS 信息源。




| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  AWS IoT Wireless 开启了跟踪更改  |  AWS IoT Wireless 为其 AWS 托管式策略开启了跟踪更改。  | 2022 年 5 月 18 日 | 

# 排查 AWS IoT Wireless 身份和访问问题
<a name="security_iam_troubleshoot"></a>

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

**Topics**
+ [我无权在 AWS IoT Wireless 中执行操作](#security_iam_troubleshoot-no-permissions)
+ [我想要查看我的访问密钥](#security_iam_troubleshoot-access-keys)
+ [我是管理员并希望允许其他人访问 AWS IoT Wireless](#security_iam_troubleshoot-admin-delegate)
+ [我想要允许我的 AWS 账户之外的用户访问我的 AWS IoT Wireless 资源](#security_iam_troubleshoot-cross-account-access)

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

如果AWS 管理控制台告诉您，无权执行某个操作，则必须联系管理员寻求帮助。管理员是指提供用户名和密码的人员。

当 `mateojackson` IAM 用户尝试使用控制台查看有关 *WirelessDevice* 的详细信息，但不具有 `YOUR-SERVICE-PREFIX:GetWirelessDevice` 权限时，会出现以下示例错误。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: YOUR-SERVICE-PREFIX:GetWirelessDevice on resource: my-LoRaWAN-device
```

在这种情况下，Mateo 请求他的管理员更新其策略，以允许他使用 `YOUR-SERVICE-PREFIX:GetWirelessDevice` 操作访问 `my-LoRaWAN-device` 资源。

## 我想要查看我的访问密钥
<a name="security_iam_troubleshoot-access-keys"></a>

在创建 IAM 用户访问密钥后，您可以随时查看您的访问密钥 ID。但是，您无法再查看您的秘密访问密钥。如果您丢失了私有密钥，则必须创建一个新的访问密钥对。

访问密钥包含两部分：访问密钥 ID（例如 `AKIAIOSFODNN7EXAMPLE`）和秘密访问密钥（例如 `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`）。与用户名和密码一样，您必须同时使用访问密钥 ID 和秘密访问密钥对请求执行身份验证。像对用户名和密码一样，安全地管理访问密钥。

**重要**  
请不要向第三方提供访问密钥，即便是为了帮助[找到您的规范用户 ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) 也不行。如果您这样做，可能会向某人提供对您的 AWS 账户 账户的永久访问权限。

当您创建访问密钥对时，系统会提示您将访问密钥 ID 和秘密访问密钥保存在一个安全位置。秘密访问密钥仅在您创建它时可用。如果丢失了您的秘密访问密钥，您必须为 IAM 用户添加新的访问密钥。您最多可拥有两个访问密钥。如果您已有两个密钥，则必须删除一个密钥对，然后再创建新的密钥。要查看说明，请参阅 *IAM 用户指南*中的[管理访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)。

## 我是管理员并希望允许其他人访问 AWS IoT Wireless
<a name="security_iam_troubleshoot-admin-delegate"></a>

要允许其他人访问 AWS IoT Wireless，您必须为需要访问权限的人员或应用程序创建一个 IAM 实体（用户或角色）。它们将使用该实体的凭证访问 AWS。然后，您必须将策略附加到实体，以便在 AWS IoT Wireless 中向其授予正确的权限。

要立即开始使用，请参阅《IAM 用户指南》中的[创建您的第一个 IAM 委派用户和组](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-delegated-user.html)**。

## 我想要允许我的 AWS 账户之外的用户访问我的 AWS IoT Wireless 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

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

要了解更多信息，请参阅以下内容：
+ 要了解 AWS IoT Wireless 是否支持这些功能，请参阅 [如何将 AWS IoT Wireless 与 IAM 结合使用](security_iam_service-with-iam.md)。
+ 要了解如何为您拥有的 AWS 账户 中的资源提供访问权限，请参阅 *IAM 用户指南* 中的[为您拥有的另一个 AWS 账户 中的 IAM 用户提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)。
+ 要了解如何为第三方 AWS 账户提供您资源的访问权限，请参阅《IAM 用户指南》中的**[为第三方拥有的 AWS 账户提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)。
+ 要了解如何通过身份联合验证提供访问权限，请参阅《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/id_roles_compare-resource-policies.html)。