Estabelecendo autorizações de serviço para serviço para o serviço de Backup

Defina autorizações entre serviços e funções de usuário para o Backup for VPC do IBM Cloud, a fim de detectar tags de recursos e criar instantâneos de backup de volumes em bloco e compartilhamentos de arquivos.

Visão geral

Para que o serviço IBM Cloud Backup for VPC funcione, você precisa fornecer uma autorização para o serviço. Em uma autorização, o serviço de origem recebe permissão para acessar o serviço de destino. As funções que você seleciona definem o nível de acesso para o serviço de origem. O serviço de destino é aquele ao qual você está concedendo permissão para ser acessado pelo serviço de origem, com base nas funções que você atribuir. Um serviço de origem pode estar na mesma conta em que a autorização é criada ou em outra conta. O serviço de destino está sempre na conta em que a autorização é criada.

Para criar uma política de backup e para que as tarefas de backup sejam executadas corretamente, o serviço de Backup precisa estar autorizado a trabalhar comBlock Storage for VPC, Instantâneos para VPC eVirtual Server for VPC Serviços.

Os administradores de contas corporativas que desejam criar uma política de backup para sua conta corporativa e suas subcontas também precisam de autorização. Mais especificamente, o serviço de backup da conta corporativa deve estar autorizado a interagir com o serviço de backup das subcontas.

Para criar uma política de backup e para que os trabalhos de backup sejam executados corretamente para compartilhamentos de arquivos, o serviço de backup precisa ser autorizado a trabalhar com File Storage for VPC.

Para obter mais informações sobre autorizações, consulte Usando autorizações para conceder acesso entre serviços..

Se você configurar as autorizações de serviço incorretamente, o serviço de backup não poderá criar as políticas de backup. Para obter mais informações, consulte o tópico de solução de problemas O que causa o erro de autorização de serviço quando tento criar uma política de backup?

Criando políticas de autorização no console

Criação de autorização para backups de volume no nível da conta

Para criar uma política de autorização de serviço para serviço, siga este procedimento:

  1. No console do IBM Cloud, acesse Gerenciar > Acesso (IAM).
  2. No painel lateral, selecione Autorizações.
  3. Na página Gerenciar autorizações, clique em Criar.
  4. Na seção Origem, selecione a Conta de origem Como você está configurando a autorização para o serviço de Backup em sua conta, selecione Esta conta. Clique em Avançar.
  5. Para o serviço de origem, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Na lista, selecione Tipo de recurso.
    4. No próximo campo, selecione IBM Cloud Backup for VPC.
    5. Clique em Avançar.
  6. Para o serviço de destino, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Clique em Tipo de recurso Selecione um dos serviços a seguir. Você precisa criar autorização para todos eles.
Autorizações de serviço para serviço
Serviço de origem - tipo de recurso Serviço de destino - tipo de recurso Função de usuário do serviço dependente
IBM Cloud Backup for VPC Block Storage for VPC Operador
IBM Cloud Backup for VPC Block Storage Snapshots for VPC Editor
IBM Cloud Backup for VPC Capturas instantâneas de vários volumes para VPC Editor
IBM Cloud Backup for VPC Virtual Server for VPC Operador

(Opcional) Para limitar o escopo da autorização a instâncias específicas de servidor virtual, clique em “Adicionar uma condição” e selecione “ID da instância” na lista de atributos. Em seguida, selecione uma instância específica no menu.

Limitar o escopo da autorização a instâncias específicas causa falhas no backup de volumes conectados a outras instâncias. Se você adicionar uma condição para “ Virtual Server for VPC ”, deverá criar uma política de autorização separada para cada instância cujos volumes precisem de backup. Para obter mais informações, consulte a seção sobre solução de problemas relacionados ao escopo de autorização.

  1. Clique em Avançar.
  2. Selecione a função.. Para obter mais informações, consulte a tabela correspondente à função em questão.
  3. Clique em Revisar e inspecione suas opções..
  4. Clique em Autorizar.
  5. Quando você retornar para a página Gerenciar autorizações, clique em Criar novamente e siga as mesmas etapas para configurar autorizações para os serviços restantes.

Criação de autorização para backups de compartilhamento de arquivos no nível da conta

Para criar uma política de autorização de serviço para serviço, siga este procedimento:

  1. No console do IBM Cloud, acesse Gerenciar > Acesso (IAM).
  2. No painel lateral, selecione Autorizações.
  3. Na página Gerenciar autorizações, clique em Criar.
  4. Na seção Origem, selecione a Conta de origem Como você está configurando a autorização para o serviço de Backup em sua conta, selecione Esta conta. Clique em Avançar.
  5. Para o serviço de origem, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Na lista, selecione Tipo de recurso.
    4. No próximo campo, selecione IBM Cloud Backup for VPC.
    5. Clique em Avançar.
  6. Para o serviço de destino, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Clique em Tipo de recurso Selecione File Storage for VPC.
  7. Clique em Avançar.
  8. Selecione as funções: Editor, Share Snapshot Operator.
  9. Clique em Revisar e inspecione suas opções..
  10. Clique em Autorizar.

