1.KeyStone特長
ユーザー管理とサービスカタログ:KEYSTONEは、2つの主要な機能を持っています
ユーザー管理を含む:認証および承認
つまりトークントークン、口座番号やパスワード、ディレクトリサービス、ポリシー:4つの認証モードがあります。
認定コア用語
ユーザー関連:
ユーザー:ユーザーがOpenStackのサービスを利用することができます
プロジェクト:(テナント)、テナントを横断する前に、リソース分離モード・コンポーネントサービスであります
役割:役割は、指定されたプロジェクトのユーザー・リソースにアクセスするための権限です
トークン:トークン、包括的な暗号化と認証情報
用途:指定されたプロジェクトのリソースへのアクセスにおけるユーザーの役割に与えられた役割。
サービスが関連をカタログ:
サービス:サービスOpenStackの各コンポーネントは、ユーザのアクセスを提供します
エンドポイント:ユーザー・アクセス・サービスは、URLリンクエントリであります
キーストーンの設定情報
プロフィール:/etc/keystone/keystone.conf
ログファイル:/var/log/keystone/keystone.log
2.KeyStone展開
OpenStackの中の成分のいずれかに実質的に従って、データベース構成、ソフトウェアのインストール、ソフトウェア構成、データ同期、HTTP構成六個の態様を操作する権限です。
- データベース設定
そして、データベース接続を作成します
mysql -u root -p root
CREATE DATABASE keystone;
复制代码
アクセス許可の構成
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; -- 将keystone用户密码设置为keystone 复制代码
- ソフトウェアのインストール
yum install -y openstack-keystone httpd mod_wsgi
- プロフィールの編集
vim /etc/keystone/keystone.conf
[DEFAULT]
#连接到消息队列
405 transport_url = rabbit://openstack:[email protected]:5672
[database]
#数据库配置连接控制节点的认证地址
661 connenction = mysql+pymysql://keystone:[email protected]/keystone
[token]
#配置token令牌的提供者,取消注释即可
2758 provider = fernet
复制代码
修正情報をチェック
[root@controller keystone]# grep -ni '^[a-Z]' /etc/keystone/keystone.conf
- 初期化情報
同期データベース情報
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
复制代码
OpenStackの管理情報管理者アカウントのAPIを生成します
adminユーザーと一般ユーザーの女王のバージョンは、ポート5000を使用して接続されており、管理ユーザーの以前のバージョンでは、ポート35357を使用します。ここでは、それ以外の場合は、コンポーネントのバックが展開することはできませんに直接つながる、注意する必要があります。
# keystone-manage bootstrap --bootstrap-password admin \
--bootstrap-admin-url http:// controller:5000/v3/ \
--bootstrap-internal-url http:// controller:5000/v3/ \
- bootstrap-public-url http:// controller:5000 /v3/ \
--bootstrap-region-id RegionOne
复制代码
- HTTPサービスの設定
プロフィールの編集
# vim /etc/httpd/conf/httpd.conf
ServerName 192.168.188.100:80
复制代码
接続ファイルを作成します。
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d
HTTPサービスの開始、およびブートを設定するには
systemctl enable httpd.service
systemctl start httpd.service
复制代码
- 権利プロファイル
ユーザー情報の設定
$ export OS_USERNAME=admin
$ export OS_PASSWORD=admin
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default $ export OS_AUTH_URL=http://controller:5000/v3 $ export OS_IDENTITY_API_VERSION=3 复制代码
プロジェクトを作成します。1.
フォーマット:openstack project create --domain default --description "描述" <项目名>
サービスプロジェクトを作成します。
openstack project create --domain default --description "Service Project" service
openstack project create --domain default --description "Demo Project" demo
复制代码
効果を確認してください
openstack project list
デモ・ユーザー、つまり平均的なユーザーを作成します。2.
フォーマット:openstack user create --domain default --password <密码> <用户名>
openstack user create --domain default --password demo demo
复制代码
役割の役割を作成します3。
フォーマット:openstack role create <role名>
openstack role create user
复制代码
デモへ4.リソースへのロールアクセスの役割で(つまり、「デモ・プロジェクト」)プロジェクトで指定したユーザを与える(すなわちユーザー)
フォーマット:openstack role add --project <项目名> --user <用户名> <角色组>
openstack role add --project demo --user demo user
复制代码
3.認定の効果
- テスト結果
キャンセル環境変数
unset OS_AUTH_URL OS_PASSWORD
ユーザー認証
フォーマット:
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name <项目> --os-username <用户> --os-password <密码> token issue
复制代码
管理者の検証を使用して
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin --os-password admin token issue
复制代码
デモを使用してユーザー認証
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name demo --os-username demo --os-password demo token issue
复制代码
- 自動的にユーザーの環境変数を設定する環境変数スクリプトを作成します。
管理者ユーザー変数のスクリプトを作成します。
#vim admin-openstack.sh
export OS_PROJECT_DOMIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_USERNAME=admin
export OS_PASSWORD=admin export OS_PROJECT_NAME=admin export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 复制代码
openstack token issue
复制代码
デモ・ユーザー変数のスクリプトを作成します。