Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando usas a autenticação identidade gerida para saída para o armazenamento de Blobs do Azure, as tarefas do Stream Analytics têm acesso direto a uma conta de armazenamento sem usar uma cadeia de conexão. Esta funcionalidade melhora a segurança e permite-lhe escrever dados numa conta de armazenamento numa rede virtual (VNET) dentro do Azure.
Este artigo mostra-lhe como ativar a identidade gerida para as saídas Blob de um trabalho de Stream Analytics através do portal Azure e através de uma implementação do Azure Resource Manager.
Crie o trabalho de Stream Analytics usando o portal do Azure
Primeiro, crie uma identidade gerida para o seu emprego no Azure Stream Analytics.
No portal do Azure, abra seu trabalho do Azure Stream Analytics.
No menu de navegação esquerdo, selecione Identidade gerenciada localizada em Configurar. Em seguida, marque a caixa ao lado de Usar identidade gerenciada atribuída pelo sistema e selecione Salvar.
O Azure cria um principal de serviço para a identidade do trabalho do Stream Analytics no Microsoft Entra ID. O Azure gere o ciclo de vida da identidade recém-criada. Quando elimina a tarefa de Stream Analytics, o Azure apaga automaticamente a identidade associada (ou seja, a entidade de serviço).
Ao guardar a configuração, o ID do Objeto (OID) do principal de serviço aparece como o ID do Principal, conforme mostrado na secção seguinte:
A entidade de serviço tem o mesmo nome que o trabalho do Stream Analytics. Por exemplo, se o nome do cargo for
MyASAJob, o nome da entidade de serviço seráMyASAJob.
Implementação do Azure Resource Manager
Ao usar o Azure Resource Manager, pode automatizar totalmente a implementação do seu trabalho de Stream Analytics. Pode implementar modelos Resource Manager usando Azure PowerShell ou o CLI do Azure. Os exemplos seguintes utilizam a CLI do Azure.
Cria um Microsoft. StreamAnalytics/streamingjobs recurso com uma Identidade Gerida, incluindo a seguinte propriedade na secção de recursos do seu modelo de Resource Manager:
"Identity": { "Type": "SystemAssigned", },Esta propriedade indica ao Azure Resource Manager para criar e gerir a identidade para o seu trabalho de Stream Analytics. O seguinte modelo de exemplo do Resource Manager implementa um trabalho de Stream Analytics com Identidade Gerida ativada e um dissipador de saída Blob que utiliza Identidade Gerida:
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "apiVersion": "2017-04-01-preview", "name": "MyStreamingJob", "location": "[resourceGroup().location]", "type": "Microsoft.StreamAnalytics/StreamingJobs", "identity": { "type": "systemAssigned" }, "properties": { "sku": { "name": "standard" }, "outputs":[ { "name":"output", "properties":{ "serialization": { "type": "JSON", "properties": { "encoding": "UTF8" } }, "datasource":{ "type":"Microsoft.Storage/Blob", "properties":{ "storageAccounts": [ { "accountName": "MyStorageAccount" } ], "container": "test", "pathPattern": "segment1/{date}/segment2/{time}", "dateFormat": "yyyy/MM/dd", "timeFormat": "HH", "authenticationMode": "Msi" } } } } ] } } ] }Pode implantar o trabalho anterior no grupo de recursos ExampleGroup usando o seguinte comando CLI do Azure:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.jsonDepois de criar o trabalho, use o Azure Resource Manager para obter a definição completa do trabalho.
az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}O comando anterior devolve uma resposta semelhante ao seguinte exemplo:
{ "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/streamingjobs/{RESOURCE_NAME}", "identity": { "principalId": "{PRINCIPAL_ID}", "tenantId": "{TENANT_ID}", "type": "SystemAssigned", "userAssignedIdentities": null }, "kind": null, "location": "West US", "managedBy": null, "name": "{RESOURCE_NAME}", "plan": null, "properties": { "compatibilityLevel": "1.0", "createdDate": "2019-07-12T03:11:30.39Z", "dataLocale": "en-US", "eventsLateArrivalMaxDelayInSeconds": 5, "jobId": "{JOB_ID}", "jobState": "Created", "jobStorageAccount": null, "jobType": "Cloud", "outputErrorPolicy": "Stop", "package": null, "provisioningState": "Succeeded", "sku": { "name": "Standard" } }, "resourceGroup": "{RESOURCE_GROUP}", "sku": null, "tags": null, "type": "Microsoft.StreamAnalytics/streamingjobs" }Tome nota do principalId da definição do trabalho, que identifica a Identidade Gerida do seu trabalho dentro do Microsoft Entra ID e é utilizado na etapa seguinte para conceder ao trabalho de Stream Analytics acesso à conta de armazenamento.
Agora que criou a tarefa, consulte a secção Dar acesso à tarefa de Stream Analytics à sua conta de armazenamento deste artigo.
Dê ao trabalho do Stream Analytics acesso à sua conta de armazenamento
Pode dar à sua tarefa de Stream Analytics dois níveis de acesso:
- Acesso ao nível do contentor: Este nível de acesso concede ao trabalho acesso a um contentor existente específico.
- Acesso ao nível da conta: Este nível de acesso concede ao trabalho acesso geral à conta de armazenamento, incluindo a capacidade de criar novos contentores.
A menos que precises do trabalho para criar containers, escolhe acesso ao nível do contentor para conceder ao trabalho o nível mínimo de acesso exigido. As secções seguintes explicam ambas as opções para o portal Azure e para a linha de comandos.
Nota
Devido à latência global de replicação ou cache, revogar ou conceder permissões pode demorar algum tempo. As alterações deverão surgir dentro de oito minutos.
Conceder acesso através do portal Azure
Acesso ao nível do contentor
Vai ao painel de configuração do contentor na tua conta de armazenamento.
Selecione Controlo de acesso (IAM) .
Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.
Atribua a seguinte função. Para obter os passos detalhados, veja o artigo Atribuir funções do Azure com o portal do Azure.
Configuração Valor Função Contribuidor de Dados de Blobs de Armazenamento Atribuir acesso a Usuário, grupo ou entidade de serviço Membros <Nome do seu trabalho do Stream Analytics>
Acesso ao nível da conta
Aceda à sua conta de armazenamento.
Selecione Controlo de acesso (IAM) .
Selecione Adicionar>Adicionar atribuição de funções para abrir a página Adicionar atribuição de funções.
Atribua a seguinte função. Para obter os passos detalhados, veja o artigo Atribuir funções do Azure com o portal do Azure.
Configuração Valor Função Contribuidor de Dados de Armazenamento Blob Atribuir acesso a Usuário, grupo ou entidade de serviço Membros <Nome do seu trabalho do Stream Analytics>
Conceder acesso através da linha de comando
Acesso ao nível do contentor
Para dar acesso a um contêiner específico, execute o seguinte comando usando a CLI do Azure:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>
Acesso ao nível da conta
Para dar acesso à conta inteira, execute o seguinte comando usando a CLI do Azure:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
Criar uma entrada ou saída de blob
Agora que sua identidade gerenciada está configurada, você está pronto para adicionar o recurso de blob como entrada ou saída ao seu trabalho do Stream Analytics.
Na janela de propriedades de saída do ponto de saída de armazenamento de Blob do Azure, selecione o menu suspenso "Modo de Autenticação" e escolha Identidade gerenciada. Para obter informações sobre as outras propriedades de saída, consulte Compreender as saídas do Azure Stream Analytics. Quando terminar, selecione Guardar.
Permitir o acesso à rede virtual
Quando configura os firewalls e redes virtuais da sua conta de armazenamento, pode opcionalmente permitir a entrada de tráfego de rede de outros serviços Microsoft de confiança. Quando o Stream Analytics autentica usando a Identidade Gerida, fornece prova de que o pedido tem origem num serviço de confiança. As instruções seguintes explicam como ativar esta exceção de acesso à rede virtual.
- Vai ao painel de Firewalls e redes virtuais dentro do painel de configuração da conta de armazenamento.
- Certifique-se de que a opção Permitir que serviços confiáveis da Microsoft acedam a esta conta de armazenamento está ativada.
- Se a ativaste, seleciona Guardar.
Remover identidade gerenciada
A identidade gerida que cria para uma tarefa de Stream Analytics só será eliminada quando elimina a tarefa. Não podes apagar a Identidade Gerida sem eliminar o trabalho. Se você não quiser mais usar a Identidade Gerenciada, poderá alterar o método de autenticação para a saída. A Identidade Gerida continua a existir até eliminares o trabalho, e é usada se decidires voltar a usar a autenticação por Identidade Gerida.
Limitações
As limitações atuais desta funcionalidade incluem:
Contas clássicas de Armazenamento do Azure.
Contas do Azure sem o Microsoft Entra ID.
O acesso multitenant não é suportado. O principal de serviço criado para um determinado trabalho de Stream Analytics deve residir no mesmo tenant Microsoft Entra onde criou o trabalho, e não pode usá-lo com um recurso que reside num tenant Microsoft Entra diferente.