2015년 2월 21일 토요일

독립적으로 인스턴스를 관리할 수 있게 openstack 사용자 계정 생성하기

독립적으로 인스턴스를 관리할 수 있게 openstack 사용자 계정 생성하기

openstack을 구축했다면 관리자가 아닌 사용자 개념에서 인스턴스를 관리할 수 있도록 계정을 만들어줘야 합니다.
openstack을 매뉴얼대로 설치했다면 

# keystone role-list를 입력했을 때 _member_ 와 admin 두 역할이 출력됩니다.

admin은 흔히 알고 있는 관리자의 개념이고 _member_는 일반 사용자의 개념입니다.
관리 차원이 아닌 openstack을 이용하는 일반 사용자에게 계정을 생성해 주려면 admin이 아닌 _member_ 역할을 부여해야 합니다.

간단히 알고 가는 openstack 계정 상하관계



최상위 그룹은 role입니다. 어떤 role에 속하냐에 따라서 사용자의 계급이 정해지죠. 일반 사용자는 아무리 노력해도 관리자 권한을 얻지 못해요.

이제 사용자의 role이 정해지면 다음은 tenant별로 나뉘게 됩니다. 같은 tenant에 속한 사용자들은 가족이 되는거죠. 가족이 되면 보통 집안에 있는 모든 것을 공유하잖아요. 그래서 다른 사용자의 인스턴스를 관리할 수가 있게 됩니다. 

마지막으로 tenant에는 사용자 계정이 입주하게 됩니다. 일반 사용자는 자신의 계정을 통해 인스턴스를 생성하고 삭제하며 마음대로 자신의 방식대로 방을 꾸밀 수 가 있게 되는거지요.

인스턴스를 개별적으로 관리하기 위한 계정 생성 예

yankees라는 tenant에 입주할 사용자계정 jeter를 만듭니다.

# keystone user-create --name=jeter --pass=jeter_PASS --email=<이메일>
# keystone tenant-create --name=yankees --description="service"
# keystone user-role-add --user=jeter --role=_member_ --tenant=yankees

redsox라는 tenant에 입주할 사용자계정 ortiz를 만듭니다.

# keystone user-create --name=ortiz --pass=ortiz_PASS --email=<이메일>
# keystone tenant-create --name=redsox --description="service"
# keystone user-role-add --user=ortiz --role=_member_ --tenant=redsox

이렇게 계정을 만들면 _member_라는 같은 role을 가진 두 개의 각기 다른 tenant와 user를 만들 수 있습니다. 물론 tenant가 다르니 jeter와 ortiz는 서로 무슨 인스턴스를 가지고 있는지 모르게 됩니다. 하지만 admin role을 가진 관리자는 이 둘의 인스턴스를 모두 들여다 볼 수 있습니다. 

조금씩 틀린 내용이 있을 수 있으니 지적 환영합니다.

이상~!

댓글 없음:

댓글 쓰기