Criação de autorização entre contas para backups gerenciados pela conta Enterprise a partir da conta secundária

Para que um administrador da Enterprise possa gerenciar os backups de forma centralizada, as subcontas devem autorizar o serviço de Backup da conta Enterprise a interagir com seus recursos. O administrador da conta secundária pode seguir estas etapas para criar as autorizações localmente em sua conta.

  1. No console do IBM Cloud, acesse Gerenciar > Acesso (IAM).
  2. No painel lateral, selecione Autorizações.
  3. Na página Gerenciar autorizações, clique em Criar.
  4. Na seção Origem, selecione a Conta de origem Como você está configurando a autorização para o serviço de Backup da conta corporativa, selecione Conta específica e insira o ID da conta corporativa. Clique em Avançar.
  5. Para o serviço de origem, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Na lista, selecione Tipo de recurso.
    4. No próximo campo, selecione IBM Cloud Backup for VPC.
    5. Clique em Avançar.
  6. Para o serviço de destino, selecione VPC Infrastructure Services na lista.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Clique em Tipo de recurso Selecione um dos serviços na Tabela 2.
Autorizações de serviço a serviço para a empresa
Serviço de origem - tipo de recurso Serviço de destino - tipo de recurso Função de usuário do serviço dependente
IBM Cloud Backup for VPC Block Storage for VPC Operador
IBM Cloud Backup for VPC Block Storage Snapshots for VPC Editor
IBM Cloud Backup for VPC Capturas instantâneas de vários volumes para VPC Editor
IBM Cloud Backup for VPC Virtual Server for VPC Operador
IBM Cloud Backup for VPC IBM Cloud Backup for VPC Editor
IBM Cloud Backup for VPC File Storage for VPC Editor, Operador do Share Snapshot
  1. Clique em Avançar.
  2. Selecione a função.. Para obter mais informações, consulte a Tabela 2 para identificar a função adequada.
  3. Clique em Revisar e inspecione suas opções..
  4. Clique em Autorizar.
  5. Quando você retornar para a página Gerenciar autorizações, clique em Criar novamente e siga as mesmas etapas para configurar autorizações para os serviços restantes.

Criação de modelos de autorização entre contas para backups gerenciados pelo Enterprise

Com os modelos de autorização, o administrador da conta Enterprise pode criar uma política de autorização e atribuí-la às contas subordinadas. A autorização é então aplicada a essas contas sem que o administrador precise fazer login em cada conta secundária individualmente.

  1. No console do IBM Cloud, acesse Gerenciar > Acesso (IAM) > Empresa > Modelos.
  2. Selecione “Autorizações ” e clique em “Criar ”.
  3. Digite um nome e uma descrição para o modelo de autorização que descreva sua finalidade para os usuários corporativos.
  4. Insira uma descrição para a política de autorização gerenciada pela empresa que descreva sua finalidade para usuários de contas secundárias.
  5. Clique em Criar.

Em seguida, conclua as etapas a seguir para criar as regras de autorização:

  1. Vá para Authorization (Autorização ) para especificar os detalhes da política de autorização.
  2. Selecione a conta da qual o serviço de origem solicita acesso a outro serviço. Selecione Assigned account(s) (Contas atribuídas ). Quando você atribuir o modelo de autorização a uma conta subordinada posteriormente, o campo “conta de origem” será definido automaticamente para corresponder à conta subordinada que contém o recurso acessado.
  3. Em seguida, selecione o serviço e os recursos de origem.
    1. Selecione “Serviços de infraestrutura da VPC ” na lista. Clique em Avançar.
    2. Selecione o escopo clicando em Recursos específicos.
    3. Clique em “Selecionar um atributo ”.
    4. Na lista, selecione Tipo de recurso.
    5. No próximo campo, selecione IBM Cloud Backup for VPC.
  4. Para o serviço de destino, selecione VPC Infrastructure Services na lista.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Na lista, selecione Tipo de recurso. Selecione um dos serviços da tabela a seguir. Você precisa criar autorização para todos eles.
Autorizações de serviço a serviço para a empresa
Serviço de origem - tipo de recurso Serviço de destino - tipo de recurso Função de usuário do serviço dependente
IBM Cloud Backup for VPC Block Storage for VPC Operador
IBM Cloud Backup for VPC Block Storage Snapshots for VPC Editor
IBM Cloud Backup for VPC Capturas instantâneas de vários volumes para VPC Editor
IBM Cloud Backup for VPC Virtual Server for VPC Operador
IBM Cloud Backup for VPC IBM Cloud Backup for VPC Editor
IBM Cloud Backup for VPC File Storage for VPC Editor, Operador do Share Snapshot
  1. Clique em Avançar.
  2. Selecione a função.. Para obter mais informações, consulte a tabela correspondente à função em questão.
  3. Clique em Revisar e inspecione suas opções.. Em seguida, clique em Salvar.
  4. Confirme e atribua o modelo às contas subordinadas. Repita as etapas para criar modelos de autorização para todos os serviços.

