Accedere Google Cloud a servizi e API
Questa pagina descrive come accedere ai servizi e alle API Google Cloud tramite il notebook Colab Enterprise.
Panoramica
Quando esegui il codice in un blocco note Colab Enterprise, puoi accedere Google Cloud a servizi e API utilizzando le credenziali associate al tuo Account Google, chiamate anche credenziali utente. Ciò significa che il runtime che utilizzi ha lo stesso livello di accesso a Google Cloud dell'utente. In questo modo è più facile scrivere ed eseguire codice che interagisce con Google Cloud servizi e API.
Colab Enterprise può utilizzare le credenziali predefinite dell'applicazione (ADC) per autenticare le credenziali utente per servizi e API. Google Cloud Questa pagina descrive i seguenti modi per fornire le credenziali utente ad ADC:
Utilizza un runtime con le credenziali dell'utente finale attivate.
Fornisci le tue credenziali utente ad ADC eseguendo il codice nel notebook.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei 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 Agent Platform, Dataform, and Compute Engine APIs.
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 Agent Platform, Dataform, and Compute Engine APIs.
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.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per accedere ai servizi e alle API di Google Cloud in un blocco note Colab Enterprise, chiedi all'amministratore di concederti il ruolo IAM Amministratore Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Utilizza un ambiente di runtime con le credenziali dell'utente finale attive
Puoi utilizzare il runtime predefinito, in cui sono abilitate le credenziali utente finale, o qualsiasi runtime creato da un modello di runtime in cui sono abilitate le credenziali utente finale.
Se non disponi di un template di runtime sufficiente con le credenziali dell'utente finale attivate, devi crearne uno. Devi attivare o disattivare le credenziali dell'utente finale quando crei un modello di runtime. Questa impostazione non può essere modificata in un secondo momento.
Connettiti a un runtime con le credenziali utente finale attive
Per connetterti a un runtime con le credenziali dell'utente finale attive:
-
Nella console Google Cloud , vai alla pagina I miei blocchi note di Colab Enterprise.
-
Nel menu Regione, seleziona la regione che contiene il blocco note.
-
Fai clic sul notebook che vuoi aprire. Se non hai ancora creato un notebook, creane uno.
-
Nel notebook, fai clic sulla freccia di espansione Opzioni di connessione aggiuntive, e poi seleziona Connetti a un runtime.
Si apre la finestra di dialogo Connetti ad Agent Platform Runtime.
-
Per Seleziona un runtime, seleziona Connetti a un runtime esistente.
-
Per Seleziona un'opzione di runtime esistente, seleziona il runtime a cui vuoi connetterti. Se nell'elenco non sono presenti runtime, creane uno o connettiti al runtime predefinito.
-
Nella tabella Dettagli di runtime, verifica che Credenziali personali siano
Enabled. -
Fai clic su Connetti.
-
Se è la prima volta che ti connetti a un runtime con le credenziali dell'utente finale attive, viene visualizzata una finestra di dialogo Accedi.
Per concedere a Colab Enterprise l'accesso alle tue credenziali utente, completa i seguenti passaggi:
-
Nella finestra di dialogo Accedi, fai clic sul tuo account utente.
-
Seleziona Visualizza, modifica, configura ed elimina i tuoi dati di Google Cloud … per concedere a Colab Enterprise l'accesso alle tue credenziali utente.
-
Fai clic su Continua.
-
Quando accedi ai servizi e alle API Google Cloud utilizzando le credenziali dell'utente finale, tieni presente che se il tuo Account Google non dispone delle autorizzazioni Identity and Access Management (IAM) richieste nel tuo progetto, il tuo codice potrebbe non essere in grado di accedere ad alcune risorse. In questo caso, chiedi all'amministratore di concederti le autorizzazioni necessarie.
Fornisci le credenziali utente ad ADC eseguendo il codice nel notebook
Se le credenziali utente finale non sono abilitate nell'ambiente di runtime, puoi comunque utilizzare le tue credenziali utente per accedere a servizi e API. Per farlo, fornisci le tue credenziali utente ad ADC utilizzando Google Cloud CLI. Google Cloud
-
Utilizza questo comando per creare un file delle credenziali:
!gcloud auth application-default login
Viene visualizzata una finestra di dialogo Accedi.
-
Completa la finestra di dialogo per concedere l'accesso a Colab Enterprise.
Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC. Questo file è archiviato nella VM del runtime.
Quando fornisci le credenziali utente per creare un file ADC locale, devi tenere presente quanto segue:
Le credenziali utente potrebbero non funzionare per alcuni metodi e API, come l'API Cloud Translation o l'API Cloud Vision, senza parametri o configurazione aggiuntivi. Se visualizzi un messaggio di errore che indica che l'API non è abilitata nel progetto o che non è disponibile alcun progetto di quota, consulta Risoluzione dei problemi di configurazione di ADC.
L'ADC locale contiene i token di accesso e di aggiornamento. Qualsiasi utente con accesso al tuo file system può utilizzare queste credenziali. Se non hai più bisogno di queste credenziali locali, puoi revocarle utilizzando il comando
gcloud auth application-default revoke.Se il tuo Account Google non dispone dei ruoli Identity and Access Management (IAM) richiesti nel tuo progetto, il tuo codice potrebbe non essere in grado di accedere ad alcune risorse. In questo caso, qualcuno deve concederti i ruoli richiesti.
L'accesso all'ADC è limitato a Google Cloud. Se hai accesso ad altri servizi tramite il tuo Account Google, ADC non concederà automaticamente l'accesso al notebook Colab Enterprise, ma puoi concedere l'accesso aggiuntivo ad alcuni servizi. Ad esempio, per concedere l'accesso a Google Drive, esegui il seguente comando in una cella di codice del notebook:
!gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"
Risoluzione dei problemi
Questa sezione mostra come risolvere i problemi relativi all'esecuzione di codice che interagisce con servizi e API Google Cloud .
Credenziali utente non trovate durante l'esecuzione del codice
Questo problema si verifica quando tenti di eseguire codice in un notebook che interagisce con Google Cloud servizi e API, ma non hai concesso a Colab Enterprise l'accesso alle tue credenziali utente.
Il messaggio di errore potrebbe essere simile a uno dei seguenti:
Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential