このページでは、最小権限の原則を遵守しながら、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
)ロールを付与するよう依頼します。
API と Harbor インスタンス内のアクセスを構成する
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/ をご覧ください。