Segredo do Cofre da Chave de Acesso ao implantar Aplicativos Gerenciados do Azure
Quando precisar passar um valor seguro (como uma senha) como parâmetro durante a implantação, você poderá recuperar o valor de um Cofre de Chaves do Azure. Para acessar o Cofre da Chave ao implantar Aplicativos Gerenciados, você deve conceder acesso à entidade de serviço do Provedor de Recursos do Aparelho . O serviço Aplicativos Gerenciados usa essa identidade para executar operações. Para recuperar com êxito um valor de um Cofre da Chave durante a implantação, a entidade de serviço deve ser capaz de acessar o Cofre da Chave.
Este artigo descreve como configurar o Cofre da Chave para trabalhar com Aplicativos Gerenciados.
Habilitar a implantação de modelo
Inicie sessão no portal do Azure.
Abra o cofre das chaves. Insira cofres de chaves na caixa de pesquisa ou selecione Cofres de chaves.
Selecione Configuração de acesso.
Selecione Azure Resource Manager para implantação de modelo. Em seguida, selecione Aplicar.
Adicionar serviço como contribuidor
Atribua a função de Colaborador ao usuário do Provedor de Recursos do Appliance no escopo do cofre de chaves. A função de Colaborador é uma função de administrador privilegiada para a atribuição de função. Para obter etapas detalhadas, vá para Atribuir funções do Azure usando o portal do Azure.
O Appliance Resource Provider é uma entidade de serviço no seu locatário do Microsoft Entra. No portal do Azure, você pode verificar seu registro em aplicativos Microsoft Entra ID>Enterprise e alterar o filtro de pesquisa para Aplicativos Microsoft. Pesquise por Appliance Resource Provider. Se a entidade de serviço não for encontrada, registre o provedor de Microsoft.Solutions
recursos.
Segredo do Cofre da Chave de Referência
Para passar um segredo de um Cofre de Chaves para um modelo em seu Aplicativo Gerenciado, você deve usar um modelo vinculado ou aninhado e fazer referência ao Cofre de Chaves nos parâmetros do modelo vinculado ou aninhado. Forneça o ID do recurso do Cofre da Chave e o nome do segredo.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location where the resources will be deployed."
}
},
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault that contains the secret."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "The name of the secret."
}
},
"vaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The name of the resource group that contains the key vault."
}
},
"vaultSubscription": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "The name of the subscription that contains the key vault."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "dynamicSecret",
"properties": {
"mode": "Incremental",
"expressionEvaluationOptions": {
"scope": "inner"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"type": "string"
},
"adminPassword": {
"type": "securestring"
},
"location": {
"type": "string"
}
},
"variables": {
"sqlServerName": "[concat('sql-', uniqueString(resourceGroup().id, 'sql'))]"
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2022-05-01-preview",
"name": "[variables('sqlServerName')]",
"location": "[parameters('location')]",
"properties": {
"administratorLogin": "[parameters('adminLogin')]",
"administratorLoginPassword": "[parameters('adminPassword')]"
}
}
],
"outputs": {
"sqlFQDN": {
"type": "string",
"value": "[reference(variables('sqlServerName')).fullyQualifiedDomainName]"
}
}
},
"parameters": {
"location": {
"value": "[parameters('location')]"
},
"adminLogin": {
"value": "ghuser"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "[resourceId(parameters('vaultSubscription'), parameters('vaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
},
"secretName": "[parameters('secretName')]"
}
}
}
}
}
],
"outputs": {
}
}
Próximos passos
Você configurou seu Cofre da Chave para estar acessível durante a implantação de um Aplicativo Gerenciado.
- Para obter informações sobre como passar um valor de um Cofre de Chaves como um parâmetro de modelo, vá para Usar o Cofre de Chaves do Azure para passar o valor de parâmetro seguro durante a implantação.
- Para saber mais sobre a segurança do cofre de chaves, vá para Segurança e Autenticação do Cofre de Chaves do Azure no Cofre de Chaves do Azure.
- Para obter exemplos de aplicativos gerenciados, vá para Projetos de exemplo para aplicativos gerenciados do Azure.
- Para saber como criar um arquivo de definição de interface do usuário para um aplicativo gerenciado, vá para Introdução a CreateUiDefinition.