CloudFoundry Manging Users 用户管理

来源:互联网 发布:js bind方法详解 编辑:程序博客网 时间:2024/05/21 07:58
  1. CloudFoundry中的用户管理是通过UAA组件进行管理的。
  2. 环境准备需要安装UAA CLI(UAA的管理控制台)
    gem install cf-uaac

  3. 登陆到你的uaa并且获得一个admin client token
    uaac target uaa.acp.localuaac context #查看当前uaa target有没有上下文对象

    #生成一个 admin client token#uaac token client get admin -s [admin-client-secret]uaac token client get admin -s admin-secretuaac conteext #查看当前uaa target后没有上下文对象

  4. 通过上下文对象scope中的参数可以看到缺少scim.write权限,所以无法创建用户,那么需要更新admin权限重新生成一个token
    uaac client update admin --authorities "password.write clients.wirte clients.read scim.read uaa.admin clients.secret scim.write"uaac token deleteuaac token client get admin -s admin-secretuaac context


  5. 接下来就可以通过UAA来创建admin权限的用户并加入到指定用户组了
    uaac user add [admin-username] -p [admin-password] --emails [admin-user-email-address]uaac member add cloud_controller.admin [admin-username]

  6. 创建普通用户,可以用cf控制台完成也可以通过UAA,这里只介绍cf控制台
    #cf login [admin-user-email-address] 上面创建的admin管理员账号cf login user01 #此命令输入后要求提供user01密码:user01cf create-user [user-name]
  7. 修改密码,可以通过UAA修改密码,也可以通过cf控制台修改密码
    #uaac password set [user-email-address]uaac password set user01

    #cf 命令行方式修改cf target api.acp.localcf login user01cf passwd

  8. 新版本的CloudFoundry把login组件从uaa组件中剥离出来
  9. CloudFoundry中的uaa组件是用java+tomcat+postgresql实现的
  10. 通过bosh ssh登陆你部署好的uaa组件查看日志
    uaac signing key #用于返回public_key,且不需要提供密码#bosh ssh [job_name] [index] --public_key [key_file]bosh ssh uaa_z1 0 --public_key ~/public_key/uaa_p_key提示你输入密码:这里密码是前面设置的admin登陆成功后日志位置在/var/vcap/sys/log/uaa下
  11. 通过浏览器访问uaa组件
    https://uaa.acp.local
    登陆成功界面如下
  12. 如果出现如下错误的解决办法:
     Invalid authentication token. Try logging in again with 'cf login'. If problems continue, please contact your Cloud Operator. 
    第一种方法:cf logoutrm rf ~/.cfcf login若问题不能解决采用第二种方式第二种方法:uaac clients查看各个客户端的access_token_validity和refresh_token_validity两个参数是否设置过小若果过小则需要update修改参数值uaac client update admin --access_token_validity 2592000然后重新登录即可如果确定自己使用cf cli工具可以再yml文件中进行修改加入cf客户端配置,这样就不用每次去修改token保存时间了  cf    scope: cloud_controller.admin cloud_controller.read cloud_controller.write openid password.write scim.read scim.write    resource_ids: none    authorized_grant_types: implicit password refresh_token    access_token_validity: 2592000    refresh_token_validity: 2592000    authorities: uaa.none    autoapprove: true


0 0
原创粉丝点击