Otorgar acceso a IBM Cloud Object Storage para importar y exportar imágenes
Para importar una imagen personalizada a IBM Cloud VPC, o para exportar una imagen personalizada desde IBM Cloud VPC, debe disponer de una instancia de IBM Cloud® Object Storage. También debe crear un grupo (bucket) en Object Storage para almacenar las imágenes. Por último, debes crear una autorización para que el Servicio de imágenes para VPC pueda acceder a Object Storage.
Creación de una instancia de servicio de IBM Cloud Object Storage
Si tiene que crear una instancia de IBM Cloud Object Storage, consulte Iniciación a IBM Cloud Object Storage.
Desde Cloud Identity and Access Management, debes crear una autorización para que el Servicio de imágenes para VPC pueda acceder a IBM Cloud Object Storage.
Creación de una autorización
Para autorizar a Image Service para que VPC acceda al servicio de destino, IBM Cloud Object Storage, debe crear una autorización. Para importar una imagen, debe especificar el rol de acceso al servicio Reader para Object Storage. Para exportar una imagen, debe especificar el rol de acceso al servicio Escritor para IBM Cloud Object Storage. Con las funciones de acceso a los servicios de lectura y escritura de Object Storage, puede importar y exportar imágenes.
Conceder acceso de lector y escritor en la consola
Realice los pasos siguientes para crear una autorización para Image Service for VPC para importar imágenes de una instancia de servicio de IBM Cloud Object Storage y exportar imágenes a una instancia de servicio de IBM Cloud Object Storage.
-
En la barra de menús de la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Autorizaciones.
-
En la página «Gestionar autorizaciones», haz clic en « Crear ».
-
Realice la selección para la Cuenta de origen. Por defecto, esta cuenta está seleccionada. Pulse Siguiente.
-
Selecciona un servicio de origen para la autorización. Especifica « Servicios de infraestructura de VPC » como servicio de origen. Pulse Siguiente.
-
En Recursos, seleccione cómo desea delimitar el acceso.
- Seleccione Recursos específicos.
- En Recursos específicos, seleccione Tipo de recurso y Servicio de imagen para VPC.
- Pulse Siguiente.
-
Para el servicio «Destino», selecciona Cloud Object Storage. Pulse Siguiente.
-
Para Recursos, especifique cómo desea delimitar el acceso. Puede utilizar la selección por defecto de Todos los recursos. Pulse Siguiente.
Si desea delimitar el acceso a un recurso específico en IBM Cloud Object Storage, puede seleccionar Recursos en función de los atributos seleccionados. A continuación, haga selecciones para limitar el acceso según sus preferencias.
-
En Roles, seleccione ambos roles de acceso al servicio, Lector y Escritor.
-
Haga clic en Revisar para asegurarse de que sus selecciones son correctas.
-
Pulse Autorizar.
Para obtener más información, consulte Uso de autorizaciones para otorgar acceso entre servicios.
Otorgamiento de acceso de lector y escritor a todos los grupos desde la CLI
Para otorgar acceso Reader y Writer a todos los grupos en IBM Cloud Object Storage, ejecute el mandato iam authorization-policy-create. El siguiente comando autoriza a Image Service for VPC tanto a importar
imágenes desde cualquier bucket en una instancia de servicio Object Storage como a exportar imágenes a cualquier bucket en una instancia de servicio Object Storage.
ibmcloud iam authorization-policy-create is cloud-object-storage Reader,Writer --source-resource-type image
Para obtener más información, consulte ibmcloud iam authorization-policy-create.
Otorgamiento de acceso a un grupo específico desde la CLI
Puede optar por otorgar autorización a un grupo específico en IBM Cloud Object Storage. El siguiente ejemplo describe cómo conceder a Reader acceso a un bucket específico para importar imágenes de Object Storage. Para exportar
una imagen a Object Storage, también debe conceder acceso a Writer.
Antes de ejecutar el comando, debes conocer el GUID de la instancia del servicio « Object Storage ».
-
Utilice el mandato
ibmcloud resource service-instancepara obtener el GUID. Consulte el ejemplo siguiente:$ 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 -
Ejecuta el siguiente comando y sustituye «
$COS_INSTANCE_GUID» por el valor «GUID».ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUIDUna respuesta satisfactoria tendrá el aspecto siguiente:
$ 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
Para obtener más información sobre todos los parámetros disponibles para este comando, consulta ibmcloud iam authorization-policy-create.
Cómo otorgar acceso con la API
Para autorizar a un servicio de origen a acceder a un servicio de destino, utilice la API de gestión de políticas de IAM. Consulte el siguiente ejemplo de API para crear un método
de política con type=authorization especificado. Se listan todos los atributos posibles.
Los atributos admitidos para crear una política de autorización dependen de lo que admite cada servicio. Para obtener más información sobre los atributos admitidos para cada servicio, consulte la documentación de los servicios que esté utilizando.
El ejemplo muestra una política de autorización para que Image Service for VPC acceda a 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"
}
]
}
]
}'
Concesión de acceso con Terraform
Para crear una política de autorización de servicio a servicio para IBM Cloud Object Storage, utilice el argumento de recurso ibm_iam_authorization_policy en su archivo 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"
}
Para obtener más información sobre los argumentos y atributos, consulte la documentación de Terraform para los recursos de autorización.
Próximos pasos
Una vez completados estos pasos para que Image Service for VPC pueda acceder a imágenes en Object Storage o exportar imágenes a Object Storage, continúe con uno de los siguientes temas: