Concedendo acesso ao IBM Cloud Object Storage para importar e exportar imagens
Para importar uma imagem personalizada para IBM Cloud VPC ou para exportar uma imagem personalizada de IBM Cloud VPC, você deve ter uma instância de IBM Cloud® Object Storage disponível. Também deve-se criar um depósito no Object Storage para armazenar as suas imagens. Por fim, é necessário criar uma autorização para que o Serviço de Imagens para VPC possa acessar Object Storage.
Criando uma instância de serviço do IBM Cloud Object Storage
Se você precisar criar uma instância do IBM Cloud Object Storage, consulte Introdução ao IBM Cloud Object Storage.
No site Cloud Identity and Access Management, você deve criar uma autorização para que o Serviço de Imagens para VPC possa acessar IBM Cloud Object Storage.
Criando uma autorização
Para autorizar o Image Service for VPC a acessar o serviço de destino, IBM Cloud Object Storage, deve-se criar uma autorização. Para importar uma imagem, você deve especificar a função de acesso ao Reader Service para Object Storage. Para exportar uma imagem, deve-se especificar a função de acesso do serviço Writer para IBM Cloud Object Storage. Com as funções de acesso ao serviço Reader e Writer para Object Storage, você pode importar e exportar imagens.
Concessão de acesso de leitor e escritor no console
Conclua as etapas a seguir para criar uma autorização para o Image Service for VPC para importar imagens de uma instância de serviço do IBM Cloud Object Storage e exportar imagens para uma instância de serviço do IBM Cloud Object Storage.
-
Na barra de menus Console do IBM Cloud., clique em Gerenciar> Acesso (IAM) e selecione Autorizações.
-
Na página “Gerenciar autorizações”, clique em “Criar ”.
-
Faça sua seleção para Conta de origem. Por padrão, esta conta está selecionada. Clique em Avançar.
-
Selecione um serviço de origem para a autorização. Especifique Serviços de infraestrutura de VPC como o serviço de origem. Clique em Avançar.
-
Para Recursos, selecione como você deseja definir o escopo do acesso.
- Selecione Recursos específicos.
- Para Recursos específicos, selecione Tipo de recurso e Serviço de imagem para VPC.
- Clique em Avançar.
-
Para o serviço de destino, selecione Cloud Object Storage. Clique em Avançar.
-
Para Recursos, especifique como você deseja definir o escopo do acesso. Você pode usar a seleção padrão de Todos os recursos. Clique em Avançar.
Se você quiser definir o escopo do acesso a um recurso específico em IBM Cloud Object Storage, poderá selecionar Recursos com base em atributos selecionados. Em seguida, faça seleções para restringir o acesso de acordo com suas preferências.
-
Em Roles (Funções), selecione as duas funções de acesso ao serviço, Reader e Writer.
-
Clique em Review (Revisar ) para ter certeza de que suas seleções estão corretas.
-
Clique em Autorizar.
Para obter mais informações, consulte Usando autorizações para conceder acesso entre os serviços.
Concedendo acesso de Leitor e Gravador a todos os depósitos a partir da CLI
Para conceder acesso Reader e Writer a todos os depósitos no IBM Cloud Object Storage, execute o comando iam authorization-policy-create. O comando a seguir autoriza o Image Service for VPC a importar
imagens de qualquer bucket em uma instância de serviço Object Storage e a exportar imagens para qualquer bucket em uma instância de serviço Object Storage.
ibmcloud iam authorization-policy-create is cloud-object-storage Reader,Writer --source-resource-type image
Para obter mais informações, consulte ibmcloud iam authorization-policy-create.
Concedendo acesso a um depósito específico por meio da CLI
É possível escolher conceder autorização para um depósito específico no IBM Cloud Object Storage. O exemplo a seguir descreve como conceder a Reader acesso a um bucket específico para importar imagens de Object Storage. Para exportar
uma imagem para Object Storage, você também deve conceder acesso a Writer.
Antes de executar o comando, é necessário saber o GUID da instância do serviço “ Object Storage ”.
-
Use o comando
ibmcloud resource service-instancepara obter o GUID. Consulte o seguinte exemplo:$ 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 -
Execute o comando a seguir e substitua
$COS_INSTANCE_GUIDpelo valorGUID.ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUIDUma resposta bem-sucedida é semelhante ao exemplo a seguir:
$ 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 obter mais informações sobre todos os parâmetros disponíveis para este comando, consulte ibmcloud iam authorization-policy-create.
Concedendo acesso com a API
Para autorizar um serviço de origem a acessar um serviço de destino, use a API de gerenciamento de política do IAM. Veja o exemplo de API a seguir para criar um método de política
com o type=authorization especificado. Todos os atributos possíveis estão listados.
Os atributos suportados para criação de uma política de autorização dependem do que cada serviço suporta. Para obter mais informações sobre os atributos suportados de cada serviço, consulte a documentação dos serviços que estão sendo usados.
O exemplo mostra uma política de autorização para o Image Service for VPC para acessar o 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"
}
]
}
]
}'
Concessão de acesso com o Terraform
Para criar uma política de autorização de serviço a serviço para IBM Cloud Object Storage, use o argumento de recurso ibm_iam_authorization_policy em seu arquivo 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 obter mais informações sobre os argumentos e atributos, consulte a documentação do Terraform para recursos de autorização.
Próximas etapas
Depois de concluir essas etapas para que o Image Service for VPC possa acessar imagens em Object Storage ou exportar imagens para Object Storage, continue com um dos tópicos a seguir: