アクセス制御の構成

このページでは、最小権限の原則に準拠しながら、Managed Harbor Service レジストリのアクセス制御を管理する方法について説明します。Google Distributed Cloud(GDC)エアギャップ組織の IAM 管理者は、Managed Harbor Service API の使用を認証および承認できるユーザーを制御します。Harbor インスタンスで API とアクセスを承認するには、各 Harbor プロジェクトで Harbor の組み込みロールベースのアクセス制御を使用します。詳細については、https://goharbor.io/docs/2.8.0/administration/managing-users/ をご覧ください。

Managed Harbor Service API のアクセスを構成する

すべての GDC Managed Harbor Service API では、リクエストを行うプリンシパルに API リソースを使用するために必要な権限が付与されている必要があります。権限は、リソースに対する事前定義ロールをプリンシパルに付与するポリシーを設定することで、プリンシパルに付与されます。

Managed Harbor Service の事前定義ロール

Managed Harbor 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 インスタンスと安全にやり取りし、コンテナ リポジトリを管理できます。

次のステップ

コマンドライン ツールとプロジェクト サービス アカウントのアクセス制御を構成したら、鍵のローテーションと長期サービス アカウントのセキュリティ管理の標準的な方法を確認します。