예시 역할(Example roles)
예시 역할(Example roles)
Boundary의 권한 모델은 유연해서, 조직의 특정 요구에 맞춘 커스텀 역할과 권한을 만들 수 있어요. 이 문서는 흔한 Boundary 사용 사례와 관리 요구에 기반한 예시 역할을 제공해요. 아래 권한을 그대로 사용해 역할을 만들 수도 있고, 시작점으로 삼아 직접 수정해도 좋아요.
본문
관리 역할(Administrative roles)
관리 역할은 주어진 스코프의 모든 자원에 대한 전체 접근 권한을 가져요. 글로벌, 조직, 프로젝트 스코프별로 관리자를 구성할 수 있어요.
| 역할 | 설명 |
|---|---|
| Global Admin | Boundary의 모든 자원에 대한 전체 관리 접근 |
| Org Admin | 조직 스코프의 모든 자원에 대한 관리 접근 |
| Project Admin | 프로젝트 스코프의 모든 자원에 대한 관리 접근 |
Global Admin
Global Admin은 Boundary의 어떤 자원에든 어떤 작업이든 수행할 수 있는 무제한 접근 권한을 가져요. 배포의 모든 측면을 완전히 제어하는 최고 수준의 접근 권한이죠. Global Admin은 배포 전체의 조직 또는 프로젝트 스코프를 관리할 수 있어요.
사용 사례로는 이런 것들이 있어요:
- 조직 안의 프로젝트 관리
- 인증 방법 설정
- 조직 수준에서 사용자 관리
- 스토리지 버킷 구성
Global Admin에게는 글로벌 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 모든 자원 유형에 모든 작업 허용 | ids=*;type=*;actions=* |
Org Admin
Org Admin은 특정 조직을 관리하며, 그 조직 안의 인증 방법, 사용자 계정, 그룹 멤버십, 역할 할당을 완전히 제어해요. 조직 수준에서 가장 높은 관리 역할이죠. Org Admin은 조직 스코프와 그 아래 중첩된 모든 스코프를 관리해요.
사용 사례로는 이런 것들이 있어요:
- 조직 안의 프로젝트 관리
- 인증 방법 설정
- 조직 수준에서 사용자 관리
- 스토리지 버킷 구성
Org Admin에게는 관리자가 다루는 조직 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 인증 방법에 모든 작업 허용 | ids=*;type=auth-method;actions=* |
| 사용자에 모든 작업 허용 | ids=*;type=user;actions=* |
| 그룹에 모든 작업 허용 | ids=*;type=group;actions=* |
| 역할에 모든 작업 허용 | ids=*;type=role;actions=* |
Project Admin
Project Admin은 특정 프로젝트를 관리하며, 그 프로젝트 안의 호스트 카탈로그, 대상, 크레덴셜 스토어, 세션을 완전히 제어해요. 프로젝트 자원의 운영적인 측면을 다루는 역할이죠.
사용 사례로는 이런 것들이 있어요:
- 대상 인프라 구축
- 시스템 접근 구성
- 크레덴셜 접근 관리
- 프로젝트 수준 사용자 접근 관리
Project Admin에게는 관리자가 다루는 프로젝트 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 호스트 카탈로그에 모든 작업 허용 | ids=*;type=host-catalog;actions=* |
| 대상에 모든 작업 허용 | ids=*;type=target;actions=* |
| 크레덴셜 스토어에 모든 작업 허용 | ids=*;type=credential-store;actions=* |
| 세션에 모든 작업 허용 | ids=*;type=session;actions=* |
자원 관리 역할(Resource management roles)
자원 관리 역할은 세션, 대상, 크레덴셜 같은 특정 Boundary 자원을 관리할 수 있어요.
| 역할 | 설명 |
|---|---|
| Org Access | 조직 스코프에 작업을 수행하되, 조직이 포함한 자원에는 작업 불가 |
| Project Access | 프로젝트 스코프에 작업을 수행하되, 프로젝트가 포함한 자원에는 작업 불가 |
| Session Manager | 세션 조회 및 취소 |
| Target Manager | 대상 생성 및 관리 |
| Host Resource Manager | 호스트와 호스트 카탈로그 관리 |
| Credential Manager | 크레덴셜과 크레덴셜 스토어 관리 |
| User Manager | 사용자, 그룹, 계정 관리 |
| Auth Method Manager | 인증 방법과 관리 그룹 관리 |
Org Access
Org Access 사용자는 조직 스코프에 작업을 수행할 수 있는 관리 접근 권한을 갖지만, 조직이 포함한 자원에는 작업할 수 없어요.
사용 사례로는 이런 것들이 있어요:
- 스코프 정보 갱신
- 조직 스코프 안의 자원 나열
- 조직 스코프의 암호화 키 관리
Org Access 사용자에게는 조직 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 지정된 조직 스코프에 모든 작업 허용 | ids=<org-id>;type=scope;actions=* |
Project Access
Project Access 사용자는 프로젝트 스코프에 작업을 수행할 수 있는 관리 접근 권한을 갖지만, 프로젝트가 포함한 자원에는 작업할 수 없어요.
사용 사례로는 이런 것들이 있어요:
- 스코프 정보 갱신
- 프로젝트 스코프 안의 자원 나열
- 프로젝트 스코프의 암호화 키 관리
Project Access 사용자에게는 프로젝트 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 지정된 프로젝트 스코프에 모든 작업 허용 | ids=<project-id>;type=scope;actions=* |
Session Manager
Session Manager는 활성 세션을 검토하고 모니터링하며, 필요하면 종료할 수 있어요. 대상을 조회할 수는 있지만 수정할 수는 없죠. 주로 보안 감독과 컴플라이언스 모니터링에 초점을 맞춘 역할이에요.
사용 사례로는 이런 것들이 있어요:
- 헬프데스크 지원
- 활성 연결 모니터링
- 의심스러운 세션 종료
Session Manager에게는 조직 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 세션에 모든 작업 허용 | ids=*;type=session;actions=* |
| 대상 읽기 및 나열 | ids=*;type=target;actions=read,list |
Target Manager
Target Manager는 사용자가 연결할 수 있는 서비스인 대상을 만들고 관리해요. 어떤 호스트, 크레덴셜, 자원을 사용자에게 제공할지 구성하는 책임이 있죠. 흔히 DevOps 엔지니어나 시스템 관리자가 맡는 역할이에요.
사용 사례로는 이런 것들이 있어요:
- Boundary에 새 서비스 추가
- 대상 구성 갱신
Target Manager에게는 조직 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 대상에 모든 작업 허용 | ids=*;type=target;actions=* |
Host Resource Manager
Host Resource Manager는 호스트, 호스트 카탈로그, 호스트 셋을 포함한 인프라 카탈로그를 관리해요. 연결 가능한 시스템의 목록을 조직하고 유지하는 책임이 있죠. 흔히 인프라 팀 구성원이나 클라우드 관리자가 맡는 역할이에요.
사용 사례로는 이런 것들이 있어요:
- 서버 인벤토리 관리
- 호스트를 셋으로 조직
Host Resource Manager에게는 조직 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 호스트 카탈로그에 모든 작업 허용 | ids=*;type=host-catalog;actions=* |
| 호스트 셋에 모든 작업 허용 | ids=*;type=host-set;actions=* |
| 호스트에 모든 작업 허용 | ids=*;type=host;actions=* |
Credential Manager
Credential Manager는 사용자가 대상에 인증하는 데 필요한 크레덴셜 스토어, 라이브러리, 개별 크레덴셜을 관리해요. 안전한 크레덴셜 관리와 접근이 책임이죠. 흔히 보안 팀 구성원이 맡는 역할이에요.
사용 사례로는 이런 것들이 있어요:
- 크레덴셜 순환
- 시크릿 관리
- Boundary와 시크릿 스토어 연동
Credential Manager에게는 조직 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 크레덴셜에 모든 작업 허용 | ids=*;type=credential;actions=* |
| 크레덴셜 스토어에 모든 작업 허용 | ids=*;type=credential-store;actions=* |
| 크레덴셜 라이브러리에 모든 작업 허용 | ids=*;type=credential-library;actions=* |
User Manager
User Manager는 사용자 ID, 계정, 그룹 멤버십을 관리해요. 사용자 생명주기 관리와 기능별 그룹 구성이 책임이죠. 흔히 HR이나 IT 관리자가 맡는 역할이에요.
사용 사례로는 이런 것들이 있어요:
- 사용자 온보딩/오프보딩
- 접근 그룹 관리
- 계정 문제 해결
User Manager에게는 글로벌 또는 조직 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 사용자에 모든 작업 허용 | ids=*;type=user;actions=* |
| 그룹에 모든 작업 허용 | ids=*;type=group;actions=* |
| 계정에 모든 작업 허용 | ids=*;type=account;actions=* |
Auth Method Manager
Auth Method Manager는 인증 방법과 관리 그룹을 구성하고 관리해요. 사용자가 Boundary에 어떻게 인증하는지, 외부 ID 시스템이 어떻게 연동되는지 제어하는 역할이죠. 흔히 ID 팀 구성원이나 SSO 연동 관리자가 맡아요.
사용 사례로는 이런 것들이 있어요:
- SSO 연동
- LDAP/OIDC 구성
- 인증 문제 해결
Auth Method Manager에게는 글로벌 또는 조직 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 인증 방법에 모든 작업 허용 | ids=*;type=auth-method;actions=* |
| 관리 그룹에 모든 작업 허용 | ids=*;type=managed-group;actions=* |
감사 역할(Audit roles)
감사 역할은 Boundary 자원에 대한 정보를 조회할 수 있지만 수정할 수는 없어요.
| 역할 | 설명 |
|---|---|
| Session Auditor | 세션 녹화물 조회 |
| Resource Auditor | 자원 조회 가능, 수정 불가 |
Session Auditor
Session Auditor는 세션 정보와 녹화물을 검토하지만 세션을 취소할 수는 없어요. 과거 활동에 대한 감사, 컴플라이언스, 보안 검토에 초점을 맞추죠. 흔히 보안 감사자, 컴플라이언스 담당자, 사고 조사자, 접근 검토 팀 구성원이 맡아요.
사용 사례로는 이런 것들이 있어요:
- 세션 정보 검토
- 세션 녹화물 검토
Session Auditor에게는 글로벌 스코프에 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 세션 나열 및 읽기 | ids=*;type=session;actions=list,read |
| 세션 녹화물 나열, 읽기, 다운로드 | ids=*;type=session-recording;actions=list,read,download |
Resource Auditor
Resource Auditor는 모든 자원을 조회할 수 있지만 어떤 변경도 할 수 없어요. 가시성이 중요하지만 수정이 필요 없는 감사, 보고, 모니터링 작업을 담당하죠. 흔히 보안 엔지니어, 컴플라이언스 관찰자, 외부 감사자가 맡아요.
사용 사례로는 이런 것들이 있어요:
- 보안 문제 모니터링
- 교육(Training)
- 컴플라이언스 관찰
- 감사(Auditing)
Resource Auditor에게는 글로벌, 조직, 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 모든 자원 읽기 및 나열 | ids=*;type=*;actions=list,read |
최종 사용자 역할(End-user roles)
최종 사용자는 Boundary를 사용해 대상에 연결할 수 있지만, 자원을 수정하거나 관리할 수는 없어요.
| 역할 | 설명 |
|---|---|
| User | 대상에 연결 가능, 자원 수정/관리 불가 |
User
User는 세션을 만들어 대상에 연결할 수 있어요. 자신의 세션을 조회하고 취소할 수 있는 권한도 있죠. 보호된 자원에 접근하기 위한 기본적인 최종 사용자 역할이에요. 흔히 개발자, 데이터베이스 관리자, 서버 접근이 필요한 최종 사용자, 지원 스태프가 이 역할을 맡아요.
사용 사례로는 이런 것들이 있어요:
- 대상에 연결
- 세션 정보 조회
- 세션 취소
User에게는 조직 또는 프로젝트 스코프 수준에서 다음 권한을 할당할 것을 권장해요.
| 설명 | 권한(Grants) |
|---|---|
| 세션을 승인하고 대상 읽기/나열 | ids=*;type=target;actions=authorize-session,read,list |
| 사용자와 관련된 세션 읽기/취소 | ids=*;type=session;actions=read:self,cancel:self |
더 알아보기 (Learn more)
- Boundary의 권한 모델을 더 잘 이해하려면 Boundary의 권한(Permissions in Boundary) 문서를 참고해요.
- Boundary 주체에 할당할 수 있는 권한에 대해 더 알고 싶으면 할당 가능한 권한(Assignable permissions) 문서를 참고해요.
- grant 문자열과 예시 형식에 대해 더 알고 싶으면 권한 grant 형식(Permission grant formats) 문서를 참고해요.
- 권한을 관리하는 데 도움이 되는 치트 시트는 Resource tables 문서를 참고하세요.
- 역할을 만드는 데 도움이 되는 치트 시트는 예시 역할(Example roles) 문서를 참고하세요.
- 역할 생성, 주체와 권한 할당, grant scope 추가에 대한 자세한 내용은 역할로 접근 관리(Manage access with roles) 문서를 참고하세요.