자원을 그룹화하는 스코프 생성하기

자원을 그룹화하는 스코프 생성하기

스코프(scope)는 자원의 그룹화 단위예요. 스코프를 만들어 자원을 분할한 뒤, 그 자원의 소유권을 사용자와 그룹에게 할당하는 방식으로 사용해요. 스코프를 권한 경계(permission boundary)로 생각해도 되는데, 컨테이너처럼 모델링돼 있어요.

출처: HashiCorp Boundary docs

본문

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)