所以首先:在UAA推出之前,Cloud Controll呃(簡稱CC)是單獨進行身份驗證,將用戶存儲在psql數據庫中的。
不是以後他們想通了,CC應專注於應用/ Servcice管理和委託認證 /授權/ usermanagement到一個新的組件,它們命名爲:用戶帳戶和身份驗證(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還能夠身份管理即能夠存儲用戶和他們的passord的。他們正在實施SCIM標準(跨域身份管理系統)。現在
echo 'select * from users;' | sudo psql -U root uaa
其實我VCAP所有用戶都將通過cloud_controller的Postgres的數據庫進行存儲,無論cloud_controller.yml設置:默認情況下,它的使用的Postgres來存儲用戶。但要注意的是,CC - UAA連接重整容下,你可以在過去幾天的Git修訂看到:
在過去的幾天我從git的幾次拉最新的代碼,有時新用戶都進入CC的分貝,有時他們得的UAA的分貝。它也有時取決於vmc版本...
從你描述我猜你的用戶在CC的分貝。你可以自己檢查一下。 你可以列出cloud_controllers Postgres的用戶數據庫爲:
echo 'select * from users;' | sudo -u postgres psql cloud_controller
注意活躍列。如果啓用UAA,則兩個數據庫都存儲用戶,但其活動= true,UAAdb中active = false,CCdb
因此,最安全的方法是禁用CC的UAA代表團,如第77行所示。cloudfoundry /.deployments/devbox/config/cloud_controller.yml
uaa:
enabled: false
更改任何的ConfigurationFile後,必須重新啓動在這種情況下,CC受影響的組件:當我使用VMC版本
~/cloudfoundry/vcap/dev_setup/bin/vcap_dev restart cloud_controller
實際上,現在所有用戶都將存儲在cloud_controller的postgres數據庫中,而不管cloud_controller.yml設置如何。 – lalyos