Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to manage access control in the Harbor-as-a-Service
registry while adhering to the principles of least privilege. Google Distributed Cloud (GDC) air-gapped Organization IAM Administrators control who can be
authenticated and authorized to use Harbor-as-a-Service APIs. For authorizing
APIs and access in a Harbor instance, use
Harbor's built-in role-based access control
in each Harbor project. For more information, see https://goharbor.io/docs/2.8.0/administration/managing-users/.
Configure access for Harbor-as-a-Service APIs
Every GDC Harbor-as-a-Service API requires that the principal making the
request has the required permissions to use the API resource. Permissions are
given to principals by setting policies that grant the principal a predefined
role on the resource.
Predefined Harbor-as-a-Service roles
Harbor-as-a-Service provides predefined roles that grant access to related API
resources and prevent unauthorized access to other resources.
Use the following predefined roles for managing the Harbor Instance resources
and creating Harbor Project resources:
Harbor Instance Viewer: views and gets the Harbor instance. Ask your
Organization IAM Admin to grant you the Harbor Instance Viewer
(harbor-instance-viewer) role.
Harbor Instance Admin: creates and manages the Harbor instance, and
creates Harbor projects in the Harbor instance. Ask your Organization IAM
Admin to grant you the Harbor Instance Admin (harbor-instance-admin) role.
Harbor Project Creator: creates Harbor projects in the Harbor instance.
Ask your Organization IAM Admin to grant you the Harbor Project Creator
(harbor-project-creator) role.
Configure access for APIs and within a Harbor instance
Within a Harbor instance, use Harbor's built-in role-based access control in
each Harbor project to control who is authorized to use the APIs and access
resources in the Harbor project. For more information, see
https://goharbor.io/docs/2.8.0/administration/managing-users/.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eGDC Organization IAM Administrators manage access to Harbor-as-a-Service APIs, controlling who can be authenticated and authorized.\u003c/p\u003e\n"],["\u003cp\u003eHarbor-as-a-Service uses predefined roles like Harbor Instance Viewer, Harbor Instance Admin, and Harbor Project Creator to manage access to API resources.\u003c/p\u003e\n"],["\u003cp\u003eWithin a Harbor instance, access is managed using Harbor's built-in role-based access control within each project.\u003c/p\u003e\n"],["\u003cp\u003eThe creator of a Harbor project is automatically assigned the \u003ccode\u003eProjectAdmin\u003c/code\u003e role, which allows them to manage other users' roles.\u003c/p\u003e\n"]]],[],null,["# Configure access control\n\nThis page describes how to manage access control in the Harbor-as-a-Service\nregistry while adhering to the principles of least privilege. Google Distributed Cloud (GDC) air-gapped Organization IAM Administrators control who can be\nauthenticated and authorized to use Harbor-as-a-Service APIs. For authorizing\nAPIs and access in a Harbor instance, use\nHarbor's built-in role-based access control\nin each Harbor project. For more information, see \u003chttps://goharbor.io/docs/2.8.0/administration/managing-users/\u003e.\n\nConfigure access for Harbor-as-a-Service APIs\n---------------------------------------------\n\nEvery GDC Harbor-as-a-Service API requires that the principal making the\nrequest has the required permissions to use the API resource. Permissions are\ngiven to principals by setting policies that grant the principal a predefined\nrole on the resource.\n\n### Predefined Harbor-as-a-Service roles\n\nHarbor-as-a-Service provides predefined roles that grant access to related API\nresources and prevent unauthorized access to other resources.\n\nUse the following predefined roles for managing the Harbor Instance resources\nand creating Harbor Project resources:\n\n- Harbor Instance Viewer: views and gets the Harbor instance. Ask your Organization IAM Admin to grant you the Harbor Instance Viewer (`harbor-instance-viewer`) role.\n- Harbor Instance Admin: creates and manages the Harbor instance, and creates Harbor projects in the Harbor instance. Ask your Organization IAM Admin to grant you the Harbor Instance Admin (`harbor-instance-admin`) role.\n- Harbor Project Creator: creates Harbor projects in the Harbor instance. Ask your Organization IAM Admin to grant you the Harbor Project Creator (`harbor-project-creator`) role.\n\nConfigure access for APIs and within a Harbor instance\n------------------------------------------------------\n\nWithin a Harbor instance, use Harbor's built-in role-based access control in\neach Harbor project to control who is authorized to use the APIs and access\nresources in the Harbor project. For more information, see\n\u003chttps://goharbor.io/docs/2.8.0/administration/managing-users/\u003e.\n\nThe user that creates the Harbor project is automatically assigned the\n`ProjectAdmin` role for the Harbor project. The `ProjectAdmin` user can assign\nroles for the Harbor project to other users. For all of the available roles, see\n\u003chttps://goharbor.io/docs/2.8.0/administration/managing-users/user-permissions-by-role/\u003e."]]