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. |
| 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 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.
-
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-storageSe 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 -
Verificare che il criterio di autorizzazione sia stato creato.
ibmcloud iam authorization-policiesRisultato 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: WriterRisultato 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 -
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 -
Se necessario, dare l'autorizzazione a
Writerall'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 | 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}}