配置Wilma Pep proxy 4.3 - Keyrock 4.3 本地实例 - IDAS

Configuration Wilma Pep proxy 4.3 - Keyrock 4.3 local instance - IDAS

我们已经通过本地环境 (Ubuntu 14.0.4 LTS) 中的自动化工具安装了一个 Keyrock 实例 (Horizon + Keystone)。我们已经关注了这个guide

Keystone host: ubuntuHost Keystone port: 5000

Horizon host: ubuntuHost Horizon port: 8000

我们已经在另一个本地环境(Centos 6.6)中安装了 Pep Proxy Wilma:

Pep Proxy Wilma host: centosHost Pep Proxy Wilma port: 80800

我们想要配置 Pep Proxy Wilma 来攻击安装在与 Pep Proxy Wilma 相同环境中的 IDAS 实例:

IDAS host: centosHost IDAS port: 8080

为了做到这一点,我们放置了以下 Pep Proxy Wilma 配置文件:

config.account_host = 'ubuntuHost:8000';

config.keystone_host = 'ubuntuHost'; config.keystone_port = 5000;

config.app_host = 'centosHost'; config.app_port = '8080';

config.username = 'idm'; config.password = 'idm';

// in seconds config.chache_time = 300;

当我们尝试 运行 pep 代理 wilma 服务器时,出现以下错误:

express deprecated app.configure: Check app.get('env') in an if statement server.js:35:5 Starting PEP proxy in port 80800. Keystone authentication ... Error in keystone communication {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

我们不知道这里发生了什么;如果这与 horizon 或 keystone 或两者有关

你能帮我们解决这个问题吗?

提前致谢, 拉法.

失败的原因可能有多种,但我认为最有可能是一个简单的问题,即 PEP 代理用户在 Keystone 中不存在或未获得正确授权。

在 PEP 代理的配置文件 (config.js) 中,您应该有如下两行:

config.username = 'pepProxy';
config.password = 'pepProxy';

必须在 Keystone 后端为 PEP 代理创建一个用户,就像 nova 或 glance 等 OpenStack 服务一样。

如果您使用过自动化工具,您可以轻松创建此用户并授权:

$ fab localhost keystone.console
>>> pep = keystone.users.create(name='pepProxy', password='pepProxy', domain='default')
>>> service_role = keystone.roles.find(name='service') # create it if not found
>>> keystone.roles.grant(role=role, user=pep, domain='default')

如果您觉得更舒服,也可以直接使用 curl 进行此操作。您可以在此处找到记录的 REST API Keystone Identity API v3

正如我所说,发生这种情况可能还有其他原因,如果此答案不能解决您的问题,请告诉我。