Considere a autenticação

Concluído

Por padrão, o acesso aos recursos dos serviços de IA do Azure é restrito usando chaves de assinatura. O gerenciamento do acesso a essas chaves é uma consideração primária para a segurança.

Voltar a gerar chaves

Você deve regenerar as chaves regularmente para proteger contra o risco de chaves serem compartilhadas ou acessadas por usuários não autorizados. Você pode regenerar chaves usando o portal do Azure ou usando o az cognitiveservices account keys regenerate comando CLI (interface de linha de comando) do Azure.

Cada serviço de IA é fornecido com duas chaves, permitindo que você regenere chaves sem interrupção do serviço. Para isso:

  1. Se você estiver usando ambas as chaves na produção, altere seu código para que apenas uma chave esteja em uso. Por exemplo, configure todos os aplicativos de produção para usar a chave 1.
  2. Regenere a chave 2.
  3. Mude todos os aplicativos de produção para usar a chave 2 recém-regenerada.
  4. Regenerar a chave 1
  5. Por fim, atualize o código de produção para usar a nova chave 1.

Por exemplo, para regenerar chaves no portal do Azure, você pode fazer o seguinte:

  1. No portal do Azure, vá para o painel Chaves e Ponto de Extremidade do seu recurso.
  2. Em seguida, selecione Regenerar chave1 ou selecione Regenerar chave2, dependendo de qual você deseja regenerar no momento.

Proteja chaves com o Azure Key Vault

O Azure Key Vault é um serviço do Azure no qual você pode armazenar segredos com segurança (como senhas e chaves). O acesso ao cofre de chaves é concedido a entidades de segurança, que podem ser consideradas identidades de usuário autenticadas usando o Microsoft Entra ID. Os administradores podem atribuir uma entidade de segurança a um aplicativo (nesse caso, ele é conhecido como uma entidade de serviço) para definir uma identidade gerenciada para o aplicativo. O aplicativo pode usar essa identidade para acessar o cofre de chaves e recuperar um segredo ao qual ele tem acesso. Controlar o acesso ao segredo dessa forma minimiza o risco de ele ser comprometido por ser codificado em um aplicativo ou salvo em um arquivo de configuração.

Você pode armazenar as chaves de assinatura de um recurso de serviços de IA no Cofre de Chaves do Azure e atribuir uma identidade gerenciada a aplicativos cliente que precisam usar o serviço. Os aplicativos podem então recuperar a chave conforme necessário do cofre de chaves, sem risco de expô-la a usuários não autorizados.

Diagram showing Azure AI services credentials retrieved from Azure Key Vault.

Autenticação baseada em tokens

Ao usar a interface REST, alguns serviços de IA suportam (ou até mesmo exigem) autenticação baseada em token. Nesses casos, a chave de assinatura é apresentada em uma solicitação inicial para obter um token de autenticação, que tem um período válido de 10 minutos. As solicitações subsequentes devem apresentar o token para validar que o chamador foi autenticado.

Gorjeta

Ao usar um SDK, as chamadas para obter e apresentar um token são tratadas para você pelo SDK.

Autenticação do Microsoft Entra ID

Os serviços de IA do Azure dão suporte à autenticação Microsoft Entra ID, permitindo que você conceda acesso a entidades de serviço específicas ou identidades gerenciadas para aplicativos e serviços executados no Azure.

Nota

Para obter mais informações sobre opções de autenticação para serviços de IA, consulte a documentação de serviços de IA.

Há diferentes maneiras de autenticar nos serviços de IA do Azure usando a ID do Microsoft Entra, incluindo:

Autenticar usando entidades de serviço

O processo geral para autenticar nos serviços de IA do Azure usando entidades de serviço é o seguinte:

Criar um subdomínio personalizado

Você pode criar um subdomínio personalizado de maneiras diferentes, inclusive por meio do portal do Azure, CLI do Azure ou PowerShell.

Por exemplo, você pode criar um subdomínio usando o PowerShell no Azure Cloud Shell. Para fazer isso, selecione sua assinatura usando o seguinte comando:

Set-AzContext -SubscriptionName <Your-Subscription-Name>

Em seguida, crie seu recurso de serviços de IA do Azure especificando um subdomínio personalizado executando o seguinte:

$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>

Uma vez criado, seu nome de subdomínio será retornado na resposta.

Atribuir uma função a uma entidade de serviço

Você criou um recurso de IA do Azure vinculado a um subdomínio personalizado. Em seguida, você atribui uma função a uma entidade de serviço.

Para começar, terá de registar uma candidatura. Para fazer isso, execute o seguinte comando:

$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force

$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword

Isso cria o recurso do aplicativo.

Em seguida, use o comando New-AzADServicePrincipal para criar uma entidade de serviço e fornecer a ID do seu aplicativo:

New-AzADServicePrincipal -ApplicationId <app-id>

Finalmente, você atribui a função Usuários de Serviços Cognitivos à sua entidade de serviço executando:

New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"

Autenticar usando identidades gerenciadas

As identidades gerenciadas vêm em dois tipos:

  • Identidade gerenciada atribuída ao sistema: uma identidade gerenciada é criada e vinculada a um recurso específico, como uma máquina virtual que precisa acessar os serviços de IA do Azure. Quando o recurso é excluído, a identidade também é excluída.
  • Identidade gerenciada atribuída pelo usuário: a identidade gerenciada é criada para ser utilizável por vários recursos em vez de ser vinculada a um. Existe independentemente de qualquer recurso isolado.

Você pode atribuir cada tipo de identidade gerenciada a um recurso durante a criação do recurso ou depois que ele já tiver sido criado.

Por exemplo, suponha que você tenha uma máquina virtual no Azure que pretende usar para acesso diário aos serviços de IA do Azure. Para habilitar uma identidade atribuída ao sistema para essa máquina virtual, primeiro verifique se sua conta do Azure tem a função de Colaborador de Máquina Virtual. Em seguida, você pode executar o seguinte comando usando a CLI do Azure no terminal do Azure Cloud Shell:

az vm identity assign -g <my-resource-group> -n <my-vm>

Em seguida, você pode conceder acesso aos serviços de IA do Azure no portal do Azure usando o seguinte:

  1. Vá para o recurso de serviços de IA do Azure que você deseja conceder acesso à identidade gerenciada da máquina virtual.

  2. No painel de visão geral, selecione Controle de acesso (IAM).

  3. Selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

  4. Na guia Função, selecione Colaborador de Serviços Cognitivos.

    A screenshot showing the Add role assignment tab.

  5. Na guia Membros, para Atribuir acesso a, selecione Identidade gerenciada. Em seguida, selecione + Selecionar membros.

    A screenshot showing the Select managed identities pane.

  6. Certifique-se de que a sua subscrição está selecionada no menu pendente Subscrição. E para Identidade gerenciada, selecione Máquina virtual.

  7. Selecione sua máquina virtual na lista e selecione Selecionar.

  8. Por fim, selecione Rever + atribuir à revisão e, em seguida , Rever + atribuir novamente para concluir.

Nota

Para obter mais detalhes sobre como configurar identidades gerenciadas, incluindo identidades gerenciadas pelo usuário, consulte Configurar identidades gerenciadas para o recurso do Azure na VM do Azure usando a CLI do Azure