OpenStack Newton版本部署----認證服務(keystone)
OpenStackNewton版本部署----認證服務(keystone)
Openstack身份認證服務提供了一個整合管理身份認證、授權、服務目錄的point(Keystone元件基本就是圍繞著這個point來展開)。其他的Openstack服務會使用Identityservice的這個point來作為統一的API(這些API會被存放帶一個服務目錄中)。除此之外,Identityservice還能夠提供使用者的相關資訊,但這個資訊並不會被包含在Openstack中,這些使用者資訊會被預先整合到一個基礎架構中(例如LDAPservice或SQLDatabase這些能夠提供使用者集中管理服務的元件
Keystone認證服務中的概念
Token(令牌):用於限定User-Tenant對進行OpenStack API和資源訪問的字串表示。一個臨牌會持續一段時間有效,也可以隨時撤銷。
Credentials(憑證):用於確認使用者身份的資料,例如:Username/Password
Authentication(檢驗):是確定使用者身份的過程。
Service(服務):Openstack service,即Openstack中執行的元件服務。
Endpoint(端點):一個可以通過網路來訪問和定位某個Openstack service的地址,通常是一個URL。使用RESTful的設計思想,詳見
Keystone Client(Keystone CLI):Keystone的命令列工具,可以完成諸如建立使用者,角色,服務和端點等絕大多數的Leystone管理功能,是非常常用的CLI介面。
Prerequisites先決條件
1、建立keystone資料庫
(1)進入MySQL
$ mysql -u root -p
(2)建立資料庫keystone
mysql> CREATE DATABASE keystone;
(3)建立keystone資料庫使用者並授予適當的訪問許可權
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
(4) 退出
mysql> \q
2、安裝和配置元件
(1)安裝
# yum install openstack-keystone httpd mod_wsgi -y
(2)修改配置檔案
vim /etc/keystone/keystone.conf
[database]
...
connection=mysql+pymysql://keystone:[email protected]/keystone
用keystone資料庫密碼替代KEYSTONE_DBPASS。
[token]
...
provider=fernet
(3)填充資料庫
# su -s /bin/sh -c "keystone-manage db_sync" keystone
可以通過以下命令檢視資料庫是否填充成功
MariaDB[(none)]> usekeystone;
MariaDB[keystone]> showtables;
(4)初始Fernet密匙
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
(5)引導認證服務
# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:35357/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
用合適密碼替代ADMIN_PASS。
3、配置HTTP伺服器
(1) 指定伺服器主機名
vim /etc/httpd/conf/httpd.conf
ServerName controller
(2) 建立連結
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
(3) 啟動HTTP服務,並設定開機啟動
# systemctl enable httpd.service
# systemctl start httpd.service
(4) 配置管理員賬號的環境變數
$exportOS_USERNAME=admin
$exportOS_PASSWORD=ADMIN_PASS
$exportOS_PROJECT_NAME=admin
$exportOS_USER_DOMAIN_NAME=Default
$exportOS_PROJECT_DOMAIN_NAME=Default
$exportOS_AUTH_URL=http://controller:35357/v3
$exportOS_IDENTITY_API_VERSION=3
用2(5)中密碼替代ADMIN_PASS。
Openstack keystone認證服務安裝完成。
4、建立域、工程、使用者和角色
Identityservice為每一個Openstackservice都提供了身份認證的服務,而身份認證服務使用domains, projects (tenants), users, androles的組合來實現。
(1) 建立service工程
$ openstack project create --domain default \
--description "Service Project" service
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Service Project |
| domain_id | default |
| enabled | True |
| id | 24ac7f19cd944f4cba1d77469b2a73ed |
| is_domain | False |
| name | service |
| parent_id | default |
+-------------+----------------------------------+
(2) 常規(非管理員)任務應使用非特權專案和使用者。
建立demo工程:
$ openstack project create --domain default \
--description "Demo Project" demo
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Demo Project |
| domain_id | default |
| enabled | True |
| id | 231ad6e7ebba47d6a1e57e1cc07ae446 |
| is_domain | False |
| name | demo |
| parent_id | default |
+-------------+----------------------------------+
建立domo使用者:
$ openstack user create --domain default \
--password-prompt demo
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | aeda23aa78f44e859900e22c24817832 |
| name | demo |
| password_expires_at | None |
+---------------------+----------------------------------+
建立user角色:
$ openstack role create user
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | 997ce8d05fc143ac97d83fdfb5998552 |
| name | user |
+-----------+----------------------------------+
新增user角色到demo工程和使用者:
$ openstack role add --project demo --user demo user
5、驗證
(1)禁用臨時身份驗證令牌機制
vim/etc/keystone/keystone-paste.ini,刪去[pipeline:public_api], [pipeline:admin_api], 和[pipeline:api_v3] 節。
(2)取消設定臨時的OS_AUTH_URL和OS_PASSWORD環境變數
$unset OS_AUTH_URL OS_PASSWORD
(3)作為admin使用者,請求認證令牌
$ openstack --os-auth-url http://controller:35357/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
Password:
+------------+-----------------------------------------------------------------+
| Field | Value |
+------------+-----------------------------------------------------------------+
| expires | 2016-02-12T20:14:07.056119Z | id |gAAAAABWvi9bsh7vkiby5BpCCnc-JkbGhm9wH3fabS_cY7uabOubesi-Me6IGWWyQqNegDDZ5jw7grI26vvgy1J5nCVwZ_zFRqPiz_qhbq29mgbQLglbkq6FQvzBRQJcOzq3uwhzNxszJWmzGC7rJE_H0A_a3UFhqv8M4zMRYSbS2YF0MyFmp_U
| project_id | 343d245e850143a096806dfaefa9afdc
| user_id | ac3377633149401296f6c0d92d79dc16
+------------+-----------------------------------------------------------------+
6、寫指令碼
這些指令碼可以包含有常用的openstackclient選項,但是每一個指令碼只支援唯一的選項值。簡而言之,使用這些指令碼能夠讓我們不需要為每一條openstack client指令都新增這麼多的認證選項。
(1) vim~/admin-openrc,並新增如下內容:
exportOS_PROJECT_DOMAIN_NAME=Default
exportOS_USER_DOMAIN_NAME=Default
exportOS_PROJECT_NAME=admin
exportOS_USERNAME=admin
exportOS_PASSWORD=ADMIN_PASS
exportOS_AUTH_URL=http://controller:35357/v3
exportOS_IDENTITY_API_VERSION=3
exportOS_IMAGE_API_VERSION=2
(2) vim~/demo-openrc,並新增如下內容:
exportOS_PROJECT_DOMAIN_NAME=Default
exportOS_USER_DOMAIN_NAME=Default
exportOS_PROJECT_NAME=demo
exportOS_USERNAME=demo
exportOS_PASSWORD=DEMO_PASS
exportOS_AUTH_URL=http://controller:5000/v3
exportOS_IDENTITY_API_VERSION=3
exportOS_IMAGE_API_VERSION=2
(3)請求認證令牌
$ . admin-openrc
$ openstack token issue
+------------+-----------------------------------------------------------------+
| Field | Value |
+------------+-----------------------------------------------------------------+
| expires | 2016-02-12T20:44:35.659723Z |
| id | gAAAAABWvjYj-Zjfg8WXFaQnUd1DMYTBVrKw4h3fIagi5NoEmh21U72SrRv2trlJWFYhLi2_uPR31Igf6A8mH2Rw9kv_bxNo1jbLNPLGzW_u5FC7InFqx0yYtTwa1eeq2b0f6-18KZyQhs7F3teAta143kJEWuNEYET-y7u29y0be1_64KYkM7E |
| project_id | 343d245e850143a096806dfaefa9afdc |
| user_id | ac3377633149401296f6c0d92d79dc16 |
+------------+-----------------------------------------------------------------+
相關推薦
OpenStack Newton版本部署----認證服務(keystone)
OpenStackNewton版本部署----認證服務(keystone) Openstack身份認證服務提供了一個整合管理身份認證、授權、服務目錄的point(Keystone元件基
OpenStack Newton版本部署 ---- 環境配置
OpenStack Newton版本部署 ----環境配置 1、主機網路 (1)關閉防火牆 關閉系統防火牆: #systemctldisablememcached.service #systemctl stop memcached.service (2)主機名及對應ip 主機名
OpenStack部署應用第一篇:認證服務keystone安裝(轉)
注:OpenStack版本N版 1、網路時間協議(NTP) 注:一定要保證openstack所有節點的時間一致性,不然無法正常建立虛擬機器 1.1 控制節點 # yum install -y chrony ntpdate # 安裝軟體包 # vim /etc/chro
Openstack之路(二)認證服務Keystone
yum 依賴 配置環境變量 wap iad admin dom 校驗 server Keystone的概述 Keystone是Openstack的組件之一,用於為Openstack家族中的其它組件成員提供統一的認證服務,包括身份驗證,令牌的發放和校驗,服務列表,用戶權限的定
devstack安裝openstack newton版本
成功 mirrors format code 由於 基本上 temp gate roo 準備使用devstack安裝openstack N版,搞一套開發環境出來。一連整了4天,遇到各種問題,各種錯誤,一直到第4天下午4點多才算完成。 在這個過程中感覺到使用devstack
openstack Q版部署-----nova服務配置-計算節點(6)
strategy drive lis 可用性 baidu admin scheduler emca info 一、服務安裝 yum install openstack-nova-compute -y 編輯/etc/nova/nova.conf文件並設置如下內容 [DE
OpenStack Pike版本部署手冊
Openstack安裝部署文件(Pike)一、 環境準備本文的安裝部署都是在CentOS 7.4上完成,本文中的控制節點、儲存節點是雙網絡卡設定,網路節點和計算節點是三網絡卡設定。注意:yum源可以修
Centos7手動部署Openstack Mitaka版安裝配置--(三)安裝keystone認證服務
安裝keystone認證服務 1、建立keystone資料庫 #mysql -uroot -phncgo110 -e "CREATE DATABASE keystone;" 注意將hncgo110替換為自己的資料庫密碼 2、建立資料庫使用者及賦予許可
Openstack-M版部署一keystone認證服務
5.2用admin使用者,請求身份驗證令牌(輸入admin使用者的密碼)[[email protected] ~]# openstack --os-auth-url http://controller:35357/v3 \--os-project-domain-name default --os-
雲計算OpenStack:keystone身份認證服務(二)--技術流ken
pre 查看 keys sym com col 分享圖片 lis 查詢 Keystone介紹 keystone 是OpenStack的組件之一,用於為OpenStack家族中的其它組件成員提供統一的認證服務,包括身份驗證、令牌的發放和校驗、服務列表
saltstack 自動化部署openstack queens 版本
saltstack openstack前面寫了使用手動部署openstack的queens版本,但是太過繁瑣,還容易出錯,現在有時間寫了一個使用saltstack部署openstack queens版本。環境:saltmaster 192.168.147.166 saltstack version 2017
安裝OpenStack QUEENS版本二:keystone
ofo mod_wsgi emc lis scrip server har base issue 安裝Keystone,在控制節點上yum install openstack-keystone httpd mod_wsgi -y create a databasemysql
openstack Q版本自動化部署課程直播通知
images watermark alt mark 畫面 process ESS 聲音 技術 自昨天openstackQ版課程上線之後,有很多小夥伴在解答區域留言問能否搞一次openstackQ課程直播,解答大家在部署openstack中常見的問題,思前想後決定在九月份給大
OpenStack搭建企業私有雲 一:認證服務(持續更新...)
mod_wsgi 描述 put 裸機 編輯 pymysql example backup start 雲計算介紹 雲計算是一種模型,能夠提供無論在何時何地都可以便捷獲取所需資源的模型,這些資源可以是網絡資源、存儲資源、服務器資源,甚至是服務器或者應用軟件資源等。 雲計算模
OpenStack雙節點部署—M aodh(報警服務)
aodh安裝 一、資料庫配置 二、建立服務憑證和API端點 三、安裝並配置aodh服務 四、驗證ceilometer服務 一、資料庫配置 # mysql -uroot -p123456 MariaDB [(
OpenStack雙節點部署—M ceilometer(監測服務)
ceilometeran安裝 一、安裝、配置並使用mongodb 資料庫 二、建立服務憑證和API端點 三、安裝並配置監測服務 1.安裝並配置ceilometer 2.啟用影象服務表 3.啟用計算服務表
OpenStack雙節點部署—M Manila(共享檔案系統服務)
Manila安裝 一、資料庫配置 二、建立服務憑證和API端點 三、安裝並配置Heat 四、啟動服務並設定開機自啟 一、資料庫配置 Controller節點 # mysql -uroot
OpenStack雙節點部署—M Heat(編配服務)
Heat安裝 一、資料庫配置 二、建立服務憑證和API端點 三、安裝並配置Heat 四、驗證操作 一、資料庫配置 Controller節點 # mysql -uroot -p123456
OpenStack雙節點部署—M Swift(物件儲存服務)
Swift安裝 一、 環境配置 二、控制節點安裝並配置Swift 三、儲存節點安裝並配置Swift 四、建立並分發Ring 五、完成安裝 六、驗證swift操作 一、 環境配置 Co
OpenStack雙節點部署—M Cinder(塊儲存服務)
Cinder安裝 一、 資料庫配置 二、 建立服務憑證和API端點 三、 安裝並配置Cinder元件 四、安裝配置儲存節點 五、驗證Cinder服務 一、 資料庫配置 Controller節