Criação de autorização para Event Notifications

Para criar uma política de autorização de serviço a serviço para Event Notifications, siga este procedimento:

  1. No console do IBM Cloud, acesse Gerenciar > Acesso (IAM).
  2. No painel lateral, selecione Autorizações.
  3. Na página Gerenciar autorizações, clique em Criar.
  4. Na seção Origem, selecione a Conta de origem Como você está configurando a autorização para o serviço de Backup em sua conta, selecione Esta conta. Clique em Avançar.
  5. Para o serviço de origem, selecione VPC Infrastructure Services na lista. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em Selecionar um atributo e, na lista, selecione Tipo de recurso.
    3. No próximo campo, selecione IBM Cloud Backup for VPC.
    4. Clique em Avançar.
  6. Selecione Event Notifications como serviço de destino. Clique em Avançar.
    1. Selecione o escopo clicando em Recursos específicos.
    2. Clique em “Selecionar um atributo ”.
    3. Clique em serviceInstance.
    4. No próximo campo, selecione a string equals (igual ).
    5. No próximo campo, selecione a instância de serviço Event Notifications que você deseja autorizar.
  7. Selecione a função Gerente de origem de eventos.
  8. Clique em Revisar e inspecione suas opções..
  9. Clique em Autorizar.

Criando políticas de autorização por meio da CLI

Criação de autorização para backups de volume no nível da conta

Para usar o Backup for VPC em sua conta a fim de criar políticas e planos, bem como executar tarefas de backup para volumes de armazenamento em bloco, crie as seguintes autorizações de serviço para serviço:

  • backup-policy (origem) para instance (destino) com função Operador
  • backup-policy (origem) para volume (destino) com função Operador
  • backup-policy (origem) para snapshot (destino) com função Editor
  • backup-policy (origem) para snapshot-consistency-group (destino) com função Editor
  1. Crie quatro arquivos JSON com as seguintes informações para as políticas de autorização.

