Configurazione dell'accesso per i bind del servizio

I binding dei servizi in Code Engine utilizzano un ID di servizio per accedere ai servizi di IBM Cloud. Un ID servizio contiene le credenziali per comunicare con un'istanza di servizio per conto del progetto Code Engine. Prima di poter associare un'istanza di servizio a un carico di lavoro Code Engine, è necessario configurare l'accesso per i binding, a seconda che si desideri che Code Engine crei e gestisca automaticamente l'ID del servizio per l'utente o che si desideri utilizzare un ID del servizio gestito dall'utente.

Si desidera configurare il progetto in modo che tutti gli utenti del progetto possano creare ed eliminare i bind del servizio? Con autorizzazioni sufficienti, è possibile utilizzare le pagine di integrazione del progetto nella console per configurare le operazioni di bind del servizio da una singola pagina. Se non si dispone di autorizzazioni sufficienti per eseguire queste azioni, è possibile utilizzare questa pagina per comprendere le autorizzazioni richieste. Consultare Configurazione delle impostazioni a livello di progetto.

Prima di poter eseguire il bind della tua applicazione, lavoro o funzione a un'istanza del servizio IBM Cloud specifica, determina se vuoi creare e gestire il tuo ID servizio o se vuoi che Code Engine crei e gestisca automaticamente l'ID servizio per te. In base alla scelta, assegnare le politiche di accesso appropriate. Code Engine utilizza un ID servizio per progetto per gestire i bind del servizio.

Utilizzo delle politiche di accesso di bind del servizio predefinite

Per impostazione predefinita, Code Engine crea automaticamente un ID servizio per accedere a tutti i servizi nel gruppo di risorse del progetto Code Engine quando il tuo account utilizzato con il tuo progetto dispone di autorizzazioni sufficienti. L'ID servizio viene creato durante la prima operazione di bind del servizio.

Per utilizzare le politiche di accesso del bind del servizio predefinite quando il tuo progetto Code Engine si trova nello stesso gruppo di risorse dell'istanza del servizio a cui vuoi eseguire il bind, configura l'accesso per Code Engine per creare e gestire automaticamente l'ID del servizio per i bind del servizio.

Configurazione dell'accesso per Code Engine per creare automaticamente e gestire l'ID servizio per i bind del servizio

Se la tua istanza del servizio è nello stesso gruppo di risorse del progetto Code Engine e vuoi che Code Engine crei e gestisca automaticamente l'ID servizio per il tuo bind del servizio, l'account IBM Cloud utilizzato con il tuo progetto Code Engine deve avere l'accesso al servizio Writer e l'accesso alla piattaforma Operator, almeno.

Con queste autorizzazioni impostate per il tuo account, quando crei un'associazione di servizio, Code Engine controlla e configura automaticamente un ID servizio con accesso Operator e Manager per tutti i servizi nel gruppo di risorse del progetto Code Engine. Code Engine usa questo ID servizio per accedere ai servizi IBM Cloud con i bind del servizio.

Quando Code Engine crea l'ID servizio utilizzato per i bind del servizio per il progetto, questo ID servizio viene riutilizzato con i bind del servizio successivi all'interno dello stesso progetto, a meno che non esegui il comando CLI project update per configurare il tuo progetto per eseguire il bind dei servizi in un gruppo di risorse differente o esegui il comando CLI project update per utilizzare un ID servizio personalizzato con autorizzazioni di accesso per i bind del servizio Code Engine.

Ad esempio, supponiamo che tu voglia che Code Engine crei e gestisca automaticamente l'ID servizio per i bind del servizio per una istanza del servizio IBM Cloudant. Inoltre, supponiamo che l'account my-user utilizzato con la tua istanza del servizio Code Engine e l'istanza del servizio IBM Cloudant siano entrambe nello stesso gruppo di risorse.

La seguente procedura descrive un modo per impostare le autorizzazioni di accesso richieste in modo che Code Engine possa creare e gestire automaticamente l'ID servizio per i bind del servizio per my-user. Il proprietario dell'account per l'istanza del servizio completa la seguente procedura per assegnare autorizzazioni per my-user.

  1. Crea un gruppo di risorse IAM per gli utenti che creano i bind del servizio Code Engine.

    1. Avvia Panoramica di accesso(IAM).
    2. Seleziona Gestisci > Account > Gruppi di risorse > Crea gruppo di risorse.
    3. Creare un gruppo di risorse; ad esempio CodeEngine_servicebindings_resourcegroup.
  2. Crea le istanze del servizio a cui vuoi eseguire il binding nello stesso gruppo di risorse. Per questo esempio, crea un'istanza del servizio IBM Cloudant nel gruppo di risorse CodeEngine_servicebindings_resource group.

  3. Crea un gruppo di accesso IAM per gli utenti che creano bind del servizio Code Engine.

    1. Avvia Panoramica di accesso(IAM).

    2. Seleziona Manage > Access (IAM) > Access groups.

    3. Creare un gruppo; ad esempio, CodeEngine_servicebindings_accessgroup.

    4. Dall'interno di questo nuovo gruppo di accesso, fai clic sulla scheda Accesso e assegna le seguenti due politiche di accesso al gruppo di accesso. Per la prima politica di accesso,

      • Per l'assistenza, selezionare All Identity and Access enabled services.
      • Per Risorse, selezionare il gruppo di risorse specifico creato nel passo precedente; ad esempio, CodeEngine_servicebindings_resourcegroup.
      • Per l'accesso al gruppo di risorse, selezionare Viewer.
      • Per Ruoli e azioni, selezionare Accesso piattaforma di Administrator.
      • Fare clic su Aggiungi per aggiungere la politica di accesso a questo gruppo di accesso.
    5. Assegnare la politica di secondo accesso per questo gruppo di accesso.

      • Per l'assistenza, selezionare Code Engine.
      • Per Risorse, selezionare il gruppo di risorse specifico creato nel passo precedente; ad esempio, CodeEngine_servicebindings_resourcegroup.
      • Per l'accesso al gruppo di risorse, selezionare Viewer.
      • Per Ruoli e azioni, selezionare Accesso al servizio di Writer e Accesso alla piattaforma di Operator.
      • Fare clic su Aggiungi per aggiungere la politica di accesso a questo gruppo di accesso.
    6. Fai clic su Assegna per assegnare le politiche di accesso a questo gruppo di accesso.

  4. Aggiungere l'utente my-user a questo gruppo di accesso.

Ora sei pronto a creare i bind del servizio in Code Engine dove Code Engine crea automaticamente un ID servizio con autorizzazioni sufficienti per creare credenziali del servizio per le tue istanze del servizio specificate. Vedi Esegui il bind di un'istanza del servizio a un'applicazione, un lavoro o un carico di lavoro della funzione.

Configurazione di un progetto per eseguire il bind dei servizi in un gruppo di risorse differente

Per impostazione predefinita, Code Engine crea automaticamente un ID servizio per accedere a tutti i servizi nel gruppo di risorse del progetto Code Engine quando il tuo account utilizzato con il tuo progetto dispone di autorizzazioni sufficienti. L'ID servizio viene creato durante la prima operazione di bind del servizio.

Tuttavia, se l'istanza del servizio IBM Cloud di cui vuoi eseguire il bind al tuo progetto Code Engine è in un gruppo di risorse diverso rispetto al gruppo di risorse del progetto Code Engine per il tuo carico di lavoro e vuoi che Code Engine crei e gestisca automaticamente l'ID servizio per il tuo bind del servizio, è necessario completare le seguenti azioni prima di creare il bind del servizio.

Ad esempio, se il tuo progetto Code Engine è nel gruppo di risorse Default e vuoi eseguire il bind a una istanza del servizio esistente nel gruppo di risorse dev, devi aggiornare il progetto Code Engine in modo che Code Engine possa accedere alle istanze dei servizi in altri gruppi di risorse.

Aggiorna il progetto per accedere alle istanze del servizio in altri gruppi di risorse

Quando le risorse a cui vuoi eseguire il bind si trovano in un gruppo di risorse diverso, configura il tuo progetto Code Engine con la CLI in modo che possa accedere alle risorse nel gruppo di risorse differente. Utilizza il comando ibmcloud ce project update e specifica l'opzione --binding-resource-group per configurare un progetto Code Engine per l'accesso al bind del servizio per tutte le istanze del servizio in un gruppo di risorse. Questo comando indica al tuo progetto Code Engine a quale gruppo di risorse può collegarsi. Puoi aggiornare il progetto per eseguire il bind dei servizi a un gruppo di risorse differente solo con la CLI.

Il comando project update funziona all'interno del progetto selezionato come contesto corrente. Prima di utilizzare il comando project update confermate di trovarvi nel progetto desiderato. Utilizzare il comando ibmcloud ce project current per visualizzare i dettagli del progetto attualmente di destinazione. Se necessario, utilizzare il comando ibmcloud ce project select per selezionare il progetto come contesto corrente.

  • Per configurare l'accesso al bind del servizio per tutte le istanze del servizio nel gruppo di risorse Predefinito,

    ibmcloud ce project update --binding-resource-group Default
    
  • Per configurare l'accesso al bind del servizio per tutte le istanze del servizio in un gruppo di risorse, specificando l'ID del gruppo di risorse,

    ibmcloud ce project update --binding-resource-group-id abcdabcdabcdabcdabcdabcdabcdabcd
    

    Per ottenere un elenco dei tuoi gruppi di risorse, inclusi i relativi ID, esegui ibmcloud resource groups.

  • Per configurare l'accesso al bind del servizio per tutte le istanze del servizio in tutti i gruppi di risorse:

    ibmcloud ce project update --binding-resource-group "*"
    

Quando si esegue il comando project update, viene creato un ID servizio per il progetto e viene utilizzato per configurare il progetto corrente per i bind del servizio. Se non si dispone dell'autorizzazione per creare questo ID servizio, si riceve un messaggio di errore che indica che il progetto non è pronto per utilizzare i bind del servizio. Parla con il tuo amministratore dell'account sulle tue politiche di accesso o chiedi all'amministratore di configurare l'accesso per Code Engine per creare e gestire automaticamente l'ID servizio per i bind del servizio.

Utilizzo di un ID servizio personalizzato per i bind del servizio

Se vuoi avere un maggiore controllo sulle politiche di accesso o sui gruppi di risorse, puoi creare un ID servizio personalizzato per la tua istanza del servizio.

La tua organizzazione potrebbe scegliere di utilizzare un ID servizio personalizzato per accedere a una specifica istanza del servizio se il proprietario dell'account non desidera concedere Administrator l'accesso per un utente a Tutti i servizi abilitati all'identità e all'accesso all'interno di un gruppo di risorse, che è richiesto per Code Engine per creare e gestire automaticamente l'ID servizio per i bind del servizio. Il proprietario dell'account potrebbe voler definire l'ambito dell'accesso utente a uno specifico tipo di servizio o istanza del servizio. In questi casi, un ID servizio personalizzato fornisce questo controllo.

Per utilizzare un ID servizio personalizzato per i bind del servizio,

Creazione di un ID servizio personalizzato con autorizzazioni di accesso per i bind del servizio Code Engine

Quando si utilizza un ID servizio personalizzato, è necessario fornire all'ID servizio personalizzato l'accesso alla piattaforma Operator in modo che questo ID servizio possa creare credenziali del servizio per i bind del servizio.

Ad esempio, supponiamo che tu voglia creare un bind del servizio per eseguire il bind di un carico di lavoro Code Engine a un'istanza del servizio IBM Cloudant. Tuttavia, non vuoi concedere all'utente l'accesso Administrator per tutti Tutti i servizi abilitati all'accesso e all'identità all'interno di un gruppo di risorse. Tuttavia, vuoi concedere all'utente l'accesso a un'istanza specifica di IBM Cloudant.

I seguenti passi descrivono un modo per configurare un ID servizio personalizzato con le autorizzazioni di accesso richieste in modo che Code Engine possa creare i bind del servizio per my-user. Il proprietario dell'account per l'istanza del servizio completa i seguenti passi per creare un ID servizio personalizzato.

  1. Crea un gruppo di risorse IAM per gli utenti che creano i bind del servizio Code Engine.

    1. Avvia Panoramica di accesso(IAM).
    2. Seleziona Gestisci > Account > Gruppi di risorse > Crea gruppo di risorse.
    3. Creare un gruppo di risorse; ad esempio CodeEngine_servicebindings_resourcegroup.
  2. Crea le istanze del servizio a cui vuoi eseguire il binding nello stesso gruppo di risorse. Per questo esempio, crea un'istanza del servizio IBM Cloudant nel gruppo di risorse CodeEngine_servicebindings_resource group.

  3. Crea un gruppo di accesso IAM per gli utenti che creano bind del servizio Code Engine.

    1. Avvia Panoramica di accesso(IAM).
    2. Seleziona Manage > Access (IAM) > Access groups.
    3. Creare un gruppo; ad esempio, CodeEngine_servicebindings_accessgroup.
    4. Da questo nuovo gruppo di accesso, fai clic sulla scheda Access e assegna la seguente politica di accesso al servizio Code Engine.
      • Per Service, selezionare Code Engine.
      • Per Risorse, selezionare il gruppo di risorse specifico creato nel passo precedente; ad esempio, CodeEngine_servicebindings_resourcegroup.
      • Per l'accesso al gruppo di risorse, selezionare Viewer.
      • Per Ruoli e azioni, selezionare Accesso al servizio di Writer e Accesso alla piattaforma di Operator.
      • Fare clic su Aggiungi per aggiungere la politica di accesso a questo gruppo di accesso.
    5. Fai clic su Assegna per assegnare le politiche di accesso a questo gruppo di accesso.
    6. Crea le istanze del servizio a cui vuoi eseguire il binding nello stesso gruppo di risorse. Per questo esempio, crea un'istanza del servizio IBM Cloudant nel gruppo di risorse CodeEngine_servicebindings_resource group.
  4. Aggiungere l'utente my-user a questo gruppo di accesso.

  5. Crea un ID servizio per l'istanza del servizio a cui vuoi eseguire il bind.

    1. Avvia Panoramica di accesso(IAM).
    2. Seleziona Manage > Access (IAM) > Service IDs.
    3. Creare un ID servizio, ad esempio CodeEngine_servicebindings_serviceid.
    4. Da questo nuovo ID servizio, fai clic su Assegna gruppo. Dalla pagina Assegna accesso, seleziona Politica di accesso. Non selezionare Gruppi di accesso. Assegna la seguente politica di accesso,
      • Per il servizio, selezionare l'istanza del servizio a cui si desidera eseguire il bind; ad esempio, l'istanza del servizio IBM Cloudant.
      • Per Risorse, selezionare il gruppo di risorse specifico creato per utenti che possono creare bind di servizio a questo servizio.
      • Per l'accesso al gruppo di risorse, selezionare Viewer.
      • Per Ruoli e azioni, selezionare Accesso al servizio di Manager e Accesso alla piattaforma di Operator.
      • Fare clic su Aggiungi per aggiungere la politica di accesso a questo ID servizio.
    5. Fai clic su Assegna per assegnare le politiche di accesso a questo ID servizio.

Ora che disponi di un ID servizio personalizzato per i bind del servizio, devi configurare il progetto Code Engine per utilizzare l'ID servizio personalizzato.

Configurazione di un progetto per utilizzare un ID servizio personalizzato

Per configurare un progetto Code Engine per il bind del servizio per utilizzare un ID servizio personalizzato che gestisci, utilizza il comando CLI ibmcloud ce project update e specifica l'opzione --binding-service-id. Puoi aggiornare il tuo progetto per utilizzare un ID servizio personalizzato solo con la CLI.

Il comando project update funziona all'interno del progetto selezionato come contesto corrente. Prima di utilizzare il comando project update confermate di trovarvi nel progetto desiderato. Utilizzare il comando ibmcloud ce project current per visualizzare i dettagli del progetto attualmente di destinazione. Se necessario, utilizzare il comando ibmcloud ce project select per selezionare il progetto come contesto corrente.

  1. Trova l'ID del tuo ID servizio personalizzato facendo clic su Dettagli nella pagina ID servizio dalla console oppure esegui il comando della CLI ibmcloud iam service-ids.

  2. Eseguire il comando ibmcloud ce project update. Ad esempio, se l'ID del tuo ID servizio è ServiceId-12a3456b-c78d-901e-f2a3b4cabcde:

    ibmcloud ce project update --binding-service-id ServiceId-12a3456b-c78d-901e-f2a3b4cabcde
    

Ogni volta che esegui il comando project update --binding-service-id, Code Engine sostituisce qualsiasi ID servizio esistente e utilizza questo ID servizio per i bind del servizio.

Passi successivi

Ora che è configurato l'accesso per i bind del servizio, sei pronto a associare un'istanza del servizio a un'applicazione, a un lavoro o a un carico di lavoro della funzione.