728x90

Ⅲ. OpenStack Services

1.     Keystone

OpenStack Identity service로 인증, 승인, 그리고 서비스에 대한 카탈로그 관리를 위한 단일 통합 지점을 제공한다.

Identity 서비스는 일반적으로 사용자가 상호 작용하는 첫 번째 서비스이다. 한 번 인증이 이루어지면, 최종 사용자는 자신의 신원을 사용하여 다른 OpenStack 서비스에 액세스 할 수 있다. 마찬가지로, 다른 OpenStack 서비스는 Identity 서비스를 활용하여 사용자가 자신이 말하는 사람임을 확인하고 배포 내 다른 서비스의 위치를 확인한다.

이 섹션은 keystone 이라는 코드 이름을 가진 OpenStack Identity 서비스를 컨트롤러 노드에 설치하고 구성하는 방법을 설명한다. 확장성 목적을 위해 해당 구성에서는 요청을 다루기 위한 Fernet 토큰 및 Apache HTTP 서버를 배포한다.

1.1. Controller Node

1.1.1.      전제 조건

Identity 서비스를 설치 및 구성하기 전에, 데이터베이스를 생성해야한다.
데이터베이스 액세스 클라이언트를 사용하여 데이터베이스 서버에 root 사용자로 연결하고 비밀번호는 It1로 설정한다. keystone 데이터베이스를 생성하고 keystone 데이터베이스에 적합한 액세스를 부여한다.

1.1.2.      구성요소 설치 및 구성

패키지들을 설치하기 위해 다음 명령어를 실행한다.

/etc/keystone/keystone.conf 파일을 편집하여 다음 작업을 완료한다.

[database] 섹션에서, 데이터베이스 액세스를 구성한다.

[token] 섹션에는 Fernet 토큰 제공자를 구성한다.

Identity 서비스 데이터베이스를 넣어준다.

Fernet 키 저장소를 초기화하고 Identity 서비스를 부트스트래핑한다.

설정 파일에 직접 들어가지 않고도 파일 내용을 변경할 수 있다.

 

1.1.3.      Apache HTTP 서버 구성

/etc/httpd/conf/httpd.conf 파일을 편집하여 ServerName 옵션이 컨트롤러 노드를 가리키도록 구성한다.

/usr/share/keystone/wsgi-keystone.conf` 파일에 대한 링크를 생성한다.

1.1.4.      설치 마무리

Apache HTTP 서비스를 시작하고 시스템이 부팅될 때 시작하도록 구성한다.

관리 계정을 구성한다.

1.1.5.      도메인, 프로젝트, 사용자, 역할 생성

Identity 서비스는 각 OpenStack 서비스를 위한 인증 서비스를 제공하며 인증 서비스는 domains, projects, users, roles를 결합하여 사용한다.

환경에 추가하는 각 서비스에 대한 고유 사용자를 포함하는 서비스 프로젝트로 사용하며 service 프로젝트를 생성한다.

보통 (비관리) 작업은 관리 권한을 갖지 않은 프로젝트와 사용자를 사용하기 때문에 myproject 프로젝트와 사용자를 생성한다.

Myproject를 생성한다.

myuser 사용자를 생성한다.

myrole 역할을 생성한다.

myproject 프로젝트의 ‘myuser’사용자에게 ‘myrole’역할을 추가한다.

1.1.6.      검증 과정

다른 서비스를 설치하기 전에 Identity 서비스에 대한 동작을 검증한다.

보안상의 이유로, 임시 인증 토큰 방식을 비활성화한다.
/etc/keystone/keystone-paste.ini
파일을 편집하여 [pipeline:public_api], [pipeline:admin_api], [pipeline:api_v3] 섹션에서 admin_token_auth 을 제거한다.

임시 OS_URL OS_PASSWORD 환경변수를 unset한다.

admin 사용자로, 인증 토큰을 요청한다.

myuser 사용자로 토큰을 요청한다.

1.1.7.      스크립트 생성

admin myproject 의 프로젝트와 사용자에 대한 클라이언트 환경 스크립트를 생성한다.

admin-openrc 파일을 생성하고 수정한 다음 아래 내용을 추가한다.

demo-openrc 파일을 생성하고 수정한 다음 아래 내용을 추가한다.

 

728x90

+ Recent posts