Configurar armazenamento para a ferramenta Instantâneo Consistente de Aplicativo do Azure

Este artigo fornece um guia para configurar o armazenamento do Azure a ser usado com a ferramenta Instantâneo Consistente de Aplicativo do Azure (AzAcSnap).

Selecione o armazenamento que você está usando com o AzAcSnap.

Configure uma identidade gerenciada pelo sistema (recomendado) ou gere o arquivo de autenticação da entidade de serviço.

Quando você está validando a comunicação com os Arquivos NetApp do Azure, a comunicação pode falhar ou atingir o tempo limite. Verifique se as regras de firewall não estão bloqueando o tráfego de saída do sistema que executa o AzAcSnap para os seguintes endereços e portas TCP/IP:

  • (https://)management.azure.com:443
  • (https://)login.microsoftonline.com:443

Habilitar a comunicação com o armazenamento

Esta seção explica como habilitar a comunicação com o armazenamento. Use as guias a seguir para selecionar corretamente o back-end de armazenamento que você está usando.

Há duas maneiras de autenticar no Azure Resource Manager usando uma identidade gerenciada pelo sistema ou um arquivo principal de serviço. As opções estão descritas aqui.

Identidade gerenciada pelo sistema do Azure

A partir do AzAcSnap 9, é possível usar uma identidade gerenciada pelo sistema em vez de uma entidade de serviço para operação. O uso desse recurso evita a necessidade de armazenar credenciais da entidade de serviço em uma máquina virtual (VM). Para configurar uma identidade gerenciada do Azure usando o Azure Cloud Shell, siga estas etapas:

  1. Em uma sessão do Cloud Shell com Bash, use o exemplo a seguir para definir as variáveis do shell adequadamente e aplicá-las à assinatura onde você deseja criar a identidade gerenciada do Azure. Defina SUBSCRIPTION, VM_NAMEe RESOURCE_GROUP para os valores específicos do seu site.

    export SUBSCRIPTION="99z999zz-99z9-99zz-99zz-9z9zz999zz99"
    export VM_NAME="MyVM"
    export RESOURCE_GROUP="MyResourceGroup"
    export ROLE="Contributor"
    export SCOPE="/subscriptions/${SUBSCRIPTION}/resourceGroups/${RESOURCE_GROUP}"
    
  2. Defina o Cloud Shell para a assinatura correta:

    az account set -s "${SUBSCRIPTION}"
    
  3. Crie a identidade gerenciada para a máquina virtual. O comando a seguir define (ou mostra se já está definido) a identidade gerenciada da VM AzAcSnap:

    az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
    
  4. Obtenha o ID principal para atribuir uma função:

    PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
    
  5. Atribua a função de Colaborador à ID principal:

    az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
    

RBAC opcional

É possível limitar as permissões para a identidade gerenciada usando uma definição de função personalizada no RBAC (controle de acesso baseado em função). Crie uma definição de função adequada para que a máquina virtual possa gerenciar instantâneos. Você pode encontrar exemplos de configurações de permissões em Dicas e truques para usar a ferramenta Instantâneo Consistente do Aplicativo do Azure.

Em seguida, atribua a função à ID principal da VM do Azure (também exibida como SystemAssignedIdentity):

az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"

Gerar um arquivo principal de serviço

  1. Em uma sessão do Cloud Shell, verifique se você está conectado na assinatura em que deseja ser associado à entidade de serviço por padrão:

    az account show
    
  2. Se a assinatura não estiver correta, use o az account set comando:

    az account set -s <subscription name or id>
    
  3. Crie uma entidade de serviço usando a CLI do Azure, conforme mostrado neste exemplo:

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    O comando deve gerar saída como este exemplo:

    {
      "clientId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "clientSecret": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "subscriptionId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "tenantId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
    

    Este comando atribui automaticamente a função de Colaborador RBAC à entidade de serviço no nível da assinatura. Você pode restringir o escopo para o grupo de recursos específico onde seus testes criarão os recursos.

  4. Recorte e cole o conteúdo de saída em um arquivo chamado azureauth.json que está armazenado no mesmo sistema que o azacsnap comando. Proteja o arquivo com as permissões de sistema apropriadas.

    Verifique se o formato do arquivo JSON é exatamente como descrito na etapa anterior, com as URLs entre aspas duplas (").

Próximos passos