本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
授权核心设备与Amazon服务
Amazon IoT Greengrass核心设备使用Amazon IoT Core授权调用的凭证提供商Amazon服务。这些区域有:Amazon IoT Core凭据提供程序允许设备使用其 X.509 证书作为唯一的设备身份进行身份验证Amazon请求。这样,您就不必存储Amazon您的访问密钥 ID 和秘密访问密钥Amazon IoT Greengrass核心设备。有关更多信息,请参阅 。授予直接拨打Amazon服务中的Amazon IoT Core开发人员指南.
当你运行Amazon IoT Greengrass核心软件,你可以选择配置Amazon核心设备需要的资源。这包括Amazon Identity and Access Management您的核心设备通过Amazon IoT Core凭证提供程序。使用--provision true
参数来配置允许核心设备临时获得的角色和策略Amazon凭证。这个参数还配置了Amazon IoT指向此 IAM 角色的角色别名。您可以指定 IAM 角色的名称,Amazon IoT要使用的角色别名。如果你指定--provision
true
如果没有这些其他名称参数,Greengrass 核心设备将创建并使用以下默认资源:
-
IAM 角色:
GreengrassV2TokenExchangeRole
此角色的策略名为
GreengrassV2TokenExchangeRoleAccess
以及允许的信任关系credentials.iot.amazonaws.com
来代入该角色。该策略包括核心设备的最低权限。重要
此策略不包括访问 S3 存储桶中的文件。您必须向角色添加权限,以允许核心设备从 S3 存储桶中检索组件项目。有关更多信息,请参阅 允许访问 S3 存储桶以获取组件项目。
-
Amazon IoT角色别名:
GreengrassV2TokenExchangeRoleAlias
此角色别名是指 IAM 角色。
有关更多信息,请参阅 步骤 3:安装Amazon IoT Greengrass核心软件。
您还可以为现有核心设备设置角色别名。为此,请配置iotRoleAlias
的配置参数Greengrass 核心组件.
你可以临时购买Amazon为此 IAM 角色执行凭证Amazon自定义组件中的操作。有关更多信息,请参阅 与交互Amazon服务。
核心设备的服务角色权限
此角色允许以下服务代入该角色:
-
credentials.iot.amazonaws.com
如果您将Amazon IoT Greengrass核心软件创建此角色时,它使用以下权限策略允许核心设备连接并将日志发送到Amazon. 策略的名称默认为 IAM 角色的名称以结尾Access
. 例如,如果您使用默认的 IAM 角色名称,则此策略的名称为GreengrassV2TokenExchangeRoleAccess
.
允许访问 S3 存储桶以获取组件项目
默认核心设备角色不允许核心设备访问 S3 存储桶。要部署 S3 存储桶中包含工件的组件,必须添加s3:GetObject
允许核心设备下载组件工件的权限。您可以向核心设备角色添加新策略以授予此权限。
添加允许访问 Amazon S3 中组件工件的策略
-
创建一个名为的文件
component-artifact-policy.json
然后将以下 JSON 复制到该文件中。此策略允许访问 S3 存储桶中的所有文件。ReplaceDOC-例子桶
以及允许核心设备访问的 S3 存储桶的名称。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" } ] } -
运行以下命令以从中的策略文档创建策略:
component-artifact-policy.json
.从输出中的策略元数据复制策略 Amazon 资源名称 (ARN)。您可以在下一步中使用此 ARN 将此策略附加到核心设备角色。
-
运行以下命令以将策略附加到核心设备角色。Replace
GreenGrassv2Token交换所Role
以及运行时指定的角色的名称Amazon IoT Greengrass核心软件。然后,将策略 ARN 替换为上一步中的 ARN。如果命令没有输出,则它成功,您的核心设备可以访问您上传到此 S3 存储桶的工件。