如何配置Fiware PEP WILMA代理以在我自己的服务器上使用Keyrock和Orion实例

时间:2015-04-14 13:23:23

标签: fiware fiware-orion fiware-wilma

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

这是我的设置:

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

手册指出要编辑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   表示已弃用的app.configure:   检查if语句server.js中的app.get('env'):30:5启动PEP代理。 Keystone身份验证...梯形失真通信出错   错误:getaddrinfo ENOTFOUND       在errnoException(dns.js:37:11)       在Object.onanswer [as oncomplete](dns.js:124:16)


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

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

4 个答案:

答案 0 :(得分:3)

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

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

我们正在更新所有文档!

为此,我们有图片here

需要Docker和docker-compose。

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

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

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

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

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

说明:

我们已经完成了几个配置。我假设您对IdM和Wilma PEP感兴趣,所以这就是我们所做的:

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

  2. 注意所有这些规定也可以使用Keystone REST API

    完成

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

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

    2. 最后是PEP Wilma。 Here您可以找到配置文件。

    3. 它是如何工作的?

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

      1. 在authzforce中,我们需要在documentation中创建一个域,我们这样做here

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

      3. config.js很简单:

        • account_hostkeystone_host位于同一容器“idm”中。 Docker-compose通过向每个容器的/etc/hosts添加别名来处理这个问题,这使得该过程变得更加容易,我们不需要自己处理IP。
        • app_hostapp_port是要保护的应用的IP和端口,在我们的例子中是'orion'!
        • config.usernameconfig.password。我们在之前解释过的条款中创建了一个用户'pepproxy',正是here。 (注意,此用户必须分配domain roles才能正常工作,完成here)。
        • 还有azf配置,其中还包含'authzforce'主机以及解析路径的位置,如前所述。
      4. 将authzforce配置添加到IdM和PEP(即域)

      5. 获取Oauth2令牌,因为它解释了here

      6. 最后,使用此令牌并运行一切,您可以打开compose_devguide_1。根据您在IdM分配的角色,它可以使用不同的资源。例如,'user0@test.com'可以访问所有资源,同时另一个可以访问餐馆。

      7. 希望我足够清楚。

        最佳!

答案 1 :(得分:0)

目前,PEP的请求不会直接发送给IdM。他们使用Openstack兼容服务器(Keystone Proxy)。因此,如果您想使用它,您还必须安装此组件。我们将在两周内以任何方式改变这种行为。

希望这有帮助

答案 2 :(得分:0)

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

这是我们找到的keystone代理:

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

如果是这样的话;我们如何配置pep代理?我们在哪里必须将数据连接到Keyrock idm以及我们应该在哪里指示keystone信息?

答案 3 :(得分:0)

新版本准备就绪。现在你只需要Keyrock和PEP代理。正如所解释的here验证直接转到IdM。希望这会有所帮助。