我为我的vcap配置了ua, 我也成功地注册了一个新用户,
azureuser @ vcap:〜/ cloudfoundry / vcap / dev_setup / bin $ sudo vmc login
尝试登录[http://paas.azure4j.us]
电子邮件:test@meruvian.org
密码: * *
成功登录[http://paas.azure4j.us]
但是当我尝试“sudo vmc info”
时输出是:
VMware的云应用程序平台
支持访问http://support.cloudfoundry.com
目标:http://paas.azure4j.us(v0.999)
客户:v0.3.23
这是否意味着我无法登录?
Uaa有什么问题吗?
答案 0 :(得分:1)
我想我已解决了目前的问题
所以我在cloud_controller.yml上禁用了uaa配置
然后我可以使用我的用户名和密码再次登录
UAA:
已启用:true - >的 假 强>
url:http://chankillo.openpaas.or.id:8061/
resource_id:cloud_controller
token_secret:uaa_jwt_secret
client_secret:cloudcontrollersecret
token_creation_email_filter:[“”
但我仍然不知道这对我的vcap系统或安全性有什么影响,
但谢谢你的帮助:)
答案 1 :(得分:0)
您是否可以将应用程序部署到VCAP实例?如果使用--trace标志调用vmc info,输出是什么?
答案 2 :(得分:0)
首先:在引入UAA之前,Cloud Controller(简称CC)单独进行身份验证,将用户存储在psql db中。
稍后他们发现 CC应该专注于Application / Servcice管理和委托身份验证 / authorization / usermanagement到新组件,他们将其命名为:User Account and身份验证(UAA)服务器
UAA主要是oauth2提供商,这意味着向客户提供令牌。但是oauth术语中的客户端是像vmc / CC这样的应用程序,它代表用户(资源所有者用oauth术语)
echo 'select client_id, scope from oauth_client_details;' | sudo psql -U root uaa
client_id | scope
------------------+--------------------------------------------------------------------
admin | uaa.none
vmc | cloud_controller.read,cloud_controller.write,openid,password.write
cloud_controller | uaa.none
UAA还具有身份管理功能,即能够存储用户及其密码。他们正在实施SCIM标准(跨域身份管理系统)。默认情况下,它使用postgres来存储用户:
echo 'select * from users;' | sudo psql -U root uaa
实际上现在我的vcap上所有用户都将由cloud_controller的postgres DB存储,无论cloud_controller.yml设置如何。但要注意CC-UAA连接正在进行大量的改进,因为你可以在过去几天的git提交中看到它:
在过去的几天里,我多次从git中提取最新代码,有时新用户会进入CC的数据库,有时他们会进入UAA的数据库。它有时也依赖于vmc版本......
根据您的描述,我猜您的用户在CC的数据库中。你可以自己检查一下。 您可以将cloud_controllers postgres db中的用户列为:
echo 'select * from users;' | sudo -u postgres psql cloud_controller
请注意有效列。如果启用了UAA,则两个DB都存储用户,但在UAAdb中为active = true,在CCdb中为active = false
所以你最安全的选择就是禁用CC的UAA授权,如图77所示, cloudfoundry / .deployments / devbox / config / cloud_controller.yml
uaa:
enabled: false
更改任何配置文件后,您必须重新启动受影响的组件,在这种情况下CC:
~/cloudfoundry/vcap/dev_setup/bin/vcap_dev restart cloud_controller