Partilhar via


Conceder identidade gerenciada ao acesso ao destino da Grade de Eventos

Esta seção descreve como adicionar a identidade do seu tópico do sistema, tópico personalizado ou domínio a uma função do Azure.

Pré-requisitos

Atribua uma identidade gerenciada atribuída ao sistema usando as instruções dos seguintes artigos:

Destinos suportados e funções do Azure

Depois de habilitar a identidade para seu tópico ou domínio personalizado da Grade de Eventos, o Azure cria automaticamente uma identidade na ID do Microsoft Entra. Adicione essa identidade às funções apropriadas do Azure para que o tópico ou domínio personalizado possa encaminhar eventos para destinos com suporte. Por exemplo, adicione a identidade à função Remetente de Dados dos Hubs de Eventos do Azure para um namespace de Hubs de Eventos do Azure para que o tópico personalizado da Grade de Eventos possa encaminhar eventos para hubs de eventos nesse namespace.

Atualmente, a Grade de Eventos do Azure dá suporte a tópicos personalizados ou domínios configurados com uma identidade gerenciada atribuída pelo sistema para encaminhar eventos para os seguintes destinos. Esta tabela também fornece as funções em que a identidade deve estar para que o tópico personalizado possa encaminhar os eventos.

Destino Função do Azure
Filas e tópicos do Barramento de Serviço Remetente de dados do Barramento de Serviço do Azure
Hubs de Eventos do Azure Remetente de Dados dos Hubs de Eventos do Azure
Armazenamento de Blobs do Azure Contribuidor de Dados de Blobs de Armazenamento
Armazenamento de Filas do Azure Remetente da mensagem de dados da fila de armazenamento

Utilizar o portal do Azure

Você pode usar o portal do Azure para atribuir o tópico personalizado ou a identidade do domínio a uma função apropriada para que o tópico ou domínio personalizado possa encaminhar eventos para o destino.

O exemplo a seguir adiciona uma identidade gerenciada para um tópico personalizado da Grade de Eventos chamado msitesttopic à função Remetente de Dados do Barramento de Serviço do Azure para um namespace do Barramento de Serviço que contém um recurso de fila ou tópico. Quando você adiciona à função no nível do namespace, o tópico personalizado da Grade de Eventos pode encaminhar eventos para todas as entidades dentro do namespace.

  1. Vá para seu namespace do Service Bus no portal do Azure.

  2. Selecione Controle de acesso no painel esquerdo.

  3. Selecione Adicionar na seção Adicionar atribuição de função (Visualização ).

    Image showing the selection of Add role assignment (Preview) menu

  4. Na página Adicionar atribuição de função, selecione Remetente de Dados do Barramento de Serviço do Azure e selecione Avançar.

    Image showing the selection of the Azure Service Bus Data Sender role

  5. No separador Membros, siga estes passos:

    1. Selecione Usar, grupo ou entidade de serviço e clique em + Selecionar membros. A opção Identidade gerenciada ainda não oferece suporte a identidades de Grade de Eventos.

    2. Na janela Selecionar membros, procure e selecione a entidade de serviço com o mesmo nome do tópico personalizado. No exemplo a seguir, é spcustomtopic0728.

      Image showing the selection of the User, group, or service principal option

    3. Na janela Selecionar membros, clique em Selecionar.

      Image showing the selection of the Managed identity option

  6. Agora, de volta à guia Membros , selecione Avançar.

    Image showing the selection of the Next button on the Members page

  7. Na página Rever + atribuir, selecione Rever + atribuir depois de rever as definições.

As etapas são semelhantes para adicionar uma identidade a outras funções mencionadas na tabela.

Utilizar a CLI do Azure

O exemplo nesta seção mostra como usar a CLI do Azure para adicionar uma identidade a uma função do Azure. Os comandos de exemplo são para tópicos personalizados da Grade de Eventos. Os comandos para domínios de Grade de Eventos são semelhantes.

Obter a ID principal para a identidade do sistema do tópico personalizado

Primeiro, obtenha a ID principal da identidade gerenciada pelo sistema do tópico personalizado e atribua a identidade às funções apropriadas.

topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)

Criar uma atribuição de função para hubs de eventos em vários escopos

O exemplo de CLI a seguir mostra como adicionar a identidade de um tópico personalizado à função Remetente de Dados dos Hubs de Eventos do Azure no nível de namespace ou no nível do hub de eventos. Se você criar a atribuição de função no nível do namespace, o tópico personalizado poderá encaminhar eventos para todos os hubs de eventos nesse namespace. Se você criar uma atribuição de função no nível do hub de eventos, o tópico personalizado poderá encaminhar eventos somente para esse hub de eventos específico.

role="Azure Event Hubs Data Sender" 
namespaceresourceid=$(az eventhubs namespace show -n $<EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 
eventhubresourceid=$(az eventhubs eventhub show -n <EVENT HUB NAME> --namespace-name <EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one event hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$eventhubresourceid" 

Criar uma atribuição de função para um tópico do Service Bus em vários escopos

O exemplo de CLI a seguir mostra como adicionar a identidade de um tópico personalizado da Grade de Eventos à função Remetente de Dados do Barramento de Serviço do Azure no nível do namespace ou no nível do tópico do Barramento de Serviço . Se você criar a atribuição de função no nível do namespace, o tópico Grade de Eventos poderá encaminhar eventos para todas as entidades (filas ou tópicos do Barramento de Serviço) dentro desse namespace. Se você criar uma atribuição de função no nível de fila ou tópico do Service Bus, o tópico personalizado da Grade de Eventos poderá encaminhar eventos somente para essa fila ou tópico específico do Service Bus.

role="Azure Service Bus Data Sender" 
namespaceresourceid=$(az servicebus namespace show -n $RG\SB -g "$RG" --query "{I:id}" -o tsv 
sbustopicresourceid=$(az servicebus topic show -n topic1 --namespace-name $RG\SB -g "$RG" --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$sbustopicresourceid" 

Próximos passos

Agora que você atribuiu uma identidade atribuída ao sistema ao seu tópico, tópico personalizado ou domínio do sistema e adicionou a identidade às funções apropriadas nos destinos, consulte Entregar eventos usando a identidade gerenciada na entrega de eventos para destinos usando a identidade .