Aplicar a extensão de VM Key Vault nos serviços de nuvem do Azure (suporte estendido)

Este artigo fornece informações básicas sobre a extensão de VM do Azure Key Vault para Windows e mostra como habilitá-la nos Serviços de Nuvem do Azure.

O que é a extensão de VM do Key Vault?

A extensão de VM de Key Vault fornece a atualização automática dos certificados armazenados no cofre de chaves do Azure. Especificamente, a extensão monitora uma lista de certificados observados armazenados em cofres de chaves. Quando uma extensão detecta uma alteração, ela recupera e instala os certificados correspondentes. Para obter mais informações, confira Extensão de VM Key Vault para Windows.

O que há de novo na extensão de VM Key Vault?

Agora há suporte para a extensão de VM Key Vault na plataforma serviços de nuvem do Azure (suporte estendido) para habilitar o gerenciamento de certificados de ponta a ponta. A extensão agora pode efetuar pull de certificados de um cofre de chaves configurado em um intervalo de sondagem predefinido e instalá-los para o serviço usar.

Como posso usar a extensão de VM do Key Vault?

O procedimento a seguir mostrará como instalar a extensão de VM do Key Vault nos Serviços de Nuvem do Azure criando primeiro um certificado de inicialização no cofre para obter um token do Azure AD (Active Directory). Esse token ajudará na autenticação da extensão com o cofre. Depois que o processo de autenticação for configurado e a extensão for instalada, todos os certificados mais recentes serão retirados automaticamente em intervalos de sondagem regulares.

Observação

A extensão da VM do Key Vault baixa todos os certificados no repositório de certificados do Windows para a localização fornecida pela propriedade certificateStoreLocation nas configurações da extensão da VM. No momento, a extensão da VM do Key Vault concede acesso à chave privada do certificado somente para a conta do administrador do sistema local.

Pré-requisitos

Para usar a extensão de VM do Azure Key Vault, você precisa ter um locatário do Azure AD. Para obter mais informações, confira Início Rápido: Configurar um locatário.

Habilitar extensão de VM do Azure Key Vault

  1. Gere um certificado no seu cofre e baixe o arquivo .cer para esse certificado.

  2. No portal do Azure, acesse Registros de aplicativo.

    Screenshot of resources available in the Azure portal, including app registrations.

  3. Na página Registros de aplicativo, selecione Novo registro.

    Screenshot that shows the page for app registrations in the Azure portal.

  4. Na próxima página, preencha o formulário e conclua a criação do aplicativo.

  5. Carregue o arquivo .cer do certificado para o portal do aplicativo do Azure AD.

    Você também pode usar o recurso de notificação da Grade de Eventos do Azure para o Key Vault para carregar o certificado.

  6. Conceda as permissões de segredo do aplicativo do Azure Active Directory no Key Vault:

    • Se estiver usando a visualização do RBAC (controle de acesso baseado em função), procure o nome do aplicativo do Azure AD que você criou e atribua a ele a função de usuário dos segredos do Key Vault (versão prévia).
    • Se estiver usando políticas de acesso ao cofre, atribua as permissões Secret-Get ao aplicativo do Azure AD que você criou. Para obter mais informações, confira Atribuir políticas de acesso.
  7. Instale a extensão de VM do Key Vault usando o snippet de modelo do Azure Resource Manager para o recurso cloudService:

    {
        "osProfile":
        {
            "secrets":
            [
                {
                    "sourceVault":
                    {
                        "id": "[parameters('sourceVaultValue')]"
                    },
                    "vaultCertificates":
                    [
                        {
                            "certificateUrl": "[parameters('bootstrpCertificateUrlValue')]"
                        }
                    ]
                }
            ]
        },
        "extensionProfile":
        {
            "extensions":
            [
                {
                    "name": "KVVMExtensionForPaaS",
                    "properties":
                    {
                        "type": "KeyVaultForPaaS",
                        "autoUpgradeMinorVersion": true,
                        "typeHandlerVersion": "1.0",
                        "publisher": "Microsoft.Azure.KeyVault",
                        "settings":
                        {
                            "secretsManagementSettings":
                            {
                                "pollingIntervalInS": "3600",
                                "certificateStoreName": "My",
                                "certificateStoreLocation": "LocalMachine",
                                "linkOnRenewal": false,
                                "requireInitialSync": false,
                                "observedCertificates": "[parameters('keyVaultObservedCertificates']"
                            },
                            "authenticationSettings":
                            {
                                "clientId": "Your AAD app ID",
                                "clientCertificateSubjectName": "Your boot strap certificate subject name [Do not include the 'CN=' in the subject name]"
                            }
                        }
                    }
                }
            ]
        }
    }
    

    Talvez seja necessário especificar o repositório de certificados para o certificado de inicialização em ServiceDefinition.csdef:

        <Certificates>
                 <Certificate name="bootstrapcert" storeLocation="LocalMachine" storeName="My" />
        </Certificates> 
    

Próximas etapas

Aprimore ainda mais sua implantação habilitando o monitoramento nos Serviços de Nuvem do Azure (suporte estendido).