Conceder à identidade gerenciada o acesso ao destino da Grade de Eventos

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

Pré-requisitos

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

Destinos com suporte e funções do Azure

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

Atualmente, a Grade de Eventos do Azure dá suporte a tópicos ou domínios personalizados configurados com 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 Colaborador de dados de blob de armazenamento
Armazenamento de Filas do Azure Remetente da mensagem de dados da fila de armazenamento

Usar o portal do Azure

Você pode usar o portal do Azure para atribuir o tópico personalizado ou a identidade de 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. Acesse seu namespace do Barramento de Serviço no portal do Azure.

  2. Selecione Controle de Acesso no painel esquerdo.

  3. Selecione Adicionar na seção Adicionar uma atribuição de função (versão prévia) .

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

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

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

  5. Na guia Membros, siga estas etapas:

    1. Selecione Usar, agrupar ou entidade de serviço e clique em + Selecionar membros. A opção Identidade gerenciada ainda não dá suporte à identidades da Grade de Eventos.

    2. Na janela Selecionar membros, pesquise e selecione a entidade de serviço com o mesmo nome que o tópico personalizado. No exemplo a seguir, ela é 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, novamente na guia Membros, selecione Próximo.

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

  7. Na página Revisar + atribuir, selecione Revisar + atribuir depois de revisar as configurações.

Para adicionar uma identidade a outras funções mencionadas na tabela, as etapas são semelhantes.

Usar a CLI do Azure

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

Obtenha o ID principal para a identidade do sistema do tópico personalizado

Primeiro, obtenha o ID principal da identidade gerenciada pelo sistema do tópico customizado 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 do 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 apenas 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" 

Crie uma atribuição de função para o tópico de Barramento de Serviço em vários escopos

O seguinte exemplo de CLI mostra como adicionar uma identidade de tópico personalizado da Grade de Eventos ao Remetente de Dados do Barramento de Serviço do Azure no nível de namespace ou no nível de tópico do Barramento de Serviço. Se você criar a atribuição de função no nível de namespace, o tópico da 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 tópico ou fila do Barramento de Serviço, o tópico personalizado da Grade de Eventos poderá encaminhar eventos apenas para essa fila ou tópico específico do Barramento de Serviço.

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óximas etapas

Agora que você atribuiu uma identidade atribuída pelo sistema ao tópico do sistema, ao tópico personalizado ou ao domínio e adicionou a identidade às funções apropriadas em destinos, consulte entregar eventos usando a identidade gerenciada ao entregar eventos aos destinos usando a identidade.