
사용자 인증, 권한 부여, API 접근 제어 등을 관리하는 서비스
주요 기능
- 인증 토큰 발급 및 관리
- 역할 기반 접근 제어(RBAC) 구현
- 서비스 카탈로그 제공
연계
- 오픈스택의 모든 서비스에 대해 인증 및 권한 관리 기능 제공
- 모든 설정 파일은 원본을 백업 후 진행한다.
- 설정 파일은 주석이 많으므로, 주석을 제거 후 내용을 수정한다.
# 주석 제거 스크립트 작성
vi /nfs/sed.sh
sed -i '/^#/d;/^$/d' $1
chmod +x /nfs/sed.sh
mysql
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'openstack';
exit
apt install keystone
cd /etc/keystone/
# 원본 백업
cp keystone.conf keystone.conf.v0
# 주석 제거
/nfs/sed.sh keystone.conf
vi keystone.conf
[database]
connection = mysql+pymysql://keystone:openstack@con01/keystone
[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 openstack \
--bootstrap-admin-url http://con01:5000/v3/ \
--bootstrap-internal-url http://con01:5000/v3/ \
--bootstrap-public-url http://con01:5000/v3/ \
--bootstrap-region-id RegionOne
vi /etc/apache2/apache2.conf
ServerName con01
service apache2 restart
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://con01:5000/v3
export OS_IDENTITY_API_VERSION=3
env
openstack domain create --description "An Example Domain" example
openstack project create --domain default \
--description "Service Project" service
openstack project create --domain default \
--description "Demo Project" myproject
openstack user create --domain default \
--password-prompt myuser
User Password: openstack
Repeat User Password: openstack
openstack role create myrole
openstack role add --project myproject --user myuser myrole
unset OS_AUTH_URL OS_PASSWORD
openstack --os-auth-url http://con01:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
Password: openstack
openstack --os-auth-url http://con01:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
Password: openstack
vi /nfs/admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://con01:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
. admin-openrc