Configurare l'API Domini nella lista consentita
Questa pagina spiega come configurare l'API Domini nella lista consentita prima di aggiungere, elencare, ottenere o eliminare i domini nella lista consentita.
Prima di iniziare
Prima di utilizzare una delle API Cloud Identity, devi configurare Cloud Identity. Per istruzioni, consulta Configurare Cloud Identity.
Installare la libreria client Python
Per installare la libreria client Python, esegui questo comando:
pip install --upgrade google-api-python-client google-auth \
google-auth-oauthlib google-auth-httplib2
Per ulteriori informazioni sulla configurazione dell'ambiente di sviluppo Python, consulta la Guida alla configurazione dell'ambiente di sviluppo Python.
Abilitare l'API e configurare le credenziali
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per eseguire, testare e implementare i carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Crea un account di servizio:
- Assicurati di disporre del ruolo IAM Creazione account di servizio (
roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli. - Nella Google Cloud console vai alla pagina Crea service account.
- Seleziona il progetto.
- Nel campo Nome service account, inserisci un nome. La Google Cloud console compila il campo ID service account in base a questo nome.
- Nel campo Descrizione service account, inserisci una descrizione. Ad esempio,
Service account for quickstart. - Fai clic su Crea e continua.
- Concedi il ruolo Progetto > Proprietario al account di servizio. Per concedere il ruolo, trova l'elenco Seleziona un ruolo, quindi seleziona Progetto > Proprietario.
- Fai clic su Continua.
- Fai clic su Fine per completare la creazione del account di servizio. Non chiudere la finestra del browser. Lo utilizzerai nel prossimo passaggio.
- Assicurati di disporre del ruolo IAM Creazione account di servizio (
- Crea una chiave dell'account di servizio:
- Nella Google Cloud console, fai clic sull'indirizzo email del account di servizio che hai creato.
- Fai clic su Chiavi.
- Fai clic su Aggiungi chiave e poi su Crea nuova chiave.
- Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
- Fai clic su Chiudi.
Crea una chiave API
- Nella Google Cloud console, vai alla pagina Credenziali.
- Fai clic su Crea credenziali e seleziona Chiave API.
- La finestra di dialogo Chiave API creata mostra la chiave appena creata. Copia questa chiave per utilizzarla nello script come costante
API_KEY.
Eseguire l'autenticazione come account di servizio con delega a livello di dominio
Se sei un amministratore che gestisce i domini nella lista consentita o se vuoi fornire a un account privilegi a livello di dominio in modo che possa gestire i domini nella lista consentita per conto degli amministratori, devi eseguire l'autenticazione come un account di servizio e poi concedere i privilegi a livello di dominio all'account di servizio.
Per maggiori dettagli sulla configurazione della delega a livello di dominio, consulta Controllare l'accesso all'API con la delega a livello di dominio. Consulta le best practice per ridurre i rischi per la sicurezza associati all'utilizzo della delega a livello di dominio.
Fornisci i seguenti ambiti per autorizzare il account di servizio:
Per le operazioni di lettura e scrittura (
create,delete,list,get):https://www.googleapis.com/auth/cloud-identity.allowlisteddomainsPer le operazioni di sola lettura (
list,get):https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly
Inizializzare le credenziali e creare un'istanza di un client
Quando inizializzi la credenziale nel codice, specifica l'indirizzo email su cui agisce il account di servizio chiamando with_subject() sulla credenziale.
Il seguente esempio mostra come creare un'istanza di un client utilizzando le credenziali del account di servizio per interagire con l'API Domini nella lista consentita:
Python
from google.oauth2 import service_account
import googleapiclient.discovery
SCOPES = [
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly',
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains',
]
SERVICE_ACCOUNT_FILE = 'SERVICE_ACCOUNT_CREDENTIAL_FILE'
PROD_DISCOVERY_URL_BASE = (
'https://cloudidentity.googleapis.com/$discovery/rest'
)
API_KEY = 'YOUR_API_KEY'
def create_service(version, delegated_email):
"""Instantiates a client using service account credentials."""
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES
)
delegated_credentials = credentials.with_subject(delegated_email)
url = f'{PROD_DISCOVERY_URL_BASE}?version={version}&key={API_KEY}'
service = googleapiclient.discovery.build(
serviceName=None,
version=None,
credentials=delegated_credentials,
discoveryServiceUrl=url,
static_discovery=False,
)
return service
Sostituisci quanto segue:
SERVICE_ACCOUNT_CREDENTIAL_FILE: il file della chiave del account di servizio che hai creato in precedenza in questo documentoYOUR_API_KEY: la chiave API copiata dalla pagina Credenziali della Google Cloud console
Nella sezione Elencare e ottenere i domini nella lista consentita sono disponibili esempi di codice campione dettagliati per chiamare le operazioni dell'API Domini nella lista consentita.