Concessione dell'accesso a IBM Cloud Object Storage per l'importazione e l'esportazione di immagini

Per importare un'immagine personalizzata in IBM Cloud VPC o per esportare un'immagine personalizzata da IBM Cloud VPC, è necessario disporre di un'istanza di IBM Cloud® Object Storage. Devi anche creare un bucket in Object Storage per archiviare le tue immagini. Infine, è necessario creare un'autorizzazione affinché il servizio immagini per VPC possa accedere a Object Storage.

Creazione di un'istanza del servizio IBM Cloud Object Storage

Se hai bisogno di creare un'istanza di IBM Cloud Object Storage, vedi Introduzione a IBM Cloud Object Storage.

Da Cloud Identity and Access Management, è necessario creare un'autorizzazione affinché il servizio immagini per VPC possa accedere a IBM Cloud Object Storage.

Creazione di un'autorizzazione

Per autorizzare il servizio di immagine per VPC ad accedere al servizio di destinazione, IBM Cloud Object Storage, devi creare un' autorizzazione. Per importare un'immagine, è necessario specificare il ruolo di accesso al servizio Reader per Object Storage. Per esportare un'immagine, devi specificare il ruolo di accesso del servizio Writer per IBM Cloud Object Storage. Con i ruoli di accesso ai servizi Reader e Writer per Object Storage, è possibile importare ed esportare immagini.

Concessione dell'accesso a Reader e Writer nella console

Completa la seguente procedura per creare un'autorizzazione per il Servizio immagine per VPC per importare le immagini da un'istanza del servizio IBM Cloud Object Storage e esportare le immagini a un'istanza del servizio IBM Cloud Object Storage.

  1. Dalla barra dei menu della consoleIBM Cloud, fai clic su Gestisci> Accesso (IAM) e seleziona Autorizzazioni.

  2. Nella pagina Gestisci autorizzazioni, fare clic su Crea.

  3. Effettuare la selezione per Account di origine. Per impostazione predefinita, questo account è selezionato. Fai clic su Next.

  4. Selezionare un servizio di origine per l'autorizzazione. Specificare " Servizi di infrastruttura VPC " come servizio di origine. Fai clic su Next.

  5. Per le Risorse, selezionare il modo in cui si vuole gestire l'accesso.

    1. Selezionare Risorse specifiche.
    2. Per Risorse specifiche, selezionare Tipo di risorsa e Servizio immagine per VPC.
    3. Fai clic su Next.
  6. Per il servizio di destinazione, selezionare Cloud Object Storage. Fai clic su Next.

  7. Per le Risorse, specificare il modo in cui si desidera definire l'ambito di accesso. È possibile utilizzare la selezione predefinita di Tutte le risorse. Fai clic su Next.

    Se si desidera limitare l'accesso a una risorsa specifica all'interno di IBM Cloud Object Storage, è possibile selezionare le risorse in base agli attributi selezionati. Quindi, effettuare le selezioni per restringere l'accesso in base alle proprie preferenze.

  8. Per Ruoli, selezionare entrambi i ruoli di accesso al servizio, Reader e Writer.

  9. Fare clic su Revisione per verificare che le selezioni siano corrette.

  10. Fai clic su Autorizza.

Per ulteriori informazioni, vedi il documento relativo all'utilizzo delle autorizzazioni per concedere l'accesso tra i servizi.

Concessione dell'accesso Lettore e Scrittore a tutti i bucket dalla CLI

Per concedere sia l'accesso Reader che Writer a tutti i bucket in IBM Cloud Object Storage, esegui il comando iam authorization-policy-create. Il seguente comando autorizza Image Service for VPC a importare immagini da qualsiasi bucket di un'istanza del servizio Object Storage e a esportare immagini in qualsiasi bucket di un'istanza del servizio Object Storage.

ibmcloud iam authorization-policy-create is cloud-object-storage Reader,Writer --source-resource-type image

Per ulteriori informazioni, consultare ibmcloud iam authorization-policy-create.

Concessione dell'accesso a uno specifico bucket dalla CLI

Puoi scegliere di concedere l'autorizzazione a uno specifico bucket in IBM Cloud Object Storage. L'esempio seguente descrive come concedere a Reader l'accesso a un bucket specifico per importare immagini da Object Storage. Per esportare un'immagine in Object Storage, è necessario concedere l'accesso a Writer.

Prima di eseguire il comando, è necessario conoscere il GUID dell'istanza del servizio Object Storage.

  1. Utilizzare il comando ibmcloud resource service-instance per ottenere il GUID. Vedi il seguente esempio:

    $ ibmcloud resource service-instance cos-fs-cloud-us-south
    Retrieving service instance cos-fs-cloud-us-south in all resource groups under account Test Account as test.user@ibm.com...
    OK
    
    Name:                  cos-fs-cloud-us-south
    ID:                    crn:v1:bluemix:public:cloud-object-storage:global:a/a1234567:0e4a33e6-973e-42b6-bea4-ce1b3aebe163::
    GUID:                  0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Location:              global
    Service Name:          cloud-object-storage
    Service Plan Name:     standard
    Resource Group Name:   defaults
    State:                 active
    Type:                  service_instance
    Sub Type:
    Locked:                false
    Created at:            2021-07-27T14:40:45Z
    Created by:            IBMid-12345678
    Updated at:            2021-07-27T14:40:47Z
    Last Operation:
                           Status    create succeeded
                           Message   Completed create instance operation
    
  2. Esegui il seguente comando e sostituisci $COS_INSTANCE_GUID con il valore GUID.

    ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUID
    

    Una risposta corretta è simile all'esempio seguente:

    $ ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id 0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Creating authorization policy under account a1234567 as test.user@ibm.com...
    OK
    Authorization policy 0bbcb168-bf7b-4ebf-9684-769f1d7e80e7 was created.
    
    ID:                        0bbcb168-bf7b-4ebf-9684-769f1d7e80e7
    Source service name:       is
    Source service instance:   All instances
    Source resource type:      image
    Target service name:       cloud-object-storage
    Target service instance:   0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Roles:                     Reader
    

Per ulteriori informazioni su tutti i parametri disponibili per questo comando, consultare ibmcloud iam authorization-policy-create.

Concessione dell'accesso con l'API

Per autorizzare un servizio di origine a un servizio di destinazione, utilizza l'API IAM Policy Management. Vedi il seguente esempio API per Creare un metodo di politica con il type=authorization specificato. Vengono elencati tutti gli attributi possibili.

Gli attributi supportati per creare una politica di autorizzazione dipendono da ciò che ciascun servizio supporta. Per ulteriori informazioni sugli attributi supportati per ciascun servizio, fai riferimento alla documentazione per i servizi che stai utilizzando.

L'esempio mostra una politica di autorizzazione per il servizio di immagine per VPC per accedere IBM Cloud Object Storage.

curl --location --request POST 'https://iam.cloud.ibm.com/v1/policies' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <iam token>' \
--data-raw '{
    "type": "authorization",
    "subjects": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "value": "$ACCOUNT_ID"
                },
                {
                    "name": "serviceName",
                    "value": "is"
                },
                {
                    "name": "resourceType",
                    "value": "image"
                }
            ]
        }
    ],
    "roles": [
        {
            "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
        },
        {
            "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
        }
    ],
    "resources": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "value": "$ACCOUNT_ID"
                },
                {
                    "name": "serviceName",
                    "value": "cloud-object-storage"
                }
            ]
        }
    ]
}'

Concedere l'accesso con Terraform

Per creare un criterio di autorizzazione da servizio a servizio per IBM Cloud Object Storage, utilizzare l'argomento della risorsa ibm_iam_authorization_policy nel file main.tf.

resource "ibm_iam_authorization_policy" "policy" {
  source_service_name  = "is"
  source_resource_type = "image"
  target_service_name  = "cloud-object-storage"
  roles                = ["Reader","Writer"]
  description          = "Authorization Policy"
}

Per ulteriori informazioni sugli argomenti e gli attributi, vedere la documentazione di Terraform per le risorse di autorizzazione.

Passi successivi

Dopo aver completato questi passaggi in modo che Image Service for VPC possa accedere alle immagini in Object Storage o esportare le immagini in Object Storage, continuare con uno dei seguenti argomenti: