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

  1. Inicie sessão no portal do Azure.

  2. Abra o cofre das chaves. Insira cofres de chaves na caixa de pesquisa ou selecione Cofres de chaves.

    Screenshot of the Azure home page to open a key vault using search or by selecting key vault.

  3. Selecione Configuração de acesso.

    Screenshot of the key vault setting to select access configuration.

  4. Selecione Azure Resource Manager para implantação de modelo. Em seguida, selecione Aplicar.

    Screenshot of the key vault's access configuration that enables Azure Resource Manager for template deployment.

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 se ele está registrado acessando os aplicativos Microsoft Entra ID>Enterprise e altere o filtro de pesquisa para Aplicativos da Microsoft. Pesquise por Appliance Resource Provider. Se não for encontrado, 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.