Ruoli e autorizzazioni

Google Cloud offre Identity and Access Management (IAM), che ti consente di concedere un accesso più granulare a determinate risorseGoogle Cloud e impedisce l'accesso indesiderato ad altre risorse. Questa pagina descrive i ruoli dell'API Service Directory. Per una descrizione dettagliata di IAM, leggi la documentazione di IAM.

IAM consente di adottare il principio del privilegio minimo, in modo da concedere solo l'accesso necessario alle tue risorse.

IAM ti consente di controllare chi ha quali autorizzazioni per quali risorse impostando le policy IAM. Le policy IAM concedono ruoli specifici a un utente assegnandogli determinate autorizzazioni.

Autorizzazioni e ruoli

Ogni metodo dell'API Service Directory richiede che il chiamante disponga delle autorizzazioni IAM necessarie. Puoi assegnare le autorizzazioni concedendo ruoli a un utente, un gruppo o un account di servizio. Oltre ai ruoli di base Proprietario, Editor e Visualizzatore, puoi concedere agli utenti del tuo progetto i ruoli dell'API Service Directory.

Autorizzazioni

Puoi scoprire quali autorizzazioni sono richieste per ogni metodo nella documentazione di riferimento dell'API Service Directory.

Ruoli

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/servicedirectory.serviceAgent)

Give the Service Directory service agent access to Cloud Platform resources.

container.clusters.get

gkehub.features.get

gkehub.gateway.delete

gkehub.gateway.generateCredentials

gkehub.gateway.get

gkehub.gateway.patch

gkehub.gateway.post

gkehub.gateway.put

gkehub.locations.*

  • gkehub.locations.get
  • gkehub.locations.list

gkehub.memberships.get

gkehub.memberships.list

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

Controllo dell'accesso tramite la console Google Cloud

Puoi utilizzare la console Google Cloud per gestire il controllo dell'accesso per il tuo registro.

Per impostare i controlli dell'accesso a livello di progetto:

Console

  1. Nella console Google Cloud vai alla pagina IAM.

    Vai a IAM

  2. Seleziona il tuo progetto dal menu a discesa in alto.

  3. Fai clic su Aggiungi.

  4. In Nuove entità, inserisci l'indirizzo email di una nuova entità.

  5. Seleziona il ruolo desiderato dal menu a discesa: servicedirectory.admin, servicedirectory.editor o servicedirectory.viewer.

  6. Fai clic su Salva.

  7. Verifica che l'entità sia elencata con il ruolo che hai concesso.

Le zone Service Directory ignorano le limitazioni IAM

Quando assegni uno spazio dei nomi a una zona Service Directory, i nomi dei servizi diventano visibili a tutti i client su qualsiasi rete autorizzata a eseguire query sulla zona privata. Non esiste controllo dell'accesso IAM per DNS, in quanto il protocollo DNS non fornisce funzionalità di autenticazione.

Passaggi successivi

  • Per informazioni dettagliate su Identity and Access Management, consulta la documentazione IAM.
  • Per comprendere Service Directory, consulta la panoramica.