Share via


Como usar a Identidade Gerenciada com os Serviços de Comunicação do Azure

Os Serviços de Comunicação do Azure são uma plataforma de comunicação totalmente gerenciada que permite que os desenvolvedores criem recursos de comunicação em tempo real em seus aplicativos. Usando a Identidade Gerenciada com os Serviços de Comunicação do Azure, você pode simplificar o processo de autenticação do seu aplicativo e, ao mesmo tempo, aumentar sua segurança. Este documento aborda como usar a Identidade Gerenciada com os Serviços de Comunicação do Azure.

Como usar a Identidade Gerenciada com os Serviços de Comunicação do Azure

Os Serviços de Comunicação do Azure dão suporte ao uso da Identidade Gerenciada para a autenticação junto ao serviço. Usando a Identidade Gerenciada, você pode eliminar a necessidade de gerenciar suas próprias credenciais e tokens de acesso.

É possível atribuir dois tipos de identidade ao seu recurso dos Serviços de Comunicação do Azure:

  1. Uma Identidade Atribuída pelo Sistema, que está vinculada ao seu recurso e é excluída quando o recurso é excluído. Um recurso pode ter apenas uma identidade atribuída pelo sistema.
  2. Uma Identidade Atribuída pelo Usuário, um recurso do Azure que pode ser atribuído ao seu recurso dos Serviços de Comunicação do Azure. Essa identidade não é excluída quando o seu recurso é excluído. Um serviço pode ter várias identidades atribuídas pelo usuário.

Para usar a Identidade Gerenciada com os Serviços de Comunicação do Azure, siga essas etapas:

  1. Conceda seu acesso à Identidade Gerenciada ao recurso dos Serviços de Comunicação. Essa atribuição pode ocorrer por meio do portal do Azure, da CLI do Azure e dos SDKs de Gerenciamento de Comunicações do Azure.
  2. Use a Identidade Gerenciada para se autenticar com os Serviços de Comunicação do Azure. A autenticação pode ser feita por meio dos SDKs do Azure ou de APIs REST que dão suporte à Identidade Gerenciada.

Adicionar uma identidade atribuída pelo sistema

  1. No painel de navegação esquerdo da página do aplicativo, role para baixo até o grupo Configurações.

  2. Selecionar Identidade.

  3. Na guia Sistema atribuído, alterne o Status para Ligado. Selecione Salvar. Captura de tela mostrando como habilitar a identidade gerenciada atribuída pelo sistema.

Adicionar uma identidade atribuída pelo usuário

Atribuir uma identidade atribuída pelo usuário ao seu recurso dos Serviços de Comunicação do Azure requer que você primeiro crie a identidade e, em seguida, adicione o respectivo identificador de recurso ao seu recurso dos Serviços de Comunicação.

Primeiro, você precisa criar um recurso de identidade gerenciada atribuída pelo usuário.

  1. Crie um recurso de identidade gerenciado atribuído pelo usuário de acordo com estas instruções.

  2. No painel de navegação esquerdo da página do aplicativo, role para baixo até o grupo Configurações.

  3. Selecionar Identidade.

  4. Selecione Usuário atribuído>Adicionar.

  5. Procure a identidade que você criou anteriormente, selecione-a e selecione Adicionar. Captura de tela mostrando como habilitar a identidade gerenciada atribuída pelo usuário.

Identidade Gerenciada usando os SDKs de gerenciamento dos Serviços de Comunicação do Azure

A Identidade Gerenciada também pode ser atribuída ao seu recurso dos Serviços de Comunicação do Azure usando os SDKs de Gerenciamento de Comunicações do Azure. Essa atribuição pode ser obtida introduzindo a propriedade de identidade na definição de recurso, no momento da criação ou quando atualizar o recurso.

Você pode atribuir sua identidade gerenciada ao seu recurso dos Serviços de Comunicação do Azure usando o SDK de Gerenciamento de Comunicações do Azure para o .NET definindo a propriedade Identity no CommunicationServiceResourceData .

Por exemplo:

public async Task CreateResourceWithSystemAssignedManagedIdentity()
{
    ArmClient armClient = new ArmClient(new DefaultAzureCredential());
    SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();

    //Create Resource group
    ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
    // With the collection, we can create a new resource group with an specific name
    string rgName = "myRgName";
    AzureLocation location = AzureLocation.WestUS2;
    ArmOperation<ResourceGroupResource> lro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location));
    ResourceGroupResource resourceGroup = lro.Value;

    // get resource group collection
    CommunicationServiceResourceCollection collection = resourceGroup.GetCommunicationServiceResources();
    string communicationServiceName = "myCommunicationService";
    
    // Create Communication Service Resource
    var identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned);
    CommunicationServiceResourceData data = new CommunicationServiceResourceData("global")
    {
        DataLocation = "UnitedStates",
        Identity = identity
    };
    var communicationServiceLro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, communicationServiceName, data);
    var resource = communicationServiceLro.Value;
}

Para obter mais informações sobre como usar o SDK de Gerenciamento do .NET, confira o SDK de Gerenciamento de Comunicações do Azure para .NET.

Para obter mais informações específicas para gerenciar sua instância de recurso, confira Como gerenciar sua instância de recurso dos Serviços de Comunicação

Observação

Um recurso pode ter tanto identidades atribuídas pelo sistema quanto atribuídas pelo usuário ao mesmo tempo. Nesse caso, a propriedade type seria SystemAssigned,UserAssigned.

A remoção de todas as atribuições de identidade gerenciada de um recurso também pode ser obtida especificando a propriedade type como None.

Próximas etapas

Agora que você aprendeu como habilitar a Identidade Gerenciada com os Serviços de Comunicação do Azure, pense em implementar esse recurso nos seus próprios aplicativos para simplificar seu processo de autenticação e aprimorar a segurança.