我有一个关于PEP代理文件的问题。我的keystone服务运行在192.168.4.33:5000。我的地平线服务在192.168.4.33:443运行。
我的WebHDFS服务在192.168.4.180:50070上运行,我打算在192.168.4.180:80上运行PEP代理。
但我不明白的是,我应该用什么代替config.account_host呢?在用于keyrock管理器的mysql数据库中,有带有"idm“密码的"idm”用户,我通过curl对标识管理器提出的每一个请求都是工作的。
但是有了这个配置:
config.account_host = 'https://192.168.4.33:443';
config.keystone_host = '192.168.4.33';
config.keystone_port = 5000;
config.app_host = '192.168.4.180';
config.app_port = '50070';
config.username = 'idm';
config.password = 'idm';当我开始使用pep代理时:
sudo node server.js我得到下一个错误:
Starting PEP proxy in port 80. Keystone authentication ...
Error in keystone communication {"error": {"message": "The request you
have made requires authentication.", "code": 401, "title":
"Unauthorized"}}发布于 2015-08-19 12:20:40
首先,我不会在您的config.account_host上键入端口,因为它不是必需的,但这不会干扰操作。
我猜您使用的是您自己的KeyRock身份管理器和默认的角色设置。
如果您检查代码,则PEP代理将按照域作用域请求中的KeyRock发送一个针对KeyRock的Keystone v3 API。
所以问题是,您所使用的用于验证PEP的idm用户可能没有任何域角色。检查它的解决办法是:
Domain Scoped请求:
curl -i \ -H“内容-类型: application/json”\ -d‘{ "auth":{“标识”:{“方法”:“密码”,“密码”:{“用户”:{“名称”:"idm",“域”:{ "id":“默认”}“密码”:"idm“} },”作用域“:{”域“:{ "id":”默认“}‘\ http://192.168.4.33:5000/v3/auth/tokens;回波如果您获得了401代码,则没有授权您发出Domain Scoped请求。
这将返回解决方案所需的X-Subject-Token。
idm向default域发送一个请求,以检查我们是否在那里分配了任何角色:
curl -i \ -H“X令牌:<检索的_令牌>”\ -H“内容-类型: application/json”\ http://192.168.4.33:5000/v3/domains/default/users/idm/roles很可能,这个请求会给你一个如下的答复:
{"links": {"self": "http://192.168.4.33:5000/v3/domains/default/users/idm/roles", "previous": null, "next": null}, "roles": []}
role放进default域中的用户idm。为此,您需要检索要分配的role id的role。您可以通过发送以下请求来做到这一点:
curl -i \ -H“X令牌:<检索的_令牌>”\ -H“内容-类型: application/json”\ http://192.168.4.33:5000/v3/roles它将返回一个带有所有可用roles及其ids的JSON。
role分配给default域中的用户idm。有6个可用的:会员,业主,试用,基本,社区和行政。由于idm是主要管理员,所以我会选择admin id。最后,对于admin id,我们通过执行以下操作来分配角色:
curl -s -X PUT \ -H“X令牌:<检索的_令牌>”\ -H“内容-类型: application/json”\ http://192.168.4.33:5000/v3/domains/default/users/idm/roles/现在您可以再次尝试步骤1,如果一切正常,您应该能够启动PEP代理:
sudo node server.js告诉我是怎么回事!
https://stackoverflow.com/questions/32092430
复制相似问题