CloudFoundry Manging Users 用户管理

本文介绍如何在CloudFoundry环境中使用UAA组件进行用户管理,包括安装配置UAACLI,生成admin权限的用户及调整权限范围,以及通过UAA创建普通用户的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. CloudFoundry中的用户管理是通过UAA组件进行管理的。
  2. 环境准备需要安装UAA CLI(UAA的管理控制台)
    gem install cf-uaac

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

    #生成一个 admin client token
    #uaac token client get admin -s [admin-client-secret]
    uaac token client get admin -s admin-secret
    uaac 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 delete
    uaac token client get admin -s admin-secret
    uaac 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密码:user01
    cf create-user [user-name]
  7. 修改密码,可以通过UAA修改密码,也可以通过cf控制台修改密码
    #uaac password set [user-email-address]
    uaac password set user01

    #cf 命令行方式修改
    cf target api.acp.local
    cf login user01
    cf 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 logout
    rm rf ~/.cf
    cf 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
    


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值