3

我花了一天的大部分时间尝试配置 Fiware PEP 代理 Wilma 以保护我在开发服务器上运行的 Orion 上下文代理。此处的文档:http: //forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/PEP_Proxy_- Wilma -_Installation_and_Administration_Guide不清楚。

这是我的设置:

  • 运行在 server1 端口 3000 上的 Fiware Keyrock 实例
  • 在服务器 1 上运行的 PEP 代理
  • 在 server2 端口 1026 上运行的 Orion 上下文代理

手册规定编辑 config.js 脚本。这是我更改的内容(Stackoverflow 阻止我输入 url,因此将 http .. 替换为 http :)


config.account_host = 'http..//localhost:3000';

config.keystone_host = 'http..//server1';
config.keystone_port = 3000;

config.app_host = 'server2';
config.app_port = '1026';

config.username = '***** username of the user in Keyrock *****';
config.password = '***** password of the user in Keyrock *****';

这是错误


~/fi-ware-pep-proxy$ node server.js express deprecated app.configure: Check app.get('env') in an if statement server.js:30:5 启动 PEP 代理。Keystone 身份验证... keystone 通信错误错误:getaddrinfo ENOTFOUND at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16)


我的 Orion 和 Keyrock 实例已启动并正在运行。我可以用 curl 或浏览器查询它们。

我真的不知道我应该在 config.js 中填写什么来进行设置。

4

4 回答 4

4

我希望这有帮助。我们正在使用 docker 和 docker-compose 部署一些通用启动器,包括 IdM、Wilma PEP 和 Orion 等。

这个名为 Fiware-devguide-APP 的环境实际上正在建设中,但是您可以测试环境(已经工作)并在这里检查我们的配置。

我们正在更新所有文档!

为此,我们在这里有图像。

需要 Docker 和 docker-compose。

如果您已经拥有它们,要启动 Devguide 中集成的所有应用程序,您只需克隆存储库:

git clone https://github.com/Bitergia/fiware-devguide-app.git

然后使用.ymlfiware-devguide-app/docker/compose 中的文件运行 docker-compose:

docker-compose -f docker-compose.yml up -d

所以你将拥有所有的容器!最后,将 devguide 容器(compose_devguide_1)的 ip 添加到您的/etc/hosts,您将能够浏览它:)

解释:

为此,我们已经进行了多种配置。我假设您对 IdM 和 Wilma PEP 感兴趣,所以我们做了以下工作:

  1. 我们从头开始安装 IdM GE,提供所需的用户、角色和权限。在这里您可以找到我们在test_data方法中添加的内容:

请注意,所有这些配置也可以使用Keystone REST API完成

此外,您还可以在这里找到Dockerfile ,即它是如何安装的。

  1. 我们已经安装了Authzforce用于角色管理,如指南中所述。您将需要它,因为 wilma-pep 将发送 PDP 请求以验证针对受保护资源的请求。

  2. 最后是 PEP 威尔玛。在这里您可以找到配置文件。

它是如何工作的?

诀窍就在这里。让我们假设环境 Authzforce(访问控制)、IdM、PEP Wilma、Orion(要保护的应用程序)和 devguide。当我们使用 docker-compose 时,所有这些步骤几乎是同时完成的!:)

  1. 在 authzforce 中,我们需要按照文档中的立场创建一个域,我们在这里进行。

  2. 脚本本身检索域 ID,并使用正确的路径解析这一config.js中 PEP Wilma 的文件。

  3. config.js很简单:

    • account_host并且keystone_host在同一个容器“idm”中。Docker-compose 通过为每个容器添加别名来处理这个/etc/hosts问题,这使得过程更加容易,我们不需要自己处理 IP。
    • app_host并且app_port是要保护的应用程序的 IP 和端口,在我们的例子中是“猎户座”!
    • config.usernameconfig.password。我们在之前解释的条款中创建了一个用户“pepproxy”,就在这里。(请注意,此用户必须已domain roles分配才能工作,如此所做)。
    • 以及azf配置,其中还包含“authzforce”主机以及如前所述解析路径的位置。
  4. 将 authzforce 配置添加到 IdM 和 PEP(即域)

  5. 按照此处的说明获取 Oauth2 令牌。

  6. 最后,有了这个令牌和一切运行,你可以打开compose_devguide_1. 根据您在 IdM 分配的角色,可以访问它具有不同的资源。例如,'user0@test.com' 可以访问所有资源,而另一个只能访问餐厅。

希望我足够清楚。

最好的!

于 2015-07-01T18:33:11.903 回答
0

我们正在本地机器上安装 Fiware 环境;我们假装有一个带有 Keyrock idm 实例的 orion 上下文代理。我们知道我们需要使用 Pep 代理来检查对 orion 上下文代理的请求的令牌。我们使用 Keyrock idm,所以我们想知道我们是否可以这样做。现在有什么方法可以在不安装其他任何东西的情况下使用它们,或者我们也应该安装 de keystone 代理?

这是我们找到的 keystone 代理:

https://github.com/ging/fi-ware-keystone-proxy

如果是这种情况;我们如何配置 pep 代理?我们必须将数据放在哪里才能连接到 Keyrock idm,我们应该在哪里指示 keystone 信息?

于 2015-04-27T07:24:42.823 回答
0

目前,来自 PEP 的请求并未直接发送到 IdM。他们使用符合 Openstack 的服务器(Keystone Proxy)。所以如果你想使用它,你还必须安装这个组件。无论如何,我们将在两周内改变这种行为。

希望这可以帮助

于 2015-04-16T09:59:24.973 回答
0

新版本已准备就绪。现在您只需要 Keyrock 和 PEP 代理。正如这里所解释的,验证直接转到 IdM。希望这可以帮助。

于 2015-06-15T10:10:50.177 回答