자원을 그룹화하는 스코프 생성하기
자원을 그룹화하는 스코프 생성하기
스코프(scope)는 자원의 그룹화 단위예요. 스코프를 만들어 자원을 분할한 뒤, 그 자원의 소유권을 사용자와 그룹에게 할당하는 방식으로 사용해요. 스코프를 권한 경계(permission boundary)로 생각해도 되는데, 컨테이너처럼 모델링돼 있어요.
본문
Boundary에는 세 가지 유형의 스코프가 있고, 다음과 같은 계층 구조를 가져요:
- Global — 글로벌 스코프는 딱 하나만 있어요. 가장 바깥쪽 컨테이너이죠. 초기 관리와 설정을 글로벌 스코프에서 수행하고, 조직 스코프를 관리할 때도 글로벌 스코프를 사용해요.
- Org — 글로벌 스코프 아래에 조직 스코프를 여러 개 만들 수 있어요. 조직 스코프는 ID와 접근 관리 관련 자원, 그리고 프로젝트 스코프를 포함해요.
- Project — 조직 스코프 아래에 프로젝트 스코프를 여러 개 만들 수 있어요. 프로젝트 스코프는 인프라 관련 자원을 포함해요.
일부 자원은 특정 스코프 유형에만 연결할 수 있어요. 예를 들어 대상(target)은 프로젝트 스코프에서만 만들 수 있어요. 다른 자원들은 여러 스코프에 존재할 수 있죠. 사용자는 접근시키려는 자원에 따라 글로벌 스코프나 조직 스코프 어디에서든 만들 수 있어요.
Boundary 자원과 그 유효한 스코프 유형에 대한 구체적인 정보는 scopes 도메인 모델 문서를 참고하세요.
조직 스코프 생성(Create an org scope)
글로벌 스코프에 조직 스코프를 만들려면 다음 단계를 따르세요.
Admin UI로 생성:
- Boundary에 로그인해요.
- 탐색 메뉴에서 Orgs를 선택해요.
- New 또는 New Org를 클릭해요.
- (선택) 조직 스코프에 이름과 설명을 입력해요.
- Save를 클릭해요. Boundary가 새로운 조직 스코프를 글로벌 스코프에 만들어요.
CLI로 생성:
- Boundary에 로그인해요.
- 다음 명령으로 스코프를 만들어요. 이름과 설명은 선택적으로 제공할 수 있어요:
$ boundary scopes create \
-scope-id global \
-name <ORG_NAME> \
-description <ORG_DESCRIPTION>
Boundary가 새로운 조직 스코프를 글로벌 스코프에 만들어요.
Terraform으로 생성:
Terraform provider로 조직 스코프를 만들려면 다음 명령을 사용해요. 이름과 설명은 선택적으로 제공할 수 있어요.
Terraform provider는 기본적으로 스코프에 대한 관리 역할을 만들지 않아요. 스코프를 만든 사용자가 즉시 관리할 수 있게 하려면 auto_create_default_role과 auto_create_admin_role을 true로 설정해요:
resource "boundary_scope" "org" {
scope_id = "global"
name = "org-name"
description = "org-description"
auto_create_default_role = true
auto_create_admin_role = true
}
Boundary가 새로운 조직 스코프를 글로벌 스코프에 만들어요.
프로젝트 스코프 생성(Create a project scope)
조직 스코프 안에 프로젝트 스코프를 만들려면 다음 단계를 따르세요.
Admin UI로 생성:
- Boundary에 로그인해요.
- 탐색 메뉴에서 Orgs를 선택해요.
- 프로젝트 스코프를 추가하려는 조직을 선택해요.
- New 또는 New Project를 클릭해요.
- (선택) 프로젝트 스코프에 이름과 설명을 입력해요.
- Save를 클릭해요. Boundary가 지정한 조직 스코프 안에 새로운 프로젝트 스코프를 만들어요.
CLI로 생성:
- Boundary에 로그인해요.
- 다음 명령으로 스코프를 만들어요. 프로젝트 스코프를 만들 조직 스코프의
scope-id를 반드시 제공해야 해요. 이름과 설명은 선택적으로 제공할 수 있어요:
$ boundary scopes create \
-scope-id <ORG_SCOPE_ID> \
-name <PROJECT_NAME> \
-description <PROJECT_DESCRIPTION>
Boundary가 지정한 조직 스코프 안에 새로운 프로젝트 스코프를 만들어요.
Terraform으로 생성:
Terraform provider로 프로젝트 스코프를 만들려면 다음 명령을 사용해요. 프로젝트 스코프를 만들 조직 스코프의 scope_id를 반드시 제공해야 해요. 이름과 설명은 선택적으로 제공할 수 있어요.
Terraform provider는 기본적으로 스코프에 대한 관리 역할을 만들지 않아요. 스코프를 만든 사용자가 즉시 관리할 수 있게 하려면 auto_create_default_role과 auto_create_admin_role을 true로 설정해요:
resource "boundary_scope" "project" {
name = "project-name"
description = "project-description"
# scope_id is taken from the parent org resource
scope_id = boundary_scope.org.id
auto_create_default_role = true
auto_create_admin_role = true
}
Boundary가 지정한 조직 스코프 안에 새로운 프로젝트 스코프를 만들어요.
더 알아보기 (Learn more)
- 스코프를 갱신하거나 삭제하려면 스코프 관리하기(Manage scopes) 문서를 참고해요.
- Boundary의 권한 모델을 더 잘 이해하려면 Boundary의 권한(Permissions in Boundary) 문서를 참고해요.
- scopes 자원에 대한 더 구체적인 정보는 Scopes 도메인 모델 주제를 참고해요.
- 스코프를 만들거나 관리하는 방법은 CLI
scopes주제나 API Scope 서비스 주제를 참고해요. - 자원을 담을 스코프를 만든 뒤에는 역할로 접근 관리(Manage access with roles)를 진행하면 돼요.
- 자원에 대한 접근을 동적으로 관리하려면 주체 관리와 관리 그룹 필터 문서를 참고해요.