App Hub has three Identity and Access Management (IAM) roles:
- App Hub Admin (
roles/apphub.admin
) - App Hub Editor (
roles/apphub.editor
) - App Hub Viewer (
roles/apphub.viewer
)
App Hub roles
The following table describes the three roles and their typical responsibilities.
Role |
Description |
Purpose |
---|---|---|
App Hub Admin |
Ability to attach service project(s) to the host project, create application, update application attributes, register services and workloads, update service and workload attributes, and delegate application control to App Hub Editor |
|
App Hub Editor |
Ability to create and update applications; register and unregister services and workloads; update attributes. |
|
App Hub Viewer |
Ability to view services, workloads and applications, and their attributes. |
|
App Hub Permissions
The following table describes App Hub permissions and the IAM roles that have these permissions.
Permissions |
Description |
AppHub Admin |
AppHub Editor |
AppHub Viewer |
---|---|---|---|---|
apphub.serviceProjectAttachments.create |
Add service project to the host project. This permission is checked on host project during new service project attachment. |
✔ |
||
apphub.serviceProjectAttachments.delete |
Delete service project attachment from host project |
✔ |
||
apphub.serviceProjectAttachments.list |
List service projects attachments added to host project |
✔ |
||
apphub.serviceProjectAttachments.get |
Get service project attachment to host project |
✔ |
||
apphub.serviceProjectAttachments.attach |
Attach project as a service project to host project. This permission is checked on a service project during new service project attachment. |
✔ |
||
apphub.serviceProjectAttachments.detach |
Detach a service project from any host project it is attached to. This permission is only checked on a service project and when detachment takes place from the service project side. |
✔ |
||
apphub.serviceProjectAttachments.lookup |
Get a host project to which a service project is attached. This permission is only checked on service projects when the |
✔ |
✔ |
✔ |
apphub.services.create |
Add services to applications. This permission is checked on the application when adding a service. |
✔ |
✔ |
|
apphub.services.delete |
Unregister services from applications |
✔ |
✔ |
|
apphub.services.update |
Update registered services details or metadata |
✔ |
✔ |
|
apphub.services.get |
Get details about a registered Service |
✔ |
✔ |
✔ |
apphub.services.list |
List registered services |
✔ |
✔ |
✔ |
apphub.discoveredservices.get |
Get details about a discovered Service |
✔ |
✔ |
✔ |
apphub.discoveredservices.list |
List discovered services |
✔ |
✔ |
✔ |
apphub.discoveredservices.register |
Add services to applications. This permission is checked on the host project when adding service to an application. |
✔ |
✔ |
|
apphub.workloads.create |
Add workloads to applications. This permission is checked on the application when adding a workload. |
✔ |
✔ |
|
apphub.workloads.delete |
Unregister workloads from applications |
✔ |
✔ |
|
apphub.workloads.update |
Update registered workloads details or metadata |
✔ |
✔ |
|
apphub.workloads.get |
Get details about a registered workload. |
✔ |
✔ |
✔ |
apphub.workloads.list |
List registered workloads. |
✔ |
✔ |
✔ |
apphub.discoveredworkloads.get |
Get details about a discovered Workload |
✔ |
✔ |
✔ |
apphub.discoveredworkloads.list |
List discovered workloads |
✔ |
✔ |
✔ |
apphub.discoveredworkloads.register |
Add workloads to applications. This permission is checked on the host project when adding workload to an application. |
✔ |
✔ |
|
apphub.applications.create |
Create application |
✔ |
✔ |
|
apphub.applications.delete |
Delete application |
✔ |
✔ |
|
apphub.applications.update |
Update applications details or metadata |
✔ |
✔ |
|
apphub.applications.get |
Get details about an application |
✔ |
✔ |
✔ |
apphub.applications.list |
List applications |
✔ |
✔ |
✔ |
apphub.applications.setIamPolicy |
Set IAM policies on application |
✔ |
||
apphub.applications.getIamPolicy |
Get IAM policies on application |
✔ |
||
resourcemanager.projects.get |
Get project |
✔ |
✔ |
✔ |
resourcemanager.projects.list |
List projects |
✔ |
✔ |
✔ |
apphub.operations.get |
Get long running operations |
✔ |
✔ |
✔ |
apphub.operations.list |
List long running operations |
✔ |
✔ |
✔ |
apphub.operations.delete |
Delete a long running operation |
✔ |
✔ |
|
apphub.operations.cancel |
Cancel a long running operation |
✔ |
✔ |
|
apphub.locations.get |
Get a location |
✔ |
✔ |
✔ |
apphub.locations.list |
List locations |
✔ |
✔ |
✔ |