이 페이지에서는 최소 권한 원칙을 준수하면서 Harbor-as-a-Service 레지스트리의 액세스 제어를 관리하는 방법을 설명합니다. Google Distributed Cloud (GDC) 에어 갭 조직 IAM 관리자는 Harbor-as-a-Service API를 사용할 수 있도록 인증 및 승인할 수 있는 사용자를 제어합니다. Harbor 인스턴스에서 API 및 액세스를 승인하려면 각 Harbor 프로젝트에서 Harbor의 기본 제공 역할 기반 액세스 제어를 사용합니다. 자세한 내용은 https://goharbor.io/docs/2.8.0/administration/managing-users/를 참고하세요.
Harbor-as-a-Service API의 액세스 구성
모든 GDC Harbor-as-a-Service API를 사용하려면 요청을 하는 주 구성원에게 API 리소스를 사용하는 데 필요한 권한이 있어야 합니다. 보안 주체에게 리소스에 대한 사전 정의된 역할을 부여하는 정책을 설정하여 보안 주체에게 권한을 부여합니다.
사전 정의된 Harbor-as-a-Service 역할
Harbor-as-a-Service는 관련 API 리소스에 대한 액세스 권한을 부여하고 다른 리소스에 승인되지 않은 액세스를 방지하는 사전 정의된 역할을 제공합니다.
Harbor 인스턴스 리소스를 관리하고 Harbor 프로젝트 리소스를 만들려면 다음 사전 정의된 역할을 사용하세요.
- Harbor 인스턴스 뷰어: Harbor 인스턴스를 보고 가져옵니다. 조직 IAM 관리자에게 Harbor 인스턴스 뷰어(
harbor-instance-viewer) 역할을 부여해 달라고 요청하세요. - Harbor 인스턴스 관리자: Harbor 인스턴스를 만들고 관리하며 Harbor 인스턴스에서 Harbor 프로젝트를 만듭니다. 조직 IAM 관리자에게 Harbor 인스턴스 관리자 (
harbor-instance-admin) 역할을 부여해 달라고 요청하세요. - Harbor 프로젝트 생성자: Harbor 인스턴스에서 Harbor 프로젝트를 만듭니다.
조직 IAM 관리자에게 Harbor 프로젝트 생성자(
harbor-project-creator) 역할을 부여해 달라고 요청하세요.
Harbor 인스턴스 내에서 API 및 액세스 구성
Harbor 인스턴스 내에서 각 Harbor 프로젝트의 Harbor 기본 제공 역할 기반 액세스 제어를 사용하여 Harbor 프로젝트에서 API를 사용하고 리소스에 액세스할 수 있는 사용자를 제어합니다. 자세한 내용은 https://goharbor.io/docs/2.8.0/administration/managing-users/를 참고하세요.
Harbor 프로젝트를 만드는 사용자에게는 Harbor 프로젝트의 ProjectAdmin 역할이 자동으로 할당됩니다. ProjectAdmin 사용자는 Harbor 프로젝트의 역할을 다른 사용자에게 할당할 수 있습니다. 사용 가능한 모든 역할은
https://goharbor.io/docs/2.8.0/administration/managing-users/user-permissions-by-role/을 참고하세요.
서비스 계정을 사용하여 MHS와 상호작용
서비스 계정을 사용하여 MHS와 상호작용할 수 있습니다. 프로젝트 서비스 계정을 사용하면 자동화를 GDC IAM 인증 흐름에 직접 통합하여 워크로드가 정적 사용자 인증 정보를 수동으로 관리하지 않고도 수명이 짧은 토큰을 자동으로 생성할 수 있습니다.
MHS의 인증을 자동화하도록 설정하고, ID를 활성화하고, 프로젝트 권한을 부여하려면 서비스 계정 관리의 단계를 따르세요.
이러한 설정 단계를 완료하면 서비스 계정 ID가 Harbor 인스턴스와 안전하게 상호작용하고 컨테이너 저장소를 관리할 수 있습니다.
다음 단계
프로젝트 서비스 계정의 명령줄 도구 및 액세스 제어를 구성한 후 키 순환 및 장기 서비스 계정 보안 관리를 위한 표준 관행을 검토하세요.