秘密经理 - AWS IoT Greengrass

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

秘密经理

密钥管理器组件 (aws.greengrass.SecretManager) 将机密部署 AWS Secrets Manager 到 Greengrass 核心设备。使用此组件可在 Greengrass 核心设备的自定义组件中安全地使用密码(如密码)。有关 Secrets Manager 的更多信息,请参阅 AWS Secrets Manager 用户指南中的什么是 AWS Secrets Manager?

要在您的自定义 Greengrass 组件中访问此组件的秘密,请使用中的操作。GetSecretValue AWS IoT Device SDK有关更多信息,请参阅使用 AWS IoT Device SDK 与 Greengrass 原子核、其他组件进行通信 AWS IoT Core检索秘密值

此组件对核心设备上的机密进行加密,以确保您的凭据和密码的安全,直到您需要使用它们为止。它使用核心设备的私钥来加密和解密机密。

版本

此组件有以下版本:

  • 2.2.x

  • 2.1.x

  • 2.0.x

类型

此组件是一个插件组件 (aws.greengrass.plugin)。Greengrass 核心在与核心相同的 Java 虚拟机 () 中运行此组件。JVM当您在核心设备上更改此组件的版本时,nucleus 会重新启动。

该组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅 监控AWS IoT Greengrass日志

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

  • Greengrass 设备角色必须允许secretsmanager:GetSecretValue该操作,如以下示例策略所示。IAM

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "secretsmanager:GetSecretValue" ], "Effect": "Allow", "Resource": [ "arn:aws:secretsmanager:region:123456789012:secret:MySecret" ] } ] }
    注意

    如果您使用客户管理的密 AWS Key Management Service 钥来加密机密,则设备角色也必须允许该kms:Decrypt操作。

    有关 Secrets Manager IAM 策略的更多信息,请参阅《AWS Secrets Manager 用户指南》中的以下内容:

  • 自定义组件必须定义授权策略,该策略aws.greengrass#GetSecretValue允许获取您存储在此组件中的机密。在此授权策略中,您可以限制组件对特定机密的访问权限。有关更多信息,请参阅机密管理员IPC授权

  • (可选)如果您将核心设备的私钥和证书存储在硬件安全模块(HSM)中,则HSM必须支持RSA密钥,私钥必须具有unwrap权限,公钥必须具有wrap权限。

端点和端口

除了基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙

Endpoint 端口 必需 描述

secretsmanager.region.amazonaws.com

443

将密钥下载到核心设备。

依赖项

部署组件时, AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在AWS IoT Greengrass 控制台中查看组件每个版本的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

2.2.0

下表列出了此组件版本 2.2.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.13.0 <2.14.0 软性
2.1.7 – 2.1.8

下表列出了此组件版本 2.1.7 和 2.1.8 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.13.0 软性
2.1.6

下表列出了此组件版本 2.1.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.12.0 软性
2.1.5

下表列出了此组件版本 2.1.5 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.11.0 软性
2.1.4

下表列出了此组件版本 2.1.4 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.10.0 软性
2.1.3

下表列出了此组件版本 2.1.3 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.9.0 软性
2.1.2

下表列出了此组件版本 2.1.2 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.8.0 软性
2.1.1

下表列出了此组件版本 2.1.1 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.7.0 软性
2.1.0

下表列出了此组件版本 2.1.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.5.0 <2.6.0 软性
2.0.9

下表列出了此组件版本 2.0.9 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.5.0 软性
2.0.8

下表列出了此组件版本 2.0.8 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.4.0 软性
2.0.7

下表列出了此组件版本 2.0.7 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.3.0 软性
2.0.6

下表列出了此组件版本 2.0.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.2.0 软性
2.0.4 and 2.0.5

下表列出了此组件版本 2.0.4 和 2.0.5 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.3 <2.1.0 软性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。

periodicRefreshIntervalMin(可选)

此组件将核心设备上配置的密钥与来自 AWS Secrets Manager 服务的最新密钥值同步的时间间隔(以分钟为单位)。如果未配置此间隔,密钥管理器将不会定期刷新配置的密钥。

{ "cloudSecrets": [ { "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef" } ], "periodicRefreshIntervalMin" : 60 }
cloudSecrets

要部署到核心设备的 Secrets Manager 密钥列表。您可以指定标签来定义要部署的每个密钥的哪些版本。如果您未指定版本,则此组件将部署附有暂存标签AWSCURRENT的版本。有关更多信息,请参阅《AWS Secrets Manager 用户指南》中的暂存标签

密钥管理器组件在本地缓存机密。如果 Secrets Manager 中的密钥值发生变化,则此组件不会自动检索新值。要更新本地副本,请为密钥指定一个新标签,然后将此组件配置为检索由新标签标识的密钥。

每个对象都包含以下信息:

arn

部署ARN的秘诀。秘密可以是完整的,ARN也可以是部分的ARN。ARN我们建议您指定完整ARN而不是部分ARN。有关更多信息,请参阅从局部中查找机密ARN。以下是完整版ARN和部分版的示例ARN:

  • 完整ARN:arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef

  • 部分ARN:arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName

labels

(可选)用于标识要部署到核心设备的密钥版本的标签列表。

每个标签必须是一个字符串。

例 示例:配置合并更新
{ "cloudSecrets": [ { "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef" } ] }

本地日志文件

该组件使用与 Greengrass nucleus 组件相同的日志文件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。替换/greengrass/v2C:\greengrass\v2 包含 AWS IoT Greengrass 根文件夹的路径。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表描述了该组件的每个版本中的更改。

版本

更改

2.2.0

新功能

添加了对通过新的组件配置密钥定期刷新已配置密钥的支持。

在请求中添加对新请求参数的GetSecretValueIPC支持,以刷新每个请求的密钥

2.1.8

错误修复和改进

修复了秘密管理员不接受部分 arn 的问题。

2.1.7

Greengrass nucleus 版本 2.12.0 版本的版本已更新。

2.1.6

Greengrass nucleus 版本 2.11.0 版本的版本已更新。

2.1.5

Greengrass nucleus 版本 2.10.0 版本的版本已更新。

2.1.4

错误修复和改进

修复了部署秘密管理器和 Greengrass 核心重启时缓存的机密被移除的问题。

Greengrass nucleus 版本 2.9.0 版本的版本已更新。

2.1.3

Greengrass nucleus 版本 2.8.0 版本的版本已更新。

2.1.2

Greengrass nucleus 版本 2.7.0 版本的版本已更新。

2.1.1

Greengrass nucleus 版本 2.6.0 版本的版本已更新。

2.1.0

新功能
  • 增加了对硬件安全集成的支持。密钥管理器组件可以使用存储在硬件安全模块 () HSM 中的私钥来加密和解密机密。有关更多信息,请参阅 硬件安全性集成

错误修复和改进
  • Greengrass nucleus 版本 2.5.0 版本的版本已更新。

2.0.9

Greengrass nucleus 版本 2.4.0 版本的版本已更新。

2.0.8

Greengrass nucleus 版本 2.3.0 版本的版本已更新。

2.0.7

Greengrass nucleus 版本 2.2.0 版本的版本已更新。

2.0.6

Greengrass nucleus 版本 2.1.0 版本的版本已更新。

2.0.5

改进
  • 添加对 AWS 中国地区和 AWS GovCloud (US) 地区的支持。

2.0.4

初始版本。