Utilizzo di un account di servizio personalizzato

Puoi configurare AI Platform Prediction in modo da utilizzare un account di servizio a tua scelta quando esegue un codice personalizzato per fornire previsioni. In particolare, puoi specificare se esegui una delle seguenti operazioni:

L'uso di un account di servizio personalizzato ti consente di personalizzare quali risorse Google Cloud il tuo codice di pubblicazione personalizzato può accedere senza concedere autorizzazioni eccessivamente ampie a l'account di servizio usato per impostazione predefinita da AI Platform Prediction.

La guida si concentra sulle risorse di AI Platform Prediction autorizzazioni per accedere ad altre risorse Google Cloud. Per scoprire le autorizzazioni necessarie per accedere alle risorse di AI Platform Prediction, leggi Access controllo.

Comprensione dell'agente di servizio

Per impostazione predefinita, AI Platform Prediction utilizza una agente di servizio per per fornire previsioni online da versioni di modelli che non utilizzano containerizzati. Questo agente di servizio viene identificato da un indirizzo email con seguente formato:

service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com

PROJECT_NUMBER è stato sostituito dal progetto numero per del tuo progetto Google Cloud.

Trova l'account di servizio corrispondente al tuo progetto nella console Google Cloud oppure utilizzando Google Cloud CLI:

Console Google Cloud

Vai alla pagina IAM nella console Google Cloud, seleziona Includi concessioni dei ruoli fornite da Google, e trova l'entità corrisponda al formato dell'indirizzo email descritto in precedenza in questa sezione. La anche l'account di servizio ha il nome Google Cloud ML Engine Service Agent.

Vai alla sezione IAM

gcloud

Esegui questo comando in un ambiente Shell in cui hai inizializzato gcloud CLI:

gcloud projects get-iam-policy PROJECT_ID \
  --flatten="bindings[].members" \
  --format="table(bindings.members)" \
  --filter="bindings.role:roles/ml.serviceAgent" \
  | grep serviceAccount:

Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

Questo comando restituisce quanto segue:

serviceAccount:GOOGLE_MANAGED_SERVICE_ACCOUNT

GOOGLE_MANAGED_SERVICE_ACCOUNT è l'indirizzo email del tuo l'agente di servizio AI Platform del progetto.

Questo agente di servizio dispone delle autorizzazioni appropriate per la maggior parte le versioni del modello. Ad esempio, può leggere bucket Cloud Storage nello stesso progetto Google Cloud.

Se hai bisogno routine di previsione personalizzate per l'esecuzione con autorizzazioni aggiuntive, puoi assegnare Ruoli IAM (Identity and Access Management) per questo account di servizio. Ad esempio, puoi concede l'accesso ai bucket Cloud Storage in altri bucket Google Cloud, per i progetti.

Account di servizio utilizzato per impostazione predefinita nei container personalizzati

Se la versione del tuo modello utilizza un modello personalizzato containerizzato, per impostazione predefinita non viene eseguito utilizzando l'agente di servizio AI Platform; viene eseguito usando un servizio gestito da AI Platform Prediction. Questo account di servizio dispone dell'autorizzazione per leggere gli artefatti del modello che AI Platform Prediction rende disponibile presso un URI archiviato Ambiente AIP_STORAGE_URI variabile.

Non puoi personalizzare le autorizzazioni di questo account di servizio utilizzato per impostazione predefinita all'interno di container personalizzati. Se vuoi personalizzare le autorizzazioni disponibili per il tuo un container personalizzato, leggi le sezioni seguenti per utilizzare un account di servizio personalizzato con la versione del modello.

Utilizzo di un account di servizio personalizzato

Se vuoi concedere o limitare le autorizzazioni di Google Cloud per un della versione del modello, utilizzare un account di servizio personalizzato al posto dell'agente di servizio.

Per farlo, configura innanzitutto un account di servizio personalizzato. Quindi specifica un account di servizio quando crei alla versione del modello.

Configura un account di servizio personalizzato

Per configurare un account di servizio personalizzato:

  1. Creare un servizio gestito dall'utente .

  2. Concedi IAM al nuovo account di servizio ruoli per fornire codice per la pubblicazione delle previsioni con le autorizzazioni di cui ha bisogno durante l'esecuzione.

  3. Se l'account di servizio gestito dall'utente si trova in un progetto diverso da quello del tuo le versioni del modello, configurare l'account di servizio gestito dall'utente in modo da poterla collegare al tuo le versioni del modello.

  1. Concedi all'agente di servizio AI Platform del tuo progetto l'account di servizio Ruolo amministratore (roles/iam.serviceAccountAdmin) per il nuovo servizio personalizzato . Per farlo, utilizza gcloud CLI per eseguire :

    gcloud iam service-accounts add-iam-policy-binding \
      --role=roles/iam.serviceAccountAdmin \
      --member=serviceAccount:GOOGLE_MANAGED_SERVICE_ACCOUNT \
      CUSTOM_SERVICE_ACCOUNT
    

    In questo comando, sostituisci i seguenti segnaposto:

Specifica l'account di servizio personalizzato per la versione del modello

Per concedere al codice per la pubblicazione delle previsioni l'accesso a un account di servizio personalizzato, specifica il serviceAccount quando crei una versione del modello. Ricorda che la versione del modello deve utilizzare un container personalizzato o una previsione personalizzata .

Se utilizzi gcloud CLI per creare una versione del modello, puoi utilizzare Flag --service-account con il componente gcloud beta. Ad esempio:

gcloud beta ai-platform versions create VERSION \
  --service-account CUSTOM_SERVICE_ACCOUNT \
  ...

Sostituisci quanto segue:

Passaggi successivi