Mantenha os valores dos caracteres curinga ("*") nos exemplos. Substituir curingas por IDs de recursos específicos limita o escopo da autorização e causa falhas no backup. Para obter mais informações, consulte a seção sobre solução de problemas relacionados ao escopo de autorização.

  • Serviço de instância:
    {
      "type": "authorization",
      "subject": {
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "value": "is"},
               {"name": "resourceType", "value": "backup-policy"}]}},
      "roles": [
          {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}],
      "resources": [
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "operator": "stringEquals", "value": "is"},
               {"name": "instanceId", "operator": "stringEquals", "value": "*"}]}]
      }
    
  • Block Storage serviço de volume:
    {
      "type": "authorization",
      "subject": {
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "value": "is"},
               {"name": "resourceType", "value": "backup-policy"}]}},
      "roles": [
          {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}],
      "resources": [
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "operator": "stringEquals", "value": "is"},
               {"name": "volumeId", "operator": "stringEquals", "value": "*"}]}]
    }
    
  • Block Storage serviço de instantâneos:
    {
      "type": "authorization",
      "subject": {
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "value": "is"},
               {"name": "resourceType", "value": "backup-policy"}]}},
      "roles": [
          {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}],
      "resources": [
          {"attributes": [
               {"name": "accountId", "value": "ACCOUNT_ID"},
               {"name": "serviceName", "operator": "stringEquals", "value": "is"},
               {"name": "snapshotId", "operator": "stringEquals", "value": "*"}]}]
    }
    
  • Grupo de consistências de captura instantânea:
    {
     "type": "authorization",
     "subject": {
         {"attributes": [
              {"name": "accountId", "value": "ACCOUNT_ID"},
              {"name": "serviceName", "value": "is"},
              {"name": "resourceType", "value": "backup-policy"}]}},
     "roles": [
         {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}],
     "resources": [
         {"attributes": [
              {"name": "accountId", "value": "ACCOUNT_ID"},
              {"name": "serviceName", "operator": "stringEquals", "value": "is"},
              {"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]}]
    }
    
  1. Em seguida, use os arquivos JSON para executar o comando da CLI a seguir.
    ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
    

Para obter mais informações sobre todos os parâmetros disponíveis para esse comando, consulte ibmcloud iam authorization-policy-create.

Criação de autorização para backups de compartilhamento de arquivos no nível da conta

Para criar uma política de autorização de serviço a serviço para backups de compartilhamento File Storage for VPC, use o comando authorization-policy-create.

ibmcloud iam authorization-policy-create is is "Share Snapshot Operator",Editor --source-resource-type backup-policy --target-resource-type share

Para obter mais informações sobre todos os parâmetros disponíveis para esse comando, consulte ibmcloud iam authorization-policy-create.

Criação de modelos de autorização entre contas para backups gerenciados pelo Enterprise

Os administradores de contas corporativas podem criar e atribuir modelos de políticas de autorização a contas subordinadas para gerenciar as autorizações de forma centralizada. Para criar um modelo de política de autorização a ser utilizado com políticas de backup em todas as contas subordinadas da Enterprise, siga as etapas a seguir.

  1. Para obter o ID da conta raiz da empresa, você pode executar o seguinte comando.
ibmcloud enterprise show
  1. Crie os arquivos JSON que fornecem a definição do modelo de política de autorização. Para obter mais informações sobre os atributos que você pode usar em seu arquivo JSON, consulte a API de gerenciamento de políticas do IAM.
  • Serviço de instância:

    {
     "name": "Centralized authorization for Backup service to work with Instances",
     "description": "Grant Operator Role for the Backup service to work with Instances",
     "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
     "policy":{
       "type": "authorization",
       "description": "Grant Operator on VPC Instances",
       "control":{
           "grant":{
             "roles":[
               {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}]
             }},
       "subject":{
           "attributes":[
               {"key": "serviceName", "operator": "stringEquals", "value": "is"},
               {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"}
             ]},
       "resource":{
           "attributes":[
               {"key": "serviceName", "operator": "stringEquals", "value": "is"},
               {"key": "instanceId", "operator": "stringExists", "value": true}
             ]}}
    }
    
    • Block Storage serviço de volume:
    {
         "name": "Centralized authorization for Backup service to work with Block Storage service",
         "description": "Grant Operator Role for the Backup service to work with Block Storage volumes",
         "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
         "policy":{
           "type": "authorization",
           "description": "Grant Operator on Block Storage for VPC volumes",
           "control": {
               "grant": {
                 "roles": [
                   {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}]
               }},
           "subject": {
             "attributes": [
               {"key": "serviceName", "value": "is"},
               {"key": "resourceType", "value": "backup-policy"}
               ]},
           "resource": {
             "attributes": [
                {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                {"key": "volumeId", "operator": "stringExists", "value": "true"}
               ]}}
    }
    
    • Block Storage serviço de instantâneos:
    {
         "name": "Centralized authorization for Backup service to work with Block Storage snapshots",
         "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots",
         "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
         "policy": {
           "type": "authorization",
           "description": "Grant Editor on Block Storage for VPC snapshots",
           "control": {
               "grant": {
                 "roles": [
                   {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]
               }},
           "subject": {
             "attributes": [
               {"key": "serviceName", "value": "is"},
               {"key": "resourceType", "value": "backup-policy"}
               ]},
           "resource": {
             "attributes": [
               {"key": "serviceName", "operator": "stringEquals", "value": "is"},
               {"key": "snapshotId", "operator": "stringExists", "value": "true"}
               ]}}
    }
    
    • Grupo de consistências de captura instantânea:
     {
          "name": "Centralized authorization for Backup service to work with snapshot consistency groups",
          "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups",
          "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
          "policy": {
            "type": "authorization",
            "description": "Grant Editor on snapshot consistency groups",
            "control": {
                "grant": {
                  "roles": [
                    {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]
                }},
            "subject": {
              "attributes": [
                {"key": "serviceName", "value": "is"},
                {"key": "resourceType", "value": "backup-policy"}
                ]},
            "resource": {
              "attributes": [
                {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"}
                ]}}
     }
    
    • Compartilhamentos de arquivos:
      {
           "name": "Centralized authorization for Backup service to work with File shares",
           "description": "Grant Editor Role for the Backup service to work with File shares",
           "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
           "policy": {
             "type": "authorization",
             "description": "Grant Editor, and Share Snapshot Operator roles on File shares",
             "control": {
                 "grant": {
                   "roles": [
                     {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"},{"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}]
             },
             "subject": {
               "attributes": [
                 {"key": "serviceName", "value": "is"},
                 {"key": "resourceType", "value": "backup-policy"}]
             },
             "resource": {
               "attributes": [
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "shareId", "operator": "stringExists", "value": "true"}]
             }
           }
      }
    
  1. Execute o comando authorization-policy-template-create com o arquivo JSON, conforme mostrado na solicitação de amostra a seguir:

    ibmcloud iam authorization-policy-template-create --file /path/to/vpc-share-authorization-template.json
    
  2. Repita o procedimento para todos os arquivos JSON. Quando você terminar, os modelos estarão prontos para serem confirmados e atribuídos a contas secundárias.

  3. Execute os seguintes comandos para confirmar a versão do modelo e atribuir o modelo às contas de destino.

    ibmcloud iam authorization-policy-template-version-commit (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION [-q, --quiet]
    
    ibmcloud iam authorization-policy-assignment-create (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION --target-type TYPE --target TARGET [-q, --quiet] [-o, --output FORMAT]
    

Para obter mais informações sobre todos os parâmetros disponíveis para este comando, consulte ibmcloud iam authorization-policy-template-create.

Criação de autorização para Event Notifications

Para criar uma política de autorização de serviço a serviço para Event Notifications, use o comando ' authorization-policy-create.

ibmcloud iam authorization-policy-create is event-notification EventSourceManager --source-resource-type backup-policy --target-resource-instance $en-instance-ID

Para obter mais informações sobre todos os parâmetros disponíveis para esse comando, consulte ibmcloud iam authorization-policy-create.

Criando políticas de autorização com a API

Criação de autorização para backups de volume no nível da conta

Para usar o Backup for VPC em sua conta a fim de criar políticas e planos, bem como executar tarefas de backup para volumes de armazenamento em bloco, crie as seguintes autorizações de serviço para serviço:

  • is.backup-policy (origem) para is.instance (destino) com função operator .
  • is.backup-policy (origem) para is.volume (destino) com função operator .
  • is.backup-policy (origem) para is.snapshot (destino) com função editor .
  • is.backup-policy (origem) para is.snapshot-consistency-group com a função editor

Faça a solicitação para a API do IAM Policy Management, semelhante aos exemplos a seguir.

Mantenha os valores dos caracteres curinga ("*") nos exemplos. Substituir curingas por IDs de recursos específicos limita o escopo da autorização e causa falhas no backup. Para obter mais informações, consulte a seção sobre solução de problemas relacionados ao escopo de autorização.

curl -X POST 'https://iam.cloud.ibm.com/v1/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
   "type": "access",
   "description": "Operator role for the Backup service to the Virtual Server service",
   "subjects": [
    {"attributes": [
       {"name": "serviceName", "value": "is"},
       {"name": "accountId", "value": "$ACCOUNT_ID"},
       {"name": "resourceType", "value": "backup-policy"}]
    }
   ],
  "roles":[
    {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
   ],
   "resources":[
    {"attributes":[
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "serviceName", "operator": "stringEquals", "value": "is"},
      {"name": "instanceId", "operator": "stringEquals", "value": "*"}]
    }
  ]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
   "type": "access",
   "description": "Operator role for the Backup service to the Cloud Block Storage",
   "subjects":[
    {"attributes":[
      {"name": "serviceName", "value": "is"},
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "resourceType", "value": "backup-policy"}]
    }],
   "roles":[
    {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
    ],
   "resources":[
    {"attributes": [
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"},
      {"name": "volumeId", "operator": "stringEquals", "value": "*"}
     ]
    }
   ]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
   "type": "access",
   "description": "Editor role for the Backup service to Block Storage Snapshots",
   "subjects": [
    {"attributes": [
      {"name": "serviceName", "value": "is"},
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "resourceType", "value": "backup-policy"}]
    }
   ],
   "roles":[
    {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
   ],
   "resources":[
    {"attributes": [
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "serviceName", "operator": "stringEquals", "value": "is"},
      {"name": "snapshotId", "operator": "stringEquals", "value": "*"}]
    }
   ]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
   "type": "access",
   "description": "Editor role for the Backup service to the Snapshot consistency groups",
   "subjects": [
    {"attributes": [
       {"name": "serviceName", "value": "is"},
       {"name": "accountId", "value": "$ACCOUNT_ID"},
       {"name": "resourceType", "value": "backup-policy"}]
    }
   ],
  "roles":[
    {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
   ],
   "resources":[
    {"attributes":[
      {"name": "accountId", "value": "$ACCOUNT_ID"},
      {"name": "serviceName", "operator": "stringEquals", "value": "is"},
      {"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]
    }
  ]
}'

Para obter mais informações, consulte a especificação de api para o IAM Policy Management.

Criação de autorização entre contas para backups de volume gerenciados pela empresa a partir da conta secundária

Para permitir que um administrador Enterprise gerencie backups centralmente, as subcontas devem fornecer autorização para o serviço de Backup da conta Enterprise para interagir com os recursos das contas filhas.

  1. Faça uma solicitação de API para a Enterprise Management API para obter o ID da conta da conta corporativa pai.

    curl -X GET "https://enterprise.cloud.ibm.com/v1/enterprises"
    -H "Authorization: Bearer <IAM_Token>"
    -H 'Content-Type: application/json'
    
  2. Em seguida, faça as solicitações para a API do IAM Policy Management para criar as autorizações de serviço para o is.backup-policy da conta corporativa para interagir com os serviços is.backup, is.snapshot, is.volume, is.snapshot-consistency-group e is.instance da conta-filha.

    • Autorize is.backup-policy (origem) para interagir com is.backup-policy (destino) com a função editor .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H
    'Authorization: Bearer $TOKEN' -H
    'Content-Type: application/json' -d
    '{
      "type": "access",
      "description": "Editor role for the Enterprise account's backup service to interact with this account's backup service.",
      "subjects": [
        {"attributes": [
           {"name": "serviceName", "value": "is"},
           {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"},
           {"name": "resourceType", "value": "backup-policy"}]
         }
       ],
      "roles":[
        {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
      ],
      "resources":[
        {"attributes":[
           {"name": "accountId", "value": "$SUB_ACCOUNT_ID", "operator": "stringEquals"},
           {"name": "serviceName", "operator": "stringEquals", "value": "is"},
           {"name": "backupPolicyId", "operator": "stringEquals", "value": "*"}]
        }
       ]
      }'
    
    • Autorize o is.backup-policy (origem) para interagir com o is.volume (destino) com a função operator .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H
    'Authorization: Bearer $TOKEN' -H
    'Content-Type: application/json' -d
    '{
      "type": "access",
      "description": "Operator role for the Enterprise account's backup service to interact with this account's volume service",
      "subjects": [
        {
         "attributes": [
           {"name": "serviceName", "value": "is"},
           {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"},
           {"name": "resourceType", "value": "backup-policy"}]
         }
       ],
      "roles":[
        {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"}
       ],
      "resources":[
        {"attributes": [
           {"name": "accountId", "value": "$SUB_ACCOUNT_ID"},
           {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"},
           {"name": "volumeId", "operator": "stringEquals", "value": "*"}]
        }
       ]
    }'
    
    • Autorize is.backup-policy (origem) para interagir com is.snapshot (destino) com a função editor .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H
    'Authorization: Bearer $TOKEN' -H
    'Content-Type: application/json' -d
     '{
       "type": "access",
       "description": "Editor role for the Enterprise account's backup service to interact with this account's snapshots",
       "subjects":[
        {
         "attributes":[
           {"name": "serviceName", "value": "is"},
           {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"},
           {"name": "resourceType", "value": "backup-policy"}]
         }
        ],
       "roles":[
          {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
        ],
       "resources":[
          {"attributes": [
           {"name": "accountId", "value": "$SUB_ACCOUNT_ID"},
           {"name": "serviceName", "operator": "stringEquals", "value": "is"},
           {"name": "snapshotId", "operator": "stringEquals", "value": "*"}]
        }
       ]
     }'
    
    • Autorize o is.backup-policy (origem) para interagir com o is.instance (destino) com a função operator .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H
    'Authorization: Bearer $TOKEN' -H
    'Content-Type: application/json' -d
    '{
      "type": "access",
      "description": "Operator role for the Enterprise account's backup service to interact with this account's virtual server instance service",
      "subjects": [
        {"attributes": [
           {"name": "serviceName", "value": "is"},
           {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"},
           {"name": "resourceType", "value": "backup-policy"}]
         }
       ],
      "roles":[
        {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"}
       ],
      "resources":[
        {"attributes": [
           {"name": "accountId", "value": "$SUB_ACCOUNT_ID"},
           {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"},
           {"name": "instanceId", "operator": "stringEquals", "value": "*"}]
        }
       ]
    }'
    

Para obter mais informações, consulte a especificação de api para o IAM Policy Management.

Criação de autorização para backups de compartilhamento de arquivos

Para usar o Backup for VPC em sua conta a fim de criar políticas e planos, bem como executar tarefas de backup para compartilhamentos de arquivos, faça a seguinte solicitação para criar a autorização de serviço para serviço necessária.

curl -X POST 'https://iam.cloud.ibm.com/v2/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
     "type": "authorization",
     "description": "IAM roles for the Backup service to Cloud File Storage",
     "subject": {
        "attributes": [
            {"key": "serviceName","operator": "stringEquals","value": "is"},
            {"key": "accountId","operator": "stringEquals","value": "a1234567"},
            {"key": "resourceType","operator": "stringEquals","value": "backup-policy"}]
     },
     "control": {
        "grant": {
            "roles": [
                {"role_id":"crn:v1:bluemix:public:is::::serviceRole:ShareSnapshotOperator"},
                {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]}
     },
     "resource": {
        "attributes": [
            {"key": "accountId","operator": "stringEquals","value": "a1234567"},
            {"key": "serviceName","operator": "stringEquals","value": "is"},
            {"key": "shareId","operator": "stringExists","value": true}]
     }
    }'

Criação de modelos de autorização entre contas para backups gerenciados pelo Enterprise

Os administradores de contas corporativas podem, por meio de programação, criar e atribuir modelos de políticas de autorização a contas subordinadas para gerenciar as autorizações de forma centralizada. Para criar um modelo de política de autorização a ser utilizado com políticas de backup em todas as contas subordinadas da Enterprise, siga as etapas a seguir.

  1. Faça uma solicitação de API para a Enterprise Management API para obter o ID da conta da conta corporativa pai.

    curl -X GET `https://enterprise.cloud.ibm.com/v1/enterprises`
    -H "Authorization: Bearer <IAM_Token>"
    -H 'Content-Type: application/json'
    
  2. Em seguida, faça as solicitações à API de gerenciamento de políticas do IAM para criar as autorizações de serviço a serviço para que a conta is.backup-policy da conta Enterprise interaja com os serviços is.backup, is.snapshot, is.volume, is.snapshot-consistency-group e is.instance da conta filha atribuída.

    • Autorize is.backup-policy (origem) para interagir com is.backup-policy (destino) com a função editor .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
       "name": "Centralized authorization for Backup service to work with Instances",
       "description": "Grant Operator Role for the Backup service to work with Instances",
       "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
       "policy":{
         "type": "authorization",
         "description": "Grant Operator on VPC Instances",
         "control":{
             "grant":{
               "roles":[
                 {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}]
               }},
         "subject":{
             "attributes":[
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"}
               ]},
         "resource":{
             "attributes":[
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "instanceId", "operator": "stringExists", "value": true}
               ]}}
      }
    
    • Autorize o is.backup-policy (origem) para interagir com o is.volume (destino) com a função operator .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
           "name": "Centralized authorization for Backup service to work with Block Storage service",
           "description": "Grant Operator Role for the Backup service to work with Block Storage volumes",
           "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
           "policy":{
             "type": "authorization",
             "description": "Grant Operator on Block Storage for VPC volumes",
             "control": {
                 "grant": {
                   "roles": [
                     {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}]
                 }},
             "subject": {
               "attributes": [
                 {"key": "serviceName", "value": "is"},
                 {"key": "resourceType", "value": "backup-policy"}
                 ]},
             "resource": {
               "attributes": [
                  {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                  {"key": "volumeId", "operator": "stringExists", "value": "true"}
                 ]}}
      }'
    
    • Autorize is.backup-policy (origem) para interagir com is.snapshot (destino) com a função editor .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
           "name": "Centralized authorization for Backup service to work with Block Storage snapshots",
           "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots",
           "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
           "policy": {
             "type": "authorization",
             "description": "Grant Editor on Block Storage for VPC snapshots",
             "control": {
                 "grant": {
                   "roles": [
                     {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]
                 }},
             "subject": {
               "attributes": [
                 {"key": "serviceName", "value": "is"},
                 {"key": "resourceType", "value": "backup-policy"}
                 ]},
             "resource": {
               "attributes": [
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "snapshotId", "operator": "stringExists", "value": "true"}
                 ]}}
      }'
    
    • Autorize o is.backup-policy (origem) para interagir com o is.instance (destino) com a função operator .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
       "name": "Centralized authorization for Backup service to work with Instances",
       "description": "Grant Operator Role for the Backup service to work with Instances",
       "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
       "policy":{
         "type": "authorization",
         "description": "Grant Operator on VPC Instances",
         "control":{
             "grant":{
               "roles":[
                 {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}]
               }},
         "subject":{
             "attributes":[
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"}
               ]},
         "resource":{
             "attributes":[
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "instanceId", "operator": "stringExists", "value": true}
               ]}}
      }`
    
    • Autorize is.backup-policy (origem) para interagir com is.snapshotConsistencyGroup (destino) com a função editor .
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
           "name": "Centralized authorization for Backup service to work with snapshot consistency groups",
           "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups",
           "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
           "policy": {
             "type": "authorization",
             "description": "Grant Editor on snapshot consistency groups",
             "control": {
                 "grant": {
                   "roles": [
                     {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]
                 }},
             "subject": {
               "attributes": [
                 {"key": "serviceName", "value": "is"},
                 {"key": "resourceType", "value": "backup-policy"}
                 ]},
             "resource": {
               "attributes": [
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"}
                 ]}}
      }`
    
    • Autorizar is.backup-policy (fonte) para interagir com is.share (destino) com o editor e compartilhe funções de operador de instantâneo.
    curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates'
    -H 'Authorization: Bearer $TOKEN'
    -H 'Content-Type: application/json'
    -d '{
           "name": "Centralized authorization for Backup service to work with File shares",
           "description": "Grant Editor Role for the Backup service to work with File shares",
           "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
           "policy": {
             "type": "authorization",
             "description": "Grant Editor, and Share Snapshot Operator roles on File shares",
             "control": {
                 "grant": {
                   "roles": [
                     {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"},
                     {"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}]}
             },
             "subject": {
               "attributes": [
                 {"key": "serviceName", "value": "is"},
                 {"key": "resourceType", "value": "backup-policy"}]
             },
             "resource": {
               "attributes": [
                 {"key": "serviceName", "operator": "stringEquals", "value": "is"},
                 {"key": "shareId", "operator": "stringExists", "value": "true"}]
             }
           }
      }'
    
  3. Depois de criar os modelos de autorização, você deve confirmá-los e atribuí-los às contas.

Para obter mais informações, consulte a especificação de api para o IAM Policy Management.

Criação de autorização para Event Notifications

Para criar uma política de autorização entre serviços para Event Notifications, faça uma solicitação de API para conceder acesso a is.backup-policy (origem) a event-notification (destino) com a função EventSourceManager.

curl -X POST 'https://iam.cloud.ibm.com/v2/policies' -H
'Authorization: Bearer $TOKEN' -H
'Content-Type: application/json' -d
'{
  "type": "access",
  "description": "Event Source Manager role for the backup service to interact with the Event notification service",
  "subjects": [
       {"attributes": [
          {"name": "serviceName", "value": "is"},
          {"name": "resourceType", "value": "backup-policy"}]
        }
  ],
  "roles":[
       {"role_id" "crn:v1:bluemix:public:iam::::role:EventSourceManager"}
  ],
  "resource":[
       {"attributes": [
          {"name": "serviceName", "operator": "stringEquals", "value": "event-notification"},
          {"name": "instanceId", "operator": "stringEquals", "value": "<en-instance-ID>"}]
       }
  ]
}'

Criando políticas de autorização com o Terraform

Criação de autorização para backups de volume no nível da conta

Crie uma política de autorização entre serviços usando o argumento de recurso ibm_iam_authorization_policy no arquivo main.tf.

Mantenha operator = "stringExists" com value = "true" para os atributos dos recursos. A mudança para "stringEquals" com IDs de recursos específicos limita o escopo da autorização e causa falhas no backup. Para obter mais informações, consulte a seção sobre solução de problemas relacionados ao escopo de autorização.

resource "ibm_iam_authorization_policy" "policy1" {
  subject_attributes {
    name  = "accountId"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  subject_attributes {
    name  = "serviceName"
    value = "is"
  }
  subject_attributes {
    name  = "resourceType"
    value = "backup-policy"
  }
  resource_attributes {
    name  = "accountId"
    operator = "stringEquals"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  resource_attributes {
    name  = "serviceName"
    operator = "stringEquals"
    value = "is"
  }
  resource_attributes {
    name  = "volumeId"
    operator = "stringExists"
    value = "true"
  }
  roles   = ["Operator"]
}
resource "ibm_iam_authorization_policy" "policy2" {
  subject_attributes {
    name  = "accountId"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  subject_attributes {
    name  = "serviceName"
    value = "is"
  }
  subject_attributes {
    name  = "resourceType"
    value = "backup-policy"
  }
  resource_attributes {
    name  = "accountId"
    operator = "stringEquals"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  resource_attributes {
    name  = "serviceName"
    operator = "stringEquals"
    value = "is"
  }
  resource_attributes {
    name  = "snapshotId"
    operator = "stringExists"
    value = "true"
  }
  roles   = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy3" {
  subject_attributes {
    name  = "accountId"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  subject_attributes {
    name  = "serviceName"
    value = "is"
  }
  subject_attributes {
    name  = "resourceType"
    value = "backup-policy"
  }
  resource_attributes {
    name  = "accountId"
    operator = "stringEquals"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  resource_attributes {
    name  = "serviceName"
    operator = "stringEquals"
    value = "is"
  }
  resource_attributes {
    name  = "snapshotConsistencyGroupId"
    operator = "stringExists"
    value = "true"
  }
  roles   = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy4" {
  subject_attributes {
    name  = "accountId"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  subject_attributes {
    name  = "serviceName"
    value = "is"
  }
  subject_attributes {
    name  = "resourceType"
    value = "backup-policy"
  }
  resource_attributes {
    name  = "accountId"
    operator = "stringEquals"
    value = data.ibm_iam_account_settings.iam.account_id
  }
  resource_attributes {
    name  = "serviceName"
    operator = "stringEquals"
    value = "is"
  }
  resource_attributes {
    name  = "instanceId"
    operator = "stringExists"
    value = "true"
  }
  roles   = ["Operator"]
}

Para obter mais informações sobre os argumentos e atributos, consulte a documentação do Terraform para recursos de autorização..

Criação de autorização para backups de compartilhamento de arquivos

Crie uma política de autorização entre serviços usando o argumento de recurso ibm_iam_authorization_policy no arquivo main.tf.

resource "ibm_iam_authorization_policy" "policy1" {
   source_service_name  = "is"
   source_resource_type = "backup-policy"
   target_service_name  = "is"
   target_resource_type = "share"
   roles                = ["ShareSnapshotOperator,Editor"]
}

Para obter mais informações sobre os argumentos e atributos, consulte a documentação do Terraform para recursos de autorização..

Criação de autorização para Event Notifications

Para criar uma política de autorização de serviço a serviço para Event Notifications, use o argumento de recurso ' ibm_iam_authorization_policy em seu arquivo ' main.tf.

resource "ibm_iam_authorization_policy" "en-policy" {
   source_service_name         = "is"
   source_resource_type        = "backup-policy"
   source_resource_instance_id = ibm_backup-policy_instance.instance.guid
   target_service_name         = "event-notification"
   target_resource_instance_id = ibm_event-notification_instance.instance.guid
   roles                       = ["EventSourceManager"]
}

Para obter mais informações sobre os argumentos e atributos, consulte a documentação do Terraform para recursos de autorização..

Próximas etapas