OpenStack Class2014.07.21 23:31

안녕하세요~!! 


오늘은 지난 시간에 이어 오픈스택의 인증을 담당하고 있는 Keystone에 대해서 정리를 해 볼까 합니다. Keystone은 어떤 서비스를 설치하더라도 가장 먼저 설치가 되는 가장 중요한 서비스입니다. Keystone이 없으면 그 어떤 서비스도 사용할 수 없으니까요~!!



Keystone이 뭐지?


Keystone을 보면서 저는 이런 생각을 했습니다. Keystone은 집에 있는 현관문 키와 같은 기능을 하는 것이 아닐까?


- 오픈스택이라는 집이라고 상상해 보겠습니다

- 오픈스택이라는 집은 물리서버로 구성되어 있고 집 안에는 컴퓨트, 이미지, 네트워크, 스토리지와 같은 자원들이 있습니다,

- 이 자원을 쓰려면 오픈스택이라는 집에 들어가야만 사용할 수 있습니다

- 아무나 집에 들어가지 못하듯이 오픈스택이 제공하는 서비스도 아무나 사용할 수 없습니다

- 그렇기 때문에 자원을 사용하려면 인증을 받아야 합니다.

- Keystone은 사용자 인증을 통하여 물리 서버내의 자원을 사용할 수 있도록 관리합니다.



Keystone이 뭔지 이해가 가시나요? 위 그림처럼 Keystone은 오픈스택 내의 자원을 아무나 들어와서 쓰는것이 아니라 오픈스택 구성원만 들어와서 쓸수 있도록 열쇠 역할 및 게이트 역할을 하는 녀석입니다.



Logical Architecture로 보는 Keystone


그럼, 이번에는 논리(Logical) 아키턱쳐를 통해 Keystone이 무엇인지 한번 더 알아보도록 하겠습니다.

논리 아키텍처에서의 Keystone은 서비스 및 관리자 API, Token Backend, Catalog Backend, Policy Backend, Identity Backend로 구성이 됩니다.


- Token Backend는 사용자 별 Token을 관리합니다.

- Catalog Backend는 오픈스택의 모든 서비스의 End-point URL을 관리합니다.

- Policy Backend는 테넌트, 사용자 계정 및 롤 등을 관리합니다.

- Identity Backend를 통하여 사용자 인증을 관리합니다.


OpenStack에서 Keystone 위치


이번에는 오픈스태에서의 Keystone 위치를 한번 알아볼까요?

앞에서 봤던 그림에서 눈치를 채셨겠지만, Keystone의 위치는 아래와 같습니다.


오픈스택에서 Keystone은 모든 서비스를 관장하는 위치에 자리를 하고 있습니다. Keystone은 타인이나 해커로부터 시스템을 안전하게 보호하고, 사용자 등록 및 삭제, 권한 관리, 사용자가 접근할 수 있는 서비스 포인트 관리까지 사용자 인증에 대한 모든 관리를 Keystone이 수행하고 있습니다.





Tenant, User, Role


Keystone은 사용자 인증 부분과 서비스 인증 부분을 관리합니다. 사용자일 경우에는 사용자 그룹인 Tenant, 사용자 계정 정보인 User IDPW, 사용자 권한인 Role을 가집니다. 서비스일 경우에는 서비스를 등록하고 해당 서비스의 Endpoint URL을 등록합니다그럼, 아래 그림을 보면서 다시 한번 더 정리해 보도록 하겠습니다.


- Tenant에는 User가 포함됩니다.

- UserRole을 가지고 있습니다.

- Token을 발행할 때는 TenantUser 정보가 필요합니다.

- 서비스가 있고, 각각의 서비스는 Endpoint URL을 가집니다.

- UserEndpoint URL을 통해 서비스에 접근합니다.




Keystone이 더 궁금하다면~~


Keystone이 더 궁금하다면 아래사이트에서 좀 더 자세한 정보들을 더 확인하실 수 있습니다.

  • 소스코드 다운로드: https://github.com/openstack/keystone
  • 개발자 문서: http://docs.openstack.org/developer/keystone
  • 런치패드: https://launchpad.net/keystone
  • 위키 사이트: https://wiki.openstack.org/wiki/Keystone


이렇게 해서 오늘은 Keystone에 대해 정리를 한번 해 보았는데요~!! 어떻게 Keystone에 대해 이해가 좀 가시나요? Keystone은 없어서는 안되는 정말 중요한 서비스 중 하나라는것! 오픈스택을 지켜주고, 사용자의 권한을 관리해 주고, 오픈스택 서비스를 사용할 수 있도록 해 준다는 사실~~~ 잊지 마세요!!!


다음 시간에는 네트워크 서비스인 Neutron에 대해서 이야기를 해 보도록 하겠습니다. 

오늘도 좋은 밤 되시고, 모두들 열공하세요~~~~ ^^

Posted by 나리 짱!!! naleejang