??Openstack身份驗證服務提供一個單點集成的管理認證,授權(quán)和服務目錄,當用戶交互時身份驗證服務通常的是第一個服務, 一旦通過認證,同樣,其它openstack服務利用身份驗證服務確保用戶是誰并發(fā)現(xiàn)部署中其它服務的位置,身份識別服務同樣也可以使用外部的用戶管理系統(tǒng)(如LDAP).
?使用服務目錄,身份認證服務管理的用戶和服務可以定位其它的服務,顧名思義,服務目錄是OpenStack部署中可用服務的集合。每個服務可以有一個或多個端點,每個端點可以是三種類型之一: admin、internal或public。在生產(chǎn)環(huán)境中,由于安全原因,不同的端點類型可能位于暴露給不同類型用戶的不同網(wǎng)絡上。例如,public API網(wǎng)絡可以從Internet上看到,這樣客戶就可以管理他們的云。Admin API網(wǎng)絡可能僅限于管理云基礎(chǔ)設施的組織中的操作人員。Internal API網(wǎng)絡可能僅限于包含OpenStack服務的主機。
?同時為了實現(xiàn)可擴展性openstack同樣支持多區(qū)域,為簡單起見,本列中對所有端點類型和默認的RegionOne區(qū)域使用管理網(wǎng)絡。在標識服務中創(chuàng)建的區(qū)域、服務和端點組成了部署的服務目錄。部署中的每個OpenStack服務都需要一個服務入口和一個相應的的端點存儲在標識服務中。這都可以在安裝和配置身份認證服務之后完成。
?身份認證服務包含下列組件:

公司主營業(yè)務:成都做網(wǎng)站、成都網(wǎng)站設計、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出劍川免費做網(wǎng)站回饋大家。
$ mysql -u root -proot123MariaDB [(none)]> CREATE DATABASE keystone;MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone123';
# yum install openstack-keystone httpd mod_wsgi# vi /etc/keystone/keystone.conf
[database]
# ...
connection = mysql+pymysql://keystone:keystone123@dbs.flex.net/keystone
In the [token] section, configure the Fernet token provider:
[token]
# ...
provider = fernet# su -s /bin/sh -c "keystone-manage db_sync" keystone# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone# keystone-manage bootstrap --bootstrap-password admin123 \
--bootstrap-admin-url http://stack.flex.net:5000/v3/ \
--bootstrap-internal-url http://stack.flex.net:5000/v3/ \
--bootstrap-public-url http://stack.flex.net:5000/v3/ \
--bootstrap-region-id RegionOne ○ 在mysql中刪除endpoint配置,重新配置:
MariaDB [keystone]> select * from endpoint;
+-------------+--------------------+-----------+----------+--------------------------------+-------+---------+-----------+
| id | legacy_endpoint_id | interface |service_id| url | extra | enabled | region_id |
+-------------+--------------------+-----------+----------+--------------------------------+-------+---------+-----------+
| 0b6dd3a784… | NULL | internal | ad298… | http://192.168.137.5:35357/v3/ | {} | 1 | RegionOne |
| 4f7fdb8fc6… | NULL | public | ad298… | http://192.168.137.5:5000/v3/ | {} | 1 | RegionOne |
| 8451f154c7… | NULL | admin | ad298… | http://192.168.137.5:35357/v3/ | {} | 1 | RegionOne |
+-------------+--------------------+-----------+----------+--------------------------------+-------+---------+-----------+
3 rows in set (0.15 sec)
MariaDB [keystone]> delete from endpoint where url like '%137.5%'; #配錯的url或主機
Query OK, 3 rows affected (0.02 sec)
MariaDB [keystone]> commit;
○ 處理完成后,重新配置上面的步驟
ServerName controller1# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
# systemctl enable httpd.service
# systemctl start httpd.service配置管理帳號admin,可以將這個文件寫成一個腳本的方式,并source腳本
# cat admin-openrc
export OS_USERNAME=admin
export OS_PASSWORD=admin123
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://stack.flex.net:5000/v3
export OS_IDENTITY_API_VERSION=3
# source admin-openrc
身份驗證服務為每個OpenStack服務提供用戶的授權(quán)服務, 身份驗證服務使用域、項目、用戶和角色的組合,
#openstack domain create --description "An Example Domain" example
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | An Example Domain |
| enabled | True |
| id | f2a3ddcdc32c411ba5d9e480c25ce8b9 |
| name | example |
| tags | [] |
+-------------+----------------------------------+ ○ 先要禁用寫錯的域名
#openstack domain set --disable exampl
○ 然后刪除錯誤的域名
#openstack domain delete exampl # openstack project create --domain default --description "Service Project" service
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Service Project |
| domain_id | default |
| enabled | True |
| id | 3e33e6c8e1d14b7b9bbf64edcafb1023 |
| is_domain | False |
| name | service |
| parent_id | default |
| tags | [] |
+-------------+----------------------------------+常規(guī)(非管理員)的任務應該使用非特權(quán)的項目和用戶,這個列子中,我們建立一個myproject項目和myuser用戶
○ 建立項目名為myproject
#openstack project create --domain default --description "Demo Project" myproject
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Demo Project |
| domain_id | default |
| enabled | True |
| id | c9fc9f23c899402aa10eaabf0c71fff5 |
| is_domain | False |
| name | myproject |
| parent_id | default |
| tags | [] |
+-------------+----------------------------------+?
注意:不要重復此步驟在建立這項目的用戶時
○ 建立myuser用戶
#openstack user create --domain default --password-prompt myuser
User Password:myuser123
Repeat User Password:myuser123
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 81949d6833a04e61b79fe3a8a49cd5a5 |
| name | myuser |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
○ 建立一個myrole角色
#openstack role create myrole
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | None |
| domain_id | None |
| id | b49d96c43eaa43cfa9519614f0b84942 |
| name | myrole |
+-------------+----------------------------------+
○ 添加myrole角色到myproject項目和myuser用戶
# openstack role add --project myproject --user myuser myrole
注意:你可以重復上面的步驟建立更多的項目和用戶。
在安裝其它服務之前校驗身份驗證服務是否正常安裝,執(zhí)行下列命令在controller節(jié)點上。
$ unset OS_AUTH_URL OS_PASSWORD# openstack --os-auth-url http://stack.flex.net:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
Password: admin123
+------------+--------------------------------------------------------------+
| Field | Value | +------------+--------------------------------------------------------------+
| expires | 2019-08-22T05:32:10+0000 |
| id | gAAAAABdXhrKNMqos25-DjAmaD5yu1dy_-PPtmch7YOgObHg25d2V0pEO… …|
| project_id | 67139b2bd6c64e1c88136955dbef56a0 | | user_id | 681e9f941cb249e4a5058414057c7866 | +------------+--------------------------------------------------------------+# openstack --os-auth-url http://stack.flex.net:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
Password: myuser123
+------------+-------------------------------------------------------------+
| Field | Value |
+------------+-------------------------------------------------------------+
| expires | 2019-08-22T05:34:30+0000 |
| id | gAAAAABdXhtWYuSN8TlpDjFkNFtr_eElchimIc2YUHBWmImjX5ZpZm3……. |
| project_id | c9fc9f23c899402aa10eaabf0c71fff5 |
| user_id | 81949d6833a04e61b79fe3a8a49cd5a5 |
+------------+-------------------------------------------------------------+
建立腳本
為管理和演示項目以及用戶創(chuàng)建客戶機環(huán)境腳本。本指南的后續(xù)部分將引用這些腳本,以便為客戶機操作加載適當?shù)膽{據(jù)。
1. 建立和編輯文件admin-openrc添加如下內(nèi)容:
# cat admin-openrc
export OS_USERNAME=admin
export OS_PASSWORD=admin123
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://stack.flex.net:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
2. 建立和編輯文件demo-openrc添加如下內(nèi)容:
# cat demo-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=myuser123
export OS_AUTH_URL=http://stack.flex.net:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2要將客戶機作為特定的項目和用戶運行, 只需在運行它們之前加載相關(guān)的客戶機環(huán)境腳本。例如:
1. 加域admin-openrc文件構(gòu)建身份驗證服務,admin項目和用戶憑據(jù)的環(huán)境變量:
$ . admin-openrc
2. 請求授權(quán)的token:
$ openstack token issue
+------------+--------------------------------------------------------------------------------+
| Field | Value |
+------------+--------------------------------------------------------------------------------+
| expires | 2019-08-22T05:41:10+0000 |
| id | gAAAAABdXhzmr94abDAnVgAtAlHIOqK_1OTs2nckP98hTfWLCSdliXvE13OGERiAlPy2SbATpj-39… |
| project_id | 67139b2bd6c64e1c88136955dbef56a0 |
| user_id | 681e9f941cb249e4a5058414057c7866 |
+------------+--------------------------------------------------------------------------------+
網(wǎng)站欄目:OpenStackstein安裝(二)keystone
分享鏈接:http://www.chinadenli.net/article48/iigohp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、全網(wǎng)營銷推廣、網(wǎng)站策劃、品牌網(wǎng)站設計、商城網(wǎng)站、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)