问题标签 [aws-iot-core]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

amazon-web-services - AWS IOT - 建立设备所有权和防止未经授权访问的最佳方法是什么

在 AWS IOT 中,我没有看到任何在线解释来描述确保发布包含敏感数据的主题的设备只能由设备所有者访问的最佳方式。

例如,Bob 登录到他的智能手机应用程序并使用 Cognito 进行身份验证。已经有一个关于身份池身份验证角色的策略允许访问 AWS IOT,并且管理 lambda 在注册期间调用了 AttachPrincipalPolicy 并允许 Bob 访问 AWS IOT。

Bob 拥有一个名为“thermostat”的设备,上面安装了 x509 证书,用于向 AWS IOT 进行身份验证。它正在发布主题,例如 /thermostat/123/temperature/75(序列号:123,温度:75),而 Bob 在他的智能手机上订阅了相同的主题(/thermostat/123/temperature/*)

我们如何防止另一个用户 Jill 订阅 /thermostat/123/temperature/* 并读取 Bob 的私人数据,她的恒温器已通过相同的设置(这使她可以访问 AWS IOT)?

我猜它与序列号有关,但在这种情况下,您如何将 Bob 的身份 ID 与设备的序列号相关联?当每个用户和设备都使用完全不同的身份验证机制(Cognito 和 X509)时,关联用户和设备的最佳方式是什么?

0 投票
0 回答
55 浏览

nginx - 如何使用用于 TLS 的 ngix 代理连接到 AWS iot?

问题:我需要使用 paho mqtt 从 python 客户端连接到 AWS iot 代理。需要 TLS 连接才能连接到 AWS iot,但我的证书存储在安全元素 (ATECC608) 中,因此我无法将私钥保存在文件中以便由 paho 加载以处理 tls 连接。我必须使用 PKCS#11 才能访问安全元素,但我找不到任何使用 PKCS#11 来检索密钥的库。

解决方案:我发现 nginx 可以处理 PKCS#11,所以我所做的就是将其配置为代理,其唯一目的是与 AWS iot 建立 TLS 连接,这样客户端无需 tls 即可连接。

它在我的本地设置中与蚊子代理一起工作,但是当我尝试使用 AWS iot 时,连接已建立,但一旦我尝试传输某些内容,就会断开连接。

nginx.conf

paho 尝试连接时的日志:

TLS 连接似乎已建立,但当 paho 尝试发送数据时,它会断开连接。on_receive 事件不会触发,唯一触发的事件是 on_disconnect:

这是python代码:

至于 AWS iot,我创建了一个“允许一切”策略,以确保 AWS 不会阻止我的连接。

我对nginx做错了什么吗?我是否需要额外的配置才能使其与 aws iot 一起使用?我也愿意尝试 nginx 以外的其他方法,但我需要使用我的安全元素。

0 投票
1 回答
48 浏览

flutter - 无法在颤振中打开 .pem 文件

我是编程的初学者,对于一个学校项目,我正在构建一个 android 应用程序来使用 esp 32 和 AWS IOT 打开/关闭 LED。我正在使用 mqtt_client 9.6.4,当我运行 aws_iot.dart 示例时,我能够连接到 AWS IOT 并使用相同的脚本执行操作。当我在颤振中使用相同的代码时,我在调试控制台中收到以下错误消息,E/flutter (15280): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:FileSystemException:无法打开文件,路径 = 'AmazonRootCA1.pem'(操作系统错误:没有这样的文件或目录,errno = 2)

如何解决?

0 投票
0 回答
18 浏览

amazon-web-services - AWS IoT 硬件解决方案

我是初学者,使用 AWS IoT 已经有一段时间了。我希望通过在我的物联网项目中引入 GSM 连接来扩展我的项目。我正在寻找特定的硬件,到目前为止我已经找到了This。这是上述任务的正确选择还是我应该使用任何其他硬件。如果是这样,你能给我推荐一个合适的吗?谢谢你。

0 投票
0 回答
24 浏览

amazon-cognito - 使用 AWS IoT Core 扩展授权策略

可以附加到 Amazon Cognito 身份的策略数量为 10。这意味着我们的客户最多只能使用 10 台设备。

我在以下文档中阅读了解决此问题的解决方案建议: https ://aws.amazon.com/tr/blogs/iot/scaling-authorization-policies-with-aws-iot-core/

将多个设备主题整合到一个策略中。对于发布和接收操作(85 个字符):

但我使用的是 jitr 方法。这对我来说似乎不合适。

https://docs.aws.amazon.com/general/latest/gr/iot-core.html上:可以附加到证书或 Amazon Cognito 身份的最大策略数:默认值为 10:不可调整

在这种情况下我该怎么办?

0 投票
0 回答
15 浏览

aws-iot - 无法启用 aws HTTP 主题规则目标

在使用 aws iot core 创建“规则”后,我正在尝试将目标设置为 http 端点。我设置了端点地址,然后使用 enableUrl 调用我的端点。调用它时只返回一个空的 JSON 对象,然后如果再次调用则返回此错误消息。

根据文档,IAM 用户应该有权启用这些目的地。我已经尝试添加它,甚至尝试通过 root 用户启用端点,但仍然得到相同的结果。

在此处关注文档: https ://docs.aws.amazon.com/iot/latest/developerguide/rule-destination.html

任何见解都会很棒。

0 投票
0 回答
10 浏览

amazon-web-services - 如何在aws iot mqqt的断开连接消息中传递附加参数?

断开连接消息在 aws iot 核心中具有以下结构:

}

这里的客户端 ID 有 128 个字节的限制,所以我无法传递一些数据,如何传递附加属性以从断开消息中获取?

0 投票
1 回答
35 浏览

ssl-certificate - aws IoT Core 和 R.509 证书到期

我与 ESP32 和 aws 成功连接。现在,我已经读到证书有一个到期日期。那么是否可以延长日期或是否有必要更改证书。如果有必要,有没有办法自动改变它?

0 投票
1 回答
35 浏览

amazon-web-services - Greengrass V2 不断给我 MqttProxyIPCAgent Not Authorized

我有以下 Greengrass V2 自定义配方:

注意:我还尝试了 accessControl 的变体:

(注意:pubsub 与 mqttproxy)

但是,在我的 greengrass.log 中,我不断收到以下信息:

请注意:

My Thing 设备证书也有一个允许的策略,iot:*因此greengrass:*从策略/IAM 的角度来看,我可以发布。

任何想法为什么我在设备上获得未授权?

0 投票
0 回答
32 浏览

amazon-web-services - 我可以将 AWS IoT Core Things 与 sigv4 一起使用,还是需要 X.509 客户端证书?

我一直在使用 sigv4 通过 HTTPS 请求将我的设备连接到 AWS IoT Core 规则引擎。现在我有兴趣创建一个 IoT Core Thing 来管理我的设备,但要做到这一点,我需要一个 X.509 证书。我可以在没有 X.509 客户端证书的情况下创建 IoT Core 事物吗?如何创建?如何在设备HTTPS请求中指定哪个设备属于哪个事物?
(我无法将证书放在我的设备上)