접근 관리
접근 관리 (Access Management)
HCP의 접근 관리 기능을 설명해 드릴게요. HCP 리소스에 대한 접근을 안전하게 보호하기 위해 조직 수준, 프로젝트 수준, 또는 리소스 수준에서 역할과 권한을 설정할 수 있어요.
출처: 문서
본문
역할과 권한
HCP는 RBAC(역할 기반 접근 제어, role-based access control) 시스템을 사용해서 조직과 프로젝트의 멤버가 HCP에서 작업을 수행하고 리소스와 상호작용할 수 있게 해요. 일부 HCP 애플리케이션은 HCP Packer bucket 같은 특정 리소스에 역할을 할당할 수 있게 해요. 자세한 내용은 각 HCP 서비스 문서를 참고하세요.
역할 유형
HCP 역할은 조직 단위에서 두 수준으로 구성할 수 있어요.
- 기본 역할 (Basic roles) 은 조직의 모든 서비스에 대한 권한을 제어해요. 기본 역할은 HCP를 처음 설정하고 도입할 때 유용하지만, 프로덕션 워크로드를 추가할 때는 세밀한 역할로 교체해야 해요.
- 세밀한 역할 (Fine-grained roles) 은 하나 이상의 서비스에 대한 권한을 제어해요. HCP로 프로덕션 워크로드를 관리하고 프로덕션 네트워크와 상호작용할 때는 세밀한 역할을 사용하는 것을 권장해요.
상속 (Inheritance)
HCP 조직의 각 리소스에는 해당 리소스에 허용된 접근 수준을 설정하는 IAM 정책이 연결돼 있어요. 이 IAM 정책은 해당 리소스에 할당된 역할과 주체(principal)의 매핑을 제공하는 데이터 구조예요.
사용자는 다음 계층 구조에 따라 역할 권한을 상속해요.
- 조직에 할당된 역할.
- 프로젝트에 할당된 역할.
- 리소스에 할당된 역할.
권한은 리소스 계층을 통해 상속돼요. 그리고 할당된 리소스와 그 리소스의 모든 하위 항목에 적용돼요. 예를 들어 조직에서 뷰어 역할이 할당된 사용자는 조직 내 프로젝트에서도 뷰어 역할 권한을 가져요. 마찬가지로 프로젝트에서 contributor 역할이 할당된 사용자는 프로젝트 내 리소스에서도 contributor 역할 권한을 가져요.
한 사용자가 조직에서는 뷰어 역할을, 같은 조직의 프로젝트에서는 admin 역할을 가진다면, 그 특정 프로젝트 안에서는 뷰어와 admin 역할 권한을 합친 형태를 받게 돼요.
새 역할 할당 추가하기
HCP 플랫폼을 사용해 세밀한 수준(fine-grained level)으로 역할을 할당하려면 사용자는 다음 권한 중 하나를 가져야 해요.
- HCP 조직의 owner 역할
- HCP 조직의 admin 역할
- 조직 IAM 정책 관리자(Organization IAM policies administrator) 역할
새 역할을 할당하려면:
- 상단에서 드롭다운을 클릭해 조직 및 프로젝트 선택기를 열고 View all organizations을 선택해요.
- 조직 이름을 클릭해요.
- 조직 대시보드에서 Access Control (IAM) 을 클릭해요.
- Add new assignment를 클릭해요. 조직의 owner가 아니라면 이 옵션이 표시되지 않아요.
- 역할을 할당할 주체(principal)를 입력해요. 사용자 이메일, 서비스 주체(service principal), 또는 그룹이 될 수 있어요.
- 드롭다운 메뉴를 사용해 사용자의 역할 할당과 그 역할 할당에 연결된 서비스를 변경할 수 있어요. 모든 서비스에 대한 역할 할당을 설정하면 조직에서의 사용자 역할이 설정돼요.
조직 수준의 역할과 권한
다음 표는 조직 수준에서 사용할 수 있는 역할과 권한을 설명해요.
| HCP 조직 권한 | Owner | Admin | Contributor | Viewer | Browser | No role | | 사용자 추가 및 삭제 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 사용자 권한 관리 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | owner 추가 또는 제거 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | 사용자 보기 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 그룹 보기 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 서비스 주체 관리 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 그룹 관리 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 현재 청구(billing) 상태 보기 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | 프로젝트 생성 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | | 프로젝트 보기 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | | 프로젝트 리소스 보기 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | 조직 삭제 요청 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | SSO 구성 관리 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 청구 리소스 관리 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
다음 표들은 청구, SSO 관리 같은 요구 사항에 따라 권한을 이해할 수 있는 추가적인 방법을 제공해요.
Resource Manager / Billing / IAM / HCP Terraform
| HCP 조직 권한 | 조직 IAM 정책 관리자 | 프로젝트 생성자 | | 사용자 추가 및 삭제 | ❌ | ❌ | | 사용자 권한 관리 | ✅ | ❌ | | 사용자 보기 | ✅ | ✅ | | 그룹 보기 | ✅ | ✅ | | 서비스 주체 관리 | ❌ | ❌ | | 그룹 관리 | ❌ | ❌ | | 현재 청구 상태 보기 | ❌ | ❌ | | 프로젝트 생성 | ❌ | ✅ | | 프로젝트 보기 | ✅ | ❌ | | 프로젝트 리소스 보기 | ❌ | ❌ | | 조직 삭제 요청 | ❌ | ❌ | | SSO 및 SCIM 구성 관리 | ❌ | ❌ | | 청구 리소스 관리 | ❌ | ❌ |
| HCP 조직 권한 | 청구 관리자 (Billing administrator) | | 사용자 추가 및 삭제 | ❌ | | 사용자 권한 관리 | ❌ | | 사용자 보기 | ✅ | | 그룹 보기 | ✅ | | 서비스 주체 관리 | ❌ | | 그룹 관리 | ❌ | | 현재 청구 상태 보기 | ✅ | | 프로젝트 생성 | ❌ | | 프로젝트 보기 | ✅ | | 프로젝트 리소스 보기 | ❌ | | 조직 삭제 요청 | ❌ | | SSO 및 SCIM 구성 관리 | ❌ | | 청구 리소스 관리 | ✅ |
| HCP 조직 권한 | 그룹 관리자 | SSO 관리자 | | 사용자 추가 및 삭제 | ❌ | ❌ | | 사용자 권한 관리 | ❌ | ❌ | | 사용자 보기 | ✅ | ✅ | | 그룹 보기 | ✅ | ✅ | | 서비스 주체 관리 | ❌ | ❌ | | 그룹 관리 | ✅ | ❌ | | 현재 청구 상태 보기 | ❌ | ❌ | | 프로젝트 생성 | ❌ | ❌ | | 프로젝트 보기 | ❌ | ❌ | | 프로젝트 리소스 보기 | ❌ | ❌ | | 조직 삭제 요청 | ❌ | ❌ | | SSO 및 SCIM 구성 관리 | ❌ | ✅ | | 청구 리소스 관리 | ❌ | ❌ |
| HCP Terraform 조직 권한 | Admin | Contributor | Viewer | | Owner 수준 권한 | ✅ | ❌ | ❌ | | 모든 프로젝트 보기 | ✅ | ✅ | ✅ | | 모든 프로젝트 관리 | ✅ | ✅ | ❌ | | 모든 워크스페이스 보기 | ✅ | ✅ | ✅ | | 모든 워크스페이스 관리 | ✅ | ✅ | ❌ | | 조직 접근 관리 | ✅ | ❌ | ❌ | | 시크릿 그룹 포함 | ✅ | ❌ | ❌ | | 정책 관리 | ✅ | ❌ | ❌ | | 정책 오버라이드 관리 | ✅ | ❌ | ❌ | | run task 관리 | ✅ | ❌ | ❌ | | 버전 관리 설정 관리 | ✅ | ❌ | ❌ | | 에이전트 풀 관리 | ✅ | ❌ | ❌ | | 프라이빗 레지스트리 모듈 관리 | ✅ | ❌ | ❌ | | 프라이빗 레지스트리 프로바이더 관리 | ✅ | ❌ | ❌ | | 퍼블릭 레지스트리 모듈 관리 | ✅ | ❌ | ❌ | | 퍼블릭 레지스트리 프로바이더 관리 | ✅ | ❌ | ❌ | | 멤버가 API 토큰 관리 가능 | ✅ | ✅ | ❌ |
각 권한에 대한 자세한 내용은 HCP Terraform organization permissions 문서를 참고하세요.
사용자는 SSO 기본 역할 설정이나 IAM 설정을 통해 직접 할당된 역할 없이 조직의 일부가 될 수 있어요. 최소 권한 접근(least-privileged access)을 강제하기 위해, Admin이 사용자에게 조직 또는 프로젝트 역할을 할당할 때까지 새 사용자는 플랫폼 내에서 제한된 환경만 경험하게 돼요.
현재 역할 할당 보기
조직의 현재 역할 할당 목록을 보려면 다음 단계를 수행해요.
- 상단에서 드롭다운을 클릭해 조직 및 프로젝트 선택기를 열고 View all organizations을 선택해요.
- 조직 이름을 클릭해요.
- 조직 대시보드에서 Access Control (IAM) 을 클릭해요.
- Role assignments 페이지에 현재 할당된 역할이 나열되고, 현재 할당을 검색·필터링할 수 있는 인터페이스가 제공돼요.
프로젝트 수준의 역할과 권한
다음 표들은 프로젝트 수준으로 범위가 한정된 역할 권한을 설명해요.
All Services / Resource Manager / HCP Terraform
| HCP 프로젝트 권한 | Owner | Admin | Contributor | Viewer | Browser | | 프로젝트 보기 | ✅ | ✅ | ✅ | ✅ | ✅ | | 프로젝트 리소스 보기 | ✅ | ✅ | ✅ | ✅ | ❌ | | 프로젝트 권한 편집 | ✅ | ✅ | ❌ | ❌ | ❌ | | 프로젝트 삭제 | ✅ | ✅ | ❌ | ❌ | ❌ | | 프로젝트 리소스 생성 및 삭제 | ✅ | ✅ | ✅ | ❌ | ❌ | | 프로젝트 서비스 주체 관리 | ✅ | ✅ | ❌ | ❌ | ❌ |
| HCP 프로젝트 권한 | 프로젝트 IAM 정책 관리자 | | 프로젝트 보기 | ✅ | | 프로젝트 리소스 보기 | ❌ | | 프로젝트 권한 편집 | ✅ | | 프로젝트 삭제 | ❌ | | 프로젝트 리소스 생성 및 삭제 | ❌ | | 프로젝트 서비스 주체 관리 | ❌ | | 프로젝트의 그룹 역할 관리 | ✅ |
| HCP Terraform 권한 이름 | Admin 역할 | Contributor 역할 | Viewer | | 프로젝트 읽기 | ✅ | ✅ | ✅ | | 프로젝트 업데이트 | ✅ | ❌ | ❌ | | 프로젝트 삭제 | ✅ | ❌ | ❌ | | 워크스페이스 생성 | ✅ | ❌ | ❌ | | 워크스페이스 이동 | ✅ | ❌ | ❌ | | 워크스페이스 삭제 | ✅ | ❌ | ❌ | | 팀 관리 | ✅ | ❌ | ❌ | | runs 적용 | ✅ | ❌ | ❌ | | runs 계획 | ✅ | ❌ | ❌ | | runs 읽기 | ✅ | ❌ | ✅ | | 변수 읽기 및 쓰기 | ✅ | ❌ | ❌ | | 변수 읽기 | ✅ | ❌ | ✅ | | 변수 집합 관리 | ✅ | ❌ | ❌ | | 변수 집합 읽기 | ✅ | ❌ | ❌ | | 상태 읽기 및 쓰기 | ✅ | ❌ | ❌ | | 상태 읽기 | ✅ | ❌ | ✅ | | Sentinel mock 다운로드 | ✅ | ❌ | ❌ | | 워크스페이스 잠금/해제 | ✅ | ❌ | ❌ | | 워크스페이스 Run Task 관리 | ✅ | ❌ | ❌ |
각 권한에 대한 자세한 내용은 HCP Terraform project permissions 문서를 참고하세요.
Infragraph 역할
다음 표는 Infragraph에 대한 역할과 권한을 서비스 수준 및 조직 접근 범위로 설명해요.
Infragraph 서비스 역할 / 조직 역할
| 권한 | Connection Admin | Infragraph Admin | Infragraph Querier | | 연결 생성·편집·삭제 | ✅ | ✅ | ❌ | | 연결 보기 | ✅ | ✅ | ✅ | | 카탈로그에서 저장된 쿼리 생성·편집·삭제 | ❌ | ✅ | ✅ | | 모든 쿼리 보기·구축·실행 | ❌ | ✅ | ✅ | | Infragraph 역할 할당·편집 | ❌ | ✅ | ❌ | | 감사 로그 보기 | ❌ | ❌ | ❌ | | 노드 인벤토리 보기 | ❌ | ✅ | ✅ | | 동기화된 데이터 보기 | ✅ | ✅ | ✅ |
| 권한 | Organization Admin | Organization Contributor | Organization Viewer | Organization Browser | | 연결 생성·편집·삭제 | ✅ | ✅ | ❌ | ❌ | | 연결 보기 | ✅ | ✅ | ✅ | ❌ | | 카탈로그에서 저장된 쿼리 생성·편집·삭제 | ✅ | ❌ | ❌ | ❌ | | 모든 쿼리 보기·구축·실행 | ✅ | ✅ | ✅ | ❌ | | Infragraph 역할 할당·편집 | ✅ | ❌ | ❌ | ❌ | | 감사 로그 보기 | ❌ | ❌ | ❌ | ❌ | | 노드 인벤토리 보기 | ✅ | ✅ | ✅ | ❌ | | 동기화된 데이터 보기 | ✅ | ✅ | ✅ | ❌ |
프로젝트 역할 할당하기
사용자 권한의 범위를 좁히려면 프로젝트 수준에서 역할을 설정할 수 있어요. 사용자를 프로젝트에 추가하려면 먼저 그 사용자를 조직에 초대해야 해요.
- 대상 프로젝트를 선택해요.
- 사이드바에서 Access Control (IAM) 을 클릭해 프로젝트의 역할 할당 목록으로 이동해요.
- 사용자 이름을 선택해요.
- 프로젝트에서 사용자의 권한을 설정할 역할을 하나 이상 선택해요. 할당할 수 있는 역할에 대한 정보는 프로젝트 역할 표를 참고하세요.
- Save를 클릭해요.
역할 이름과 역할 ID
HCP Terraform 프로바이더나 퍼블릭 API를 사용해 HCP Access Management 시스템과 상호작용하려면 참조하는 역할 ID를 올바른 형식으로 지정해야 해요. 다음 표는 역할 이름과 역할 ID의 형식을 나열해요.
All Services / Resource Manager / Billing / IAM
| 역할 이름 | 역할 ID | | Owner | roles/owner | | Admin | roles/admin | | Contributor | roles/contributor | | Viewer | roles/viewer | | Browser | roles/resource-manager.browser |
| 역할 이름 | 역할 ID | | 프로젝트 IAM 정책 관리자 (Project IAM policies administrator) | roles/resource-manager.project-iam-policies-admin | | 조직 IAM 정책 관리자 (Organization IAM policies administrator) | roles/resource-manager.org-iam-policies-admin | | 프로젝트 생성자 (Project Creator) | roles/resource-manager.project-creator |
| 역할 이름 | 역할 ID | | 청구 관리자 (Billing Administrator) | roles/billing.billing-admin |
| 역할 이름 | 역할 ID | | 그룹 관리자 (Group Administrator) | roles/iam.group-admin | | SSO 관리자 (SSO Administrator) | roles/iam.sso-admin |
더 알아보기 (Learn more)
- 사용자 (Users) — 조직에 사용자를 추가하고 역할을 할당하는 방법을 확인해 보세요.
- 그룹 (Groups) — 그룹 단위로 권한을 관리하는 방법을 알아보세요.
- 서비스 주체 (Service Principal) — 머신 아이덴티티로 접근을 관리하는 방법을 살펴보세요.