evento
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Este artigo demonstra como usar de identidades gerenciadas do Microsoft Entra ID e a biblioteca Microsoft.Extensions.AI para autenticar um aplicativo hospedado do Azure em um recurso do Azure OpenAI.
Uma identidade gerenciada do Microsoft Entra ID permite que seu aplicativo acesse facilmente outros recursos protegidos pelo Microsoft Entra, como o Azure OpenAI. A identidade é gerida pela plataforma Azure e não exige que se provisionem, gerenciem ou rodem quaisquer segredos.
As identidades gerenciadas fornecem uma identidade gerenciada automaticamente na ID do Microsoft Entra para os aplicativos usarem ao se conectar a recursos que oferecem suporte à autenticação do Microsoft Entra. Os aplicativos podem usar identidades gerenciadas para obter tokens do Microsoft Entra sem precisar gerenciar nenhuma credencial. Seu aplicativo pode receber dois tipos de identidades:
Navegue até a página do seu aplicativo no portal do Azuree, em seguida, role para baixo até o grupo de Configurações.
Selecione Identidade.
No separador atribuído Sistema, alterne Estado para Ativadoe, em seguida, selecione Guardar.
Nota
A captura de tela anterior demonstra esse processo em um Serviço de Aplicativo do Azure, mas as etapas são semelhantes em outros hosts, como os Aplicativos de Contêiner do Azure.
Execute o comando az webapp identity assign
para criar uma identidade atribuída ao sistema:
az webapp identity assign --name <appName> --resource-group <groupName>
No Portal doAzure, navegue até o âmbito ao qual pretende conceder acesso ao Azure OpenAI. O escopo pode ser um grupo de gestão , uma assinatura , um grupo de recursos ou um recurso específico do Azure OpenAI .
No painel de navegação esquerdo, selecione Controle de acesso (IAM).
Selecione Adicionare, em seguida, selecione Adicionar atribuição de função.
Na guia Função, selecione a função Usuário OpenAI dos Serviços Cognitivos.
No separador Membros, selecione a identidade gerida.
Na guia Revisão + atribuir, selecione Revisão + atribuir para atribuir a função.
Você pode usar a CLI do Azure para atribuir a função Usuário OpenAI dos Serviços Cognitivos à sua identidade gerenciada em escopos variados.
az role assignment create --assignee "<managedIdentityObjectID>" \
--role "Cognitive Services OpenAI User" \
--scope "/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>"
Adicione os seguintes pacotes NuGet ao seu aplicativo:
dotnet add package Azure.Identity
dotnet add package Azure.AI.OpenAI
dotnet add package Microsoft.Extensions.Azure
dotnet add package Microsoft.Extensions.AI
dotnet add package Microsoft.Extensions.AI.OpenAI
Cada um dos pacotes anteriores lida com as seguintes preocupações para esse cenário:
No arquivo Program.cs
do seu aplicativo, crie um objeto DefaultAzureCredential
para descobrir e configurar as credenciais disponíveis:
// For example, will discover Visual Studio or Azure CLI credentials
// in local environments and managed identity credentials in production deployments
var credential = new DefaultAzureCredential(
new DefaultAzureCredentialOptions
{
// If necessary, specify the tenant ID,
// user-assigned identity client or resource ID, or other options
}
);
Crie um serviço de IA e registre-o com a coleção de serviços:
string endpoint = builder.Configuration["AZURE_OPENAI_ENDPOINT"];
string deployment = builder.Configuration["AZURE_OPENAI_GPT_NAME"];
builder.Services.AddChatClient(
new AzureOpenAIClient(new Uri(endpoint), credential)
.AsChatClient(deployment));
Injete o serviço registado para utilização nos seus endpoints:
app.MapGet("/test-prompt", async (IChatClient chatClient) =>
{
return await chatClient.CompleteAsync("Test prompt", new ChatOptions());
})
.WithName("Test prompt");
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
evento
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agoraFormação
Módulo
Introdução ao uso da Identidade Gerenciada para autenticar no Azure OpenAI com .NET - Training
Como implementar o controle de acesso baseado em função e a autenticação de identidade gerenciada no Azure OpenAI com .NET.
Certificação
Certificado pela Microsoft: Azure AI Engineer Associate - Certifications
Projete e implemente uma solução de IA do Azure usando os serviços de IA do Azure, a Pesquisa de IA do Azure e a IA Aberta do Azure.