Gestione dell'accesso IAM per InstructLab

L'accesso ai progetti Red Hat AI InstructLab per gli utenti del vostro account è controllato da IBM Cloud® Identity and Access Management (IAM). A ogni utente che accede al servizio Red Hat AI InstructLab nel vostro account deve essere assegnato un criterio di accesso con un ruolo IAM. Esamina i seguenti ruoli, azioni e altro per aiutarti a determinare il modo migliore per assegnare l'accesso a Red Hat AI InstructLab.

Il criterio di accesso assegnato agli utenti nell'account determina le azioni che un utente può eseguire nel contesto del servizio o del progetto specifico selezionato. Le azioni consentite sono personalizzate e definite da Red Hat AI InstructLab come operazioni che possono essere eseguite sul servizio. Ogni azione è mappata su una piattaforma IAM o su un ruolo di servizio che è possibile assegnare a un utente.

Assicuratevi di avere anche il ruolo Viewer per i gruppi di risorse che volete usare.

I criteri di accesso IAM consentono l'accesso a diversi livelli. Alcune opzioni includono quanto segue:

  • Dare a Reader o Writer l'accesso a un progetto specifico.
  • Dare accesso a Reader o Writer a un gruppo di risorse specifico in cui potrebbero esserci molti progetti.
  • Dare accesso a Reader o Writer all'intero account, dove potrebbero esserci molti gruppi di risorse con molti progetti.
  • Consentire l'accesso del Viewer ai progetti di InstructLab all'interno di un gruppo di risorse e a livello di account.
  • Dare accesso alla creazione di progetti InstructLab all'interno di un gruppo di risorse e a livello di account.

Se un ruolo specifico e le sue azioni non si adattano al caso d'uso che si sta cercando di affrontare, è possibile creare un ruolo personalizzato e scegliere le azioni da includere.

Esamina le seguenti tabelle che descrivono i tipi di attività consentite da ciascun ruolo quando si lavora con il servizio di assistenza remota ( Red Hat AI InstructLab ). I ruoli di gestione della piattaforma consentono agli utenti di eseguire attività sulle risorse del servizio a livello di piattaforma, ad esempio assegnare l'accesso dell'utente al servizio, creare o eliminare progetti e associare progetti alle applicazioni. I ruoli di accesso ai servizi consentono agli utenti di accedere a Red Hat AI InstructLab e di chiamare l'API di Red Hat AI InstructLab.

Questa è una panoramica di alto livello di ciò che i ruoli della piattaforma consentono agli utenti di fare. Utilizzate una descrizione in linguaggio semplice del tipo di compiti che possono essere portati a termine o dei lavori comuni che gli utenti possono aspettarsi di svolgere quando viene assegnato loro un ruolo.

Ruoli e azioni IAM

Ruolo piattaforma Descrizione
Visualizzatore Come visualizzatore, si possono vedere i progetti, ma non si possono modificare.
Operatore Come operatore, è possibile eseguire le azioni della piattaforma necessarie per configurare e gestire i progetti, come ad esempio visualizzare la dashboard di un servizio.
Editor In qualità di editor, puoi eseguire tutte le azioni della piattaforma, tranne la gestione dell'account e l'assegnazione di politiche di accesso.
Amministratore In qualità di amministratore, puoi eseguire tutte le azioni della piattaforma in base alla risorsa assegnata a questo ruolo, inclusa l'assegnazione di politiche di accesso ad altri utenti.
Lettore del configuratore di servizio La possibilità di leggere la configurazione dei servizi per la gestione della governance.
Responsabile chiave Come gestore di chiavi, il servizio può eseguire le azioni della piattaforma necessarie per gestire le chiavi delle risorse, come la creazione di una nuova chiave di risorsa.
Ruoli di accesso al servizio IAM
Ruolo del servizio Descrizione
Lettore In qualità di lettore, puoi eseguire azioni di sola lettura all'interno di un servizio, ad esempio visualizzare le risorse specifiche del servizio.
Scrittore In qualità di scrittore, disponi di autorizzazioni al di sopra del ruolo di lettore, incluso la creazione e la modifica di risorse specifiche del servizio.
Gestore In qualità di gestore, disponi di autorizzazioni al di sopra del ruolo di scrittore per completare le azioni privilegiate definite dal servizio. Inoltre, puoi creare e modificare risorse specifiche del servizio.
Azioni IAM
Azioni ed eventi Descrizione Ruoli
instructlab.dashboard.view Visualizzare i cruscotti di InstructLab. Operatore, amministratore, redattore
instructlab.taxonomy.read Leggere i dettagli di una tassonomia. Lettore, Scrittore e Gestore
instructlab.taxonomy.create Creare tassonomie Scrittore, Gestore
instructlab.taxonomy.list Elenco tassonomie. Lettore, Scrittore e Gestore
instructlab.taxonomy.delete Eliminare le tassonomie. Scrittore, Gestore
instructlab.sdgdata.read Leggere i dettagli di un'esecuzione di generazione di dati. Lettore, Scrittore e Gestore
instructlab.sdgdata.list Esecuzione della generazione dei dati dell'elenco. Lettore, Scrittore e Gestore
instructlab.sdgdata.create Creare una sessione di generazione dei dati. Scrittore, Gestore
instructlab.sdgdata.delete Cancellare un'esecuzione di generazione di dati. Scrittore, Gestore
instructlab.sdgdata.stop Interrompere un'esecuzione di generazione di dati. Scrittore, Gestore
instructlab.sdgdata.stop Interrompere un'esecuzione di generazione di dati. Scrittore, Gestore
instructlab.model.read Leggere i dettagli di una sessione di addestramento del modello. Lettore, Scrittore e Gestore
instructlab.model.list Elenco delle corse di addestramento del modello. Lettore, Scrittore e Gestore
instructlab.model.create Creare una sessione di allenamento del modello. Scrittore, Gestore
instructlab.model.delete Cancellare una sessione di allenamento del modello. Scrittore, Gestore
instructlab.model.stop Interrompere un'esecuzione di addestramento del modello. Scrittore, Gestore

Dare a InstuctLab il permesso di creare e aggiornare gli artefatti di Object Storage

Assegnare a InstructLab il ruolo di accesso Writer per il servizio Object Storage. Anche l'utente collegato deve avere la stessa autorizzazione.

  1. Creare il criterio di autorizzazione per InstructLab e Object Storage.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage
    

    Se si dispone già di risorse Object Storage da utilizzare, è possibile estendere l'autorizzazione solo a quelle risorse.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage --target-service-instance-id <cloud-object-storage-instance-id> --target-resource <cloud-object-storage-bucket> --target-resource-type bucket
    
  2. Verificare che il criterio di autorizzazione sia stato creato.

    ibmcloud iam authorization-policies
    

    Risultato quando l'autorizzazione non è limitata a uno specifico bucket Object Storage:

    Getting authorization policies under account abc1234 as user...
    OK
    
    ID:                        <id>
    Source service name:       instructlab
    Source service instance:   All instances
    Target service name:       cloud-object-storage
    Target service instance:   All instances
    Roles:                     Writer
    

    Risultato quando l'autorizzazione è limitata a uno specifico bucket Object Storage:

    Getting authorization policies under account abc1234 as user...
    OK
    
    ID:                        <id>
    Source service name:       instructlab
    Source service instance:   All instances
    Target service name:       cloud-object-storage
    Target service instance:   bucket
    Roles:                     Writer
    
  3. Facoltativo Se si utilizza un repository privato, creare un'altra autorizzazione al servizio per InstructLab e per il servizio di gestione delle risorse Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. Se necessario, dare l'autorizzazione a Writer all'utente collegato. Includere l'ID dell'istanza del servizio Object Storage dal passaggio precedente.

    ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
    

Assegnare l'accesso alle risorse agli utenti

È possibile controllare quali utenti (o gruppi di utenti) del proprio account accedono alle risorse di InstructLab. Per assegnare l'accesso alla console, procedere come segue.

Per maggiori dettagli su come assegnare l'accesso, come ad esempio i passaggi per utilizzare la CLI o i diversi modi in cui è possibile limitare l'accesso a InstructLab o al bucket Object Storage, vedere Gestione dell'accesso IAM per Red Hat AI InstructLab su IBM Cloud.

Esistono due modi comuni per assegnare l'accesso:

Politiche di accesso per utente.
È possibile gestire i criteri di accesso per utente dalla pagina Gestisci > Accesso (IAM) > Utenti nella console. Per informazioni sui passaggi per assegnare l'accesso IAM, vedere Gestione dell'accesso alle risorse nella console.
Gruppi di accesso.
I gruppi di accesso vengono utilizzati per semplificare la gestione degli accessi assegnando l'accesso a un gruppo una volta sola, quindi è possibile aggiungere o rimuovere utenti dal gruppo in base alle esigenze per controllarne l'accesso. Puoi gestire i gruppi di accesso e il loro accesso dalla pagina Gestisci > Accesso (IAM) > Gruppi di accesso nella console. Per ulteriori informazioni, vedere Assegnare l'accesso a un gruppo nella console.

{{../account/iam-mng-access.md#access-resources-console}}

{{../account/iam-mng-access.md#access-to-resources-console}}

{{../account/iam-mng-access.md#access-to-resource-group}}

Assegnazione dell'accesso a InstructLab tramite la CLI

Per istruzioni dettagliate su come assegnare, rimuovere e rivedere l'accesso, vedere Assegnazione dell'accesso alle risorse tramite la CLI. L'esempio seguente mostra un comando per assegnare il ruolo di amministratore ( Writer ) per l'amministratore di sistema ( instructlab):

Utilizzare instructlab per il nome del servizio. Per trovare gli ID dei ruoli, eseguire il comando ibmcloud iam roles. Inoltre, usate le virgolette intorno ai nomi dei ruoli che sono più di una parola. Ad esempio "Service Configuration Reader".

Esempio di comando per assegnare a un utente il ruolo Viewer per uno specifico progetto InstructLab nell'account.

ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"

Esempio di comando per assegnare a un utente il ruolo di Key Manager per uno specifico progetto InstructLab nell'account.

ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab

Esempio di comando per assegnare a un utente il ruolo di Writer per tutti i progetti InstructLab dell'account.

ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer

Esempio di comando per assegnare il ruolo di amministratore a tutte le istanze del servizio InstructLab nell'account.

ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab

Comando di esempio per assegnare il ruolo Viewer a tutti i gruppi di risorse dell'account.

ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

Esempio di comando per assegnare il ruolo Viewer a tutti gli utenti di uno specifico gruppo di risorse.

ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

Esempio di comando per ottenere un gruppo di risorse con il ruolo di Amministratore.

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

Assegnazione dell'accesso utente a InstructLab tramite API

Per istruzioni dettagliate su come assegnare, rimuovere e rivedere l'accesso, consultare Assegnazione dell'accesso alle risorse utilizzando l'API o la documentazione API Crea una policy. I nomi delle risorse cloud (CRN) nella tabella seguente sono utilizzati per assegnare l'accesso con l'API.

Utilizzare instructlab per il nome del servizio e fare riferimento alla tabella dei valori CRN del ruolo per assicurarsi di utilizzare il valore corretto per il ruolo. Esaminare il seguente elenco di ruoli CRN.

Ruolo IAM CRN
Ruolo CRN
Lettore crn:v1:bluemix:public:iam::::serviceRole:Reader
Scrittore crn:v1:bluemix:public:iam::::serviceRole:Writer
Gestore crn:v1:bluemix:public:iam::::serviceRole:Manager
Visualizzatore crn:v1:bluemix:public:iam::::role:Viewer
Operatore crn:v1:bluemix:public:iam::::role:Operator
Editor crn:v1:bluemix:public:iam::::role:Editor
Amministratore crn:v1:bluemix:public:iam::::role:Administrator
Lettore del configuratore di assistenza crn:v1:bluemix:public:iam::::role:ConfigReader
Responsabile chiave crn:v1:bluemix:public:resource-controller::::role:KeyManager

L'esempio seguente assegna il ruolo Writer per instructlab.

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Writer role for InstructLab",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "IBMid-123453user"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "instructlab"
        }
      ]
    }
  ]
}

{{../account/iam-mng-access.md#access-resources-api}}

{{../account/iam-mng-access.md#access-resourcegroups-api}}