Octroi de l'accès à IBM Cloud Object Storage pour importer et exporter des images
Pour importer une image personnalisée sur IBM Cloud VPC, ou pour exporter une image personnalisée à partir de IBM Cloud VPC, vous devez disposer d'une instance de IBM Cloud® Object Storage. Vous devez également créer un compartiment dans Object Storage pour stocker vos images. Enfin, vous devez créer une autorisation afin que le service d'images pour VPC puisse accéder à Object Storage.
Création d'une instance de service IBM Cloud Object Storage
Si vous devez créer une instance d'IBM Cloud Object Storage, voir Initiation à IBM Cloud Object Storage.
Depuis Cloud Identity and Access Management, vous devez créer une autorisation afin que le service d'images pour VPC puisse accéder à IBM Cloud Object Storage.
Création d'une autorisation
Pour autoriser le service Image Service for VPC à accéder au service cible, IBM Cloud Object Storage, vous devez créer une autorisation. Pour importer une image, vous devez spécifier le rôle d'accès au service Reader pour Object Storage. Pour exporter une image, vous devez spécifier le rôle d'accès du service Writer pour IBM Cloud Object Storage. Avec les rôles d'accès aux services Reader et Writer pour Object Storage, vous pouvez à la fois importer et exporter des images.
Accorder l'accès au lecteur et à l'écrivain dans la console
Procédez comme suit pour créer une autorisation pour le service Image Service for VPC pour importer des images à partir d'une instance de service IBM Cloud Object Storage et exporter des images vers une instance de service IBM Cloud Object Storage.
-
Dans la barre de menus de la consoleIBM Cloud, cliquez sur Gérer > Accès (IAM) et sélectionnez Autorisations.
-
Sur la page « Gérer les autorisations », cliquez sur « Créer ».
-
Effectuez votre sélection pour le compte source. Par défaut, ce compte est sélectionné. Cliquez sur Suivant.
-
Sélectionnez un service source pour l'autorisation. Spécifiez « VPC Infrastructure Services » comme service source. Cliquez sur Suivant.
-
Pour les ressources, sélectionnez la manière dont vous souhaitez délimiter l'accès.
- Sélectionnez Ressources spécifiques.
- Pour Ressources spécifiques, sélectionnez Type de ressource et Service d'image pour VPC.
- Cliquez sur Suivant.
-
Pour le service « Target », sélectionnez Cloud Object Storage. Cliquez sur Suivant.
-
Pour les ressources, indiquez comment vous souhaitez délimiter l'accès. Vous pouvez utiliser la sélection par défaut de Toutes les ressources. Cliquez sur Suivant.
Si vous souhaitez délimiter l'accès à une ressource spécifique sur le site IBM Cloud Object Storage, vous pouvez sélectionner les ressources en fonction des attributs choisis. Ensuite, faites des sélections pour restreindre l'accès en fonction de vos préférences.
-
Pour Rôles, sélectionnez les deux rôles d'accès au service, Lecteur et Rédacteur.
-
Cliquez sur Réviser pour vous assurer que vos sélections sont correctes.
-
Cliquez sur Autoriser.
Pour plus d'informations, voir Utilisation des autorisations d'octroi d'accès entre services.
Octroi de l'accès Lecteur et Auteur à tous les compartiments à partir de l'interface de ligne de commande
Pour accorder à la fois à Reader et à Writer l'accès à tous les compartiments dans IBM Cloud Object Storage, exécutez la commande iam authorization-policy-create. La commande suivante autorise le Service
Image pour VPC à importer des images à partir de n'importe quel godet d'une instance de service Object Storage et à exporter des images vers n'importe quel godet d'une instance de service Object Storage.
ibmcloud iam authorization-policy-create is cloud-object-storage Reader,Writer --source-resource-type image
Pour plus d'informations, voir ibmcloud iam authorization-policy-create.
Octroi de l'accès à un compartiment spécifique à partir de l'interface de ligne de commande
Vous pouvez choisir d'accorder l'autorisation à un compartiment spécifique dans IBM Cloud Object Storage. L'exemple suivant décrit comment accorder à Reader l'accès à un panier spécifique pour l'importation d'images à partir de
Object Storage. Pour exporter une image vers Object Storage, vous devez également accorder l'accès à Writer.
Avant d'exécuter la commande, vous devez connaître le GUID de l'instance du service « Object Storage ».
-
Utilisez la commande
ibmcloud resource service-instancepour obtenir l'identificateur global unique. Voir l'exemple suivant :$ 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 -
Exécutez la commande suivante et remplacez «
$COS_INSTANCE_GUID» par la valeur «GUID».ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUIDUne réponse réussie ressemble à celle de l'exemple suivant :
$ 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
Pour plus d'informations sur tous les paramètres disponibles pour cette commande, consultez ibmcloud iam authorization-policy-create.
Octroi d'accès à l'aide de l'API
Pour permettre à un service source d'accéder à un service cible, utilisez l'API de gestion des règles IAM. Consultez l'exemple d'API suivant de création d'une méthode de règle avec
l'élément type=authorization spécifié. Tous les attributs possibles sont répertoriés.
Les attributs pris en charge pour la création d'une règle d'autorisation dépendent des éléments pris en charge par chaque service. Pour plus d'informations sur les attributs pris en charge pour chaque service, consultez la documentation des services que vous utilisez.
L'exemple illustre une règle d'autorisation permettant au service Image pour VPC d'accéder à 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"
}
]
}
]
}'
Accorder un accès avec Terraform
Pour créer une politique d'autorisation de service à service pour IBM Cloud Object Storage, utilisez l'argument de ressource ibm_iam_authorization_policy dans votre fichier 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"
}
Pour plus d'informations sur les arguments et les attributs, voir la documentation Terraform sur les ressources d'autorisation.
Etapes suivantes
Après avoir effectué ces étapes pour qu'Image Service for VPC puisse accéder aux images dans Object Storage ou exporter des images vers Object Storage, continuez avec l'une des rubriques suivantes :