Compartilhar via


Habilitar a identidade gerenciada

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 para seu aplicativo, aumentando também sua segurança. Este documento aborda como usar a identidade gerenciada com os Serviços de Comunicação do Azure.

Usando 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 de identidade gerenciada para autenticação com o serviço. Usando a identidade gerenciada, você pode eliminar a necessidade de gerenciar seus próprios tokens de acesso e credenciais.

É 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 estas etapas:

  1. Conceda à sua identidade gerenciada acesso ao recurso de Serviços de Comunicação. Essa atribuição pode ser por meio do portal do Azure, da CLI do Azure e dos SDKs do Gerenciamento de Comunicações do Azure.
  2. Use a identidade gerenciada para autenticar com os Serviços de Comunicação do Azure. A autenticação pode ser feita por meio dos SDKs do Azure ou 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 a página para baixo até o grupo Configurações.

  2. Selecionar Identidade.

  3. Na guia Atribuído pelo sistema, alterne o Status para Ativado. Clique em Salvar. Captura de tela que mostra 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 exige 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 a página 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, escolha-a e selecione Adicionar. Captura de tela que mostra como habilitar a identidade gerenciada atribuída pelo usuário.

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

Você também pode atribuir identidade gerenciada ao recurso dos Serviços de Comunicação do Azure usando os SDKs de Gerenciamento de Comunicação do Azure.

Você pode obter essa atribuição introduzindo a propriedade de identidade na definição de recurso na criação ou ao 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, consulte 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, consulte Gerenciando sua instância de Recurso do Serviço 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 type propriedade é SystemAssigned,UserAssigned.

Você também pode remover todas as atribuições de identidade gerenciada de um recurso especificando a type propriedade como None.

Próximas etapas