Assegnazione dell'accesso a un singolo bucket

Assegnazione dei ruoli di accesso per gli utenti e gli ID servizio rispetto ai bucket, utilizzando l'IU o la CLI per creare le politiche.

Bucket
Ruolo di accesso Azioni di esempio
Gestore Rendi gli oggetti pubblici, crea ed elimina bucket e oggetti
Scrittore Crea ed elimina bucket e oggetti
Lettore Elencare i bucket, elencare gli oggetti e scaricare gli oggetti.
Content Reader (Lettore di contenuto) Elenca e scarica oggetti
Lettore oggetti Scarica oggetti
Scrittore oggetti Carica oggetti

Concessione dell'accesso a un utente

Se l'utente deve essere in grado di utilizzare la console ed è in grado di visualizzare l'elenco di tutti i bucket in un'istanza, è possibile utilizzare un ruolo di accesso della piattaforma personalizzato. Ciò consente loro di visualizzare solo il contenuto di specifici bucket. Se non è appropriato che un utente legga i nomi di altri bucket, è necessario progettare e implementare un portale personalizzato o un'altra interfaccia utente utilizzando l'API.

Se l'utente interagisce con i dati utilizzando l'API e non richiede l'accesso alla console, e se è un membro dell'account, è possibile concedere l'accesso a un singolo bucket senza alcun accesso all'istanza madre, utilizzando i ruoli predefiniti.

Implementazione delle politiche

Le politiche IAM sono implementate in modo gerarchico dal livello più alto di accesso a quello più limitato. I conflitti vengono risolti optando per la politica più permissiva. Ad esempio, se un utente ha sia il ruolo di accesso al servizio Writer che quello Reader su un bucket, la politica che concede il ruolo Reader viene ignorata.

Ciò è applicabile anche alle politiche a livello di istanza del servizio e bucket.

  • Se un utente ha una politica che concede il ruolo Writer su un'istanza del servizio e il ruolo Reader su un singolo bucket, la politica a livello di bucket viene ignorata.
  • Se un utente ha una politica che concede il ruolo Reader su un'istanza del servizio e il ruolo Writer su un singolo bucket, entrambe le politiche vengono implementate e il più permissivo ruolo Writer avrà la precedenza per il singolo bucket.

Se è necessario limitare l'accesso a un singolo bucket (o a un insieme di bucket), assicurarsi che l'utente o l'ID servizio non abbia altri criteri a livello di istanza, utilizzando la console o la CLI.

Per ulteriori informazioni, vedi Procedure ottimali per organizzare le risorse e assegnare l'accesso.

Creare un nuovo criterio per un utente

Per creare una nuova politica a livello di bucket:

  1. Vai alla console Accesso (IAM) dal menu Gestisci.
  2. Seleziona Utenti dal menu di navigazione di sinistra.
  3. Seleziona un utente.
  4. Seleziona la scheda Politiche di accesso per visualizzare le politiche esistenti dell'utente, assegna una nuova politica oppure modifica una politica esistente.
  5. Fai clic su Assegna accesso per creare una nuova politica.
  6. Scegli Assegna l'accesso alle risorse.
  7. Seleziona prima Cloud Object Storage dal menu dei servizi.
  8. Seleziona quindi l'istanza del servizio appropriata. Immetti bucket nel campo Tipo di risorsa e il nome bucket nel campo ID risorsa.
  9. Seleziona il ruolo di accesso al servizio desiderato. La selezione della losanga con il numero di azioni mostra le azioni disponibili per il ruolo, come esemplificato per "Content Reader" nella Figura 1.
  10. Fai clic su Assegna

Azioni di esempio per ruolo di lettore di contenuti
Informazioni sul ruolo

Nota: lasciare vuoti i campi Tipo di risorsa o Risorsa creerà una politica a livello di istanza.

Crea una nuova politica per un comando CLI dell'utente

Da un terminale, esegui questo comando:

ibmcloud iam user-policy-create <user-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Per elencare le politiche esistenti:

ibmcloud iam user-policies <user-name>

Per modificare una politica esistente:

ibmcloud iam user-policy-update <user-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Concessione dell'accesso ad un ID servizio

Se devi concedere l'accesso a un bucket per un'applicazione o un'altra entità non umana, utilizza un ID servizio. L'ID servizio può essere creato specificamente per questo scopo oppure può essere un ID servizio esistente già in uso.

Creare un nuovo criterio per un utente

  1. Vai alla console Accesso (IAM) dal menu Gestisci.
  2. Seleziona ID servizio dal menu di navigazione di sinistra.
  3. Seleziona un ID servizio per visualizzare le politiche esistenti e assegna una nuova politica o modifica una politica esistente.
  4. Seleziona l'istanza del servizio, l'ID servizio e il ruolo desiderato.
  5. Immetti bucket nel campo Tipo di risorsa e il nome bucket nel campo Risorsa.
  6. Fai clic su Invia

Nota: lasciare vuoti i campi Tipo di risorsa o Risorsa creerà una politica a livello di istanza.

Creare un nuovo criterio per un ID servizio

Da un terminale, esegui questo comando:

ibmcloud iam service-policy-create <service-id-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Per elencare le politiche esistenti:

ibmcloud iam service-policies <service-id-name>

Per modificare una politica esistente:

ibmcloud iam service-policy-update <service-id-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id>
      --resource-type bucket \
      --resource <bucket-name>