问题标签 [fiware-wilma]
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.
security - Fiware pep-proxy 和 idm 通信问题
我想将 pep-proxy 与 idm 连接起来 .. 所以我从该链接安装 pep .. https://github.com/ging/fiware-pep-proxy从源代码构建它。那是我应该编辑的配置文件
我还想知道如何同时获取 app_id 和trusted_apps 参数,并且我也对app_id 的含义感到困惑,无论它是否是客户端ID。
这是我问题的第一部分。
当我将客户端 id 与应用程序 id 并输入我在 idm 上注册时获得的 pep 代理的用户名和密码时,我得到了 keystone 通信错误
当我通过在开头添加“http”来编辑 idm 主机参数时,我没有得到任何令牌并且我得到“令牌未定义”消息。此外,当我通过输入 idm 帐户来编辑用户名和密码时,每次我都会获得一个新令牌。所以我想知道构建fiware pep-proxy并使其与idm正确通信而没有问题的最佳方法。
然后我尝试按照 docker 文件中的安装命令进行操作。在使用这些命令构建 pep-proxy 时,我得到了一个新的配置文件,它是 fiware academia 的配置文件
这个配置文件与我处理的第一个不同。当我按照此视频中的步骤https://www.youtube.com/watch?v=dtKsjGbJ7Xc&index=10&list=PLARS-yIy9nOoBIOJS05Rpkvu1pZiNTgPT 并通过输入 pep-proxy 配置用户名和密码时,我收到了这个错误。
在 keystone 参数之前放置“http”如下
我收到了这条消息
但是将idm的用户名和密码放入配置中,如下所示
我总是得到一个新的令牌。
现在,我想知道让 pep-proxy 和 idm 一起工作的最佳方法,因为我仍在努力让它们正常通信。
编辑:我已经从这些链接部署了最新版本的 pep-proxy 和 idm。https://github.com/ging/fiware-pep-proxy,https://github.com/ging/fiware-idm。_ _ 我还配置了 pep-proxy 如下
并在启动 idm 和 pep-proxy 时,我得到一个令牌,如以下日志所示
这是 idm 的日志
当我通过使用提供的令牌发送请求来使用 idm 测试 pep-proxy 时,我从服务器得到一个空回复,如下所示
这些也是发送请求后 pep-proxy 的日志。
编辑:我想现在我的令牌没有成功创建,或者我正在使用已弃用的 API,因为我正在使用在 fiware academy 中提到的 Oauth2-client 来生成令牌 https://github.com/ging/oauth2-example-client?files= 1
并成功生成令牌,如图
当我单击获取用户信息时,当我尝试在 pep proxsy 中使用此令牌时出现相同的错误出现在 Oauth2-client 中并且客户端已停止 我尝试使用不同的方式来生成令牌以及如何使用此令牌我的意思是最少和描述如何与 idm 一起玩但没有找到它的文档的稳定版本,所以我在问如何创建一个有效的令牌如果有一个与 idm 的 leates 版本兼容的文档,请提及它,抱歉给您带来不便
更新:我已按照此文档“ https://www.slideshare.net/mobile/daltoncezane/integrating-fiware-orion-keyrock-and-wilma ”在 idm 和 pep 代理之间进行通信,特别是此代码以从中生成令牌idm 使用邮递员发送
但无法生成令牌这是邮递员响应
DOCTYPE html> 错误
这是发送请求后的 idm 日志
希望更加清晰,并且有解决方案
fiware - 未找到域:未为应用程序创建 AZF 域
我在尝试使用 idm、pep-proxy 和 pdp 配置 2 级身份验证时遇到此错误。我正在使用最新版本的 authzforce、idm、pep-proxy,但此错误仍然存在。
相关配置的一部分。
据我了解,与 authzforce 连接的 idm 应该自动创建域,但由于某种原因,情况并非如此。
我尝试了不同的版本,在堆栈上阅读了类似的问题,但问题仍然存在。任何建议或指出我做错了什么都会非常有帮助。谢谢
fiware - 如何配置 FIWARE 组件以避免未为应用程序响应创建 AZF 域
问题总结:如何让 FIWARE IdM Keyrock 和 FIWARE Authzforce 正确设置 AZF 域,从而不会得到“AZF domain not created for application XYZ”响应?
我正在尝试正确配置具有 FIWARE Orion、FIWARE PepProxy Wilma、FIWARE IdM Keyrock、FIWARE Authzforce 的服务器。我到达了前 3 个组件正常工作并相互交互的地步,但现在我正在尝试插入自动化并且我收到以下错误:
AZF domain not created for application
. 我已经尝试了以下链接中提供的所有解决方案,但没有一个有效:
- https://fiware-pep-proxy.readthedocs.io/en/latest/user_guide/#level-2-basic-authorization
- https://www.youtube.com/watch?v=coxFQEY0_So
- 如何配置 Fiware PEP WILMA 代理以在我自己的服务器上使用 Keyrock 和 Orion 实例
- Fiware IDM+AuthZForce+PEP-Proxy-Wilma
- Fiware - 如何将 PEP 代理连接到 Orion 并使用 HTTPS 进行配置?
- Fiware AuthZForce 错误:“未为应用程序创建 AZF 域”
- AuthZForce 安全级别 2:基本授权错误“未为应用程序创建 AZF 域”
- https://www.slideshare.net/daltoncezane/integrating-fiware-orion-keyrock-and-wilma
- “未为应用程序创建 AZF 域” AuthZforce
- Fiware AuthZForce 错误:“未为应用程序创建 AZF 域”
- 适用于固件的组件
- https://www.slideshare.net/FI-WARE/adding-identity-management-and-access-control-to-your-app-70523086
- 官方文档不可用,因为指的是(可能)旧的 Python 版本的 IdM
在下面,您可以找到重现我的场景的说明:
使用 Docker 容器安装 Orion
- 在您的系统上创建一个工作目录(例如,
/home/fiware-orion-docker
)。 - 在您的目录中创建一个名为的新文件
docker-compose.yml
,其中包含以下内容:
- 注意:没有 DNS,它永远不会发送通知!!!
注意 2(来源):来自 docker 容器的连接被路由到(iptables)FORWARD 链中,这需要配置为允许通过它进行连接。默认是 DROP 连接。因此,如果您使用防火墙,则必须对其进行更改:
sudo nano /etc/default/ufw
- 将 DEFAULTFORWARDPOLICY 设置为“接受”。
DEFAULT_FORWARD_POLICY="ACCEPT"
- 保存文件。
- 重新加载ufw
sudo ufw reload
- 在您创建的目录中,在命令行中键入以下命令:
sudo docker-compose up -d
. - 几秒钟后,您应该让 Context Broker 运行并在 port 上侦听
1026
。 - 检查一切是否正常
curl localhost:1026/version
- 在您的系统上创建一个工作目录(例如,
安装 FIWARE IdM Keyrock(用于通过 Orion Context Broker 进行身份验证):
https ://github.com/ging/fiware-idm- 警告 -1:(如果下一个命令不起作用
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable"
:) - 警告 0:如果你有防火墙:禁用它,否则 docker-compose 将不起作用
- sudo apt-get install docker-compose
- mkdir fiware-idm
- cd fiware-idm
- 创建 docker-compose.yml
nano docker-compose.yml
sudo docker-compose up -d
(这将自动下载两个图像并运行 IdM Keyrock 服务。(-d 用于在后台运行它))。- 现在您应该可以通过网站http://localhost:3000访问身份管理工具了
- 用户名:
admin@test.com
- 密码:
1234
- 用户名:
- 注册新用户并通过界面启用
- 然后使用 GUI 执行以下操作:
- 创建一个“组织”(例如,ORGANIZ1)
- 创建一个“应用程序”
- 步骤1: /li>
- 第 2 步:留空
- 第三步:选择“提供者”
- 第4步:
- 点击“OAuth2 Credentials”并记下“Client ID”(94480bc9-43e8-4c15-ad45-0bb227e42e63)和“Client Secret”(4f6ye5y7-b90d-473a-3rr7-ea2f6dd43246)
- 单击“PEP 代理”,然后单击“注册新的 PEP 代理”
- 记下“应用程序 ID”(94480bc9-43e8-4c15-ad45-0bb227e42e63)、“Pep 代理用户名”(pep_proxy_dad356d2-dasa-4f95-a9hf-9ab06tccf929) 和“Pep 代理密码”(pep_proxy_a33667ec-57y1-498k-8 -ef77ue5f6234)
- 单击“授权”(用户)并授权所有现有用户具有两个角色(所有选项的购买者和提供者)
- 单击“授权”(组织)并授权具有这两个角色的所有现有组织(所有选项的购买者和提供者)
- 警告 -1:(如果下一个命令不起作用
安装 FIWARE Authzforce
sudo docker pull authzforce/server:latest
(在撰写本文时最新版本为 8.1.0)sudo docker run -d -p 8085:8080 --name authzforce_server authzforce/server
安装 FIWARE PEP 代理 Wilma(用于为 Orion 启用 https 和身份验证):
- git 克隆https://github.com/ging/fiware-pep-proxy.git
- cd fiware-pep-proxy
- cp config.js.template config.js
- 纳米配置.js
- 安装所有依赖项
npm install
- 运行代理
sudo node server
创建用户角色:重新连接到 IdM
http://localhost:3000
:- 单击您的应用程序
- 点击
Manage rules
页面顶部的 - 单击
+
角色附近的按钮- 名称:《审判》
- 节省
- 单击
+
权限附近的按钮- 权限名称:trial1
- 说明:试用1
- HTTP 操作:GET
- 资源:版本
- 节省
- 回到应用程序
- 点击“授权用户”附近的“授权”
- 将“试用”角色分配给您的用户
现在使用 PostMan 获取令牌:
- 连接到 localhost:3000/oauth2/token 并发送以下参数
- 身体:
- 用户名:
- 密码:
- 授予类型:密码
- 标题:
- 内容类型:application/x-www-form-urlencoded
- 授权:基本
- 记下获得的
access_token
- 连接到 localhost:3000/oauth2/token 并发送以下参数
尝试使用以下参数通过http://localhost:5056/version连接到 Orion:
- 标题:
- X-授权令牌:
- 标题:
您将获得以下响应:
AZF domain not created for application 91180bc9-43e8-4c14-ad45-0bb117e42e63
fiware-wilma - 使用哪些安全措施来保护 IoT Agent 和传感器设备之间的消息?
当我测试一个通过蓝牙控制门锁的安卓应用程序时,我在门锁控制器和安卓应用程序上都部署了 HMAC SHA256,以确保消息的完整性和身份验证。我也有门锁控制器来为每个连接生成随机访问令牌以避免替换攻击。
我想用 WiFi 替换蓝牙并用 FIWARE 测试应用程序。我发现在使用 IoT 代理配置设备时,我可能需要提供设备名称、ID 和密码。但是,我不确定可以采取哪些措施来确保消息的完整性和身份验证以及避免重放攻击。你能解释一下吗?谢谢。
fiware - 固件多租户
我们正在评估几个集成“智能能源系统”的平台。我们必须支持的一项重要要求是多租户。从文档中,我可以看到使用此选项启动 Orion Context Broker 的可能性。Orion 将确保基于fiware-service
请求头的数据分离。
这很好,但是如何在整个软件堆栈(PEP-Proxy、IoT-Agent)中“保护”这个标头?
哪个组件/设备设置了此标头?哪个组件确保具有特定fiware-service
标头值的请求被授权访问该租户的数据?
在我看来,这是 Wilma 作为 PEP-Proxy 的任务。到 Orion 的所有流量都通过 PEP-Proxy 路由,并且代理会检查此请求是否有效。不幸的是,我在源代码中找不到这样的检查,文档中也没有解释。
有人实施过这样的架构可以帮助我吗?
authentication - 如何使用 PEP 代理将用户对 FIWARE Orion 订阅通知的访问权限仅限于授权用户?
我已经将 IDM 与 Wilma PEP 一起用于对 Orion 的访问控制。现在我想为传出的通知实现相同的目标。
例子:
我有一个用户应用程序,例如显示设备。用户登录并使用 FIWARE IDM 进行身份验证以访问 Orion 实例。但是,用户 A 应该只允许访问设备 A 并且只获取此设备的通知。
在 Orion 中,我定义了一个订阅,它在任何设备更改时触发。现在外部系统正在更新设备 B。
我目前有一个通知端点(简单节点 js 应用程序),其中来自设备的通知通过 websocket 传递回应用程序。
有没有办法阻止向用户 A 发送通知?有没有办法可以使用 PEP 检查该通知并将其仅发送给允许的用户?
我正在考虑首先使用 websocket 传递从 IDM 接收到的身份验证令牌,以检查用户是否被授权。但是,我仍然不知道如何检查我应该向哪个用户发送通知。有没有办法可以将通知请求传递给 PEP 代理或任何其他解决方案?
fiware-orion - 同步性/FIWARE:IDM 通信错误
我们正在使用 docker-compose 部署 Synchronicity ( https://gitlab.com/synchronicity-iot/platform-deployment-docker/-/tree/master/manual ),并使用配置文件附带的所有默认值。现在我们面临 IdM Keyrock 和 PEP 代理 Wilma Plus(文件 compose-sec-pep.yml 中称为 pep-cb 的服务)之间的通信错误。我们在 Keyrock 中注册了一个新应用程序,以确保 Orion Context Broker 的安全,并使用客户端 ID 和客户端密钥(使用 base64 编码)我们得到一个用于授权 HEADER 的值:
我们注册的这个应用程序只是为了获得一个客户端 ID 和一个秘密 ID,以便让这个授权绕过 Wilma(在端口 7000 上运行)到 Orion 上下文代理(在端口 1026 上运行)。所以,现在我们有了一个 TOKEN(让我们将其命名为:X-Access-token),如果我们尝试这样做:
我们总是得到响应:IDM 通信错误。我们陷入了这个错误。您能否帮助我们或告诉我们我们做错了什么?
非常感谢。
问候,
fiware - 我必须为 Keyrock Idm 上的每个 pep 代理注册一个应用程序吗?
猜猜我们在 Docker 中部署了多个 Fiware Generic Enabler。
我想为每个服务使用一个 pep 代理来保护这些服务。
是否可以注册我的应用程序并使用 Idm Keyrock 提供的相同凭据部署多个 pep 代理。
或者我必须为每个微服务注册一个应用程序并使用自己的凭据创建一个不同的 pep 代理?