Configurar o controlo de acesso baseado em funções com o Microsoft Entra ID para a conta do Azure Cosmos DB
APLICA-SE A: NoSQL
Nota
Este artigo é sobre controle de acesso baseado em função para operações de plano de dados no Azure Cosmos DB. Se você estiver usando operações de plano de gerenciamento, consulte o artigo Controle de acesso baseado em função aplicado às operações do plano de gerenciamento.
O Azure Cosmos DB expõe um sistema de controle de acesso interno baseado em função que permite:
- Autentique suas solicitações de dados com uma identidade do Microsoft Entra.
- Autorize suas solicitações de dados com um modelo de permissão refinado e baseado em funções.
Conceitos
O controle de acesso baseado em função do plano de dados do Azure Cosmos DB é baseado em conceitos que são comumente encontrados em outros sistemas de controle de acesso baseados em função, como o controle de acesso baseado em função do Azure:
- O modelo de permissão é composto por um conjunto de ações, cada uma dessas ações é mapeada para uma ou várias operações de banco de dados. Alguns exemplos de ações incluem ler um item, escrever um item ou executar uma consulta.
- Os usuários do Azure Cosmos DB criam definições de função contendo uma lista de ações permitidas.
- As definições de função são atribuídas a identidades específicas do Microsoft Entra por meio de atribuições de função. Uma atribuição de função também define o escopo ao qual a definição de função se aplica; Atualmente, existem três âmbitos:
- Uma conta do Azure Cosmos DB,
- Um banco de dados do Azure Cosmos DB,
- Um contêiner do Azure Cosmos DB.
Modelo de permissão
Importante
Esse modelo de permissão abrange apenas operações de banco de dados que envolvem leitura e gravação de dados. Não abrange qualquer tipo de operações de gestão de recursos de gestão, incluindo:
- Criar/substituir/excluir banco de dados
- Criar/substituir/excluir contêiner
- Taxa de transferência de contêiner de leitura/substituição
- Criar/substituir/excluir/ler procedimentos armazenados
- Criar/substituir/excluir/ler gatilhos
- Criar/substituir/excluir/ler funções definidas pelo usuário
Não é possível usar nenhum SDK do plano de dados do Azure Cosmos DB para autenticar operações de gerenciamento com uma identidade do Microsoft Entra. Em vez disso, você deve usar o controle de acesso baseado em função do Azure por meio de uma das seguintes opções:
- Modelos do Azure Resource Manager (modelos ARM)
- Scripts do Azure PowerShell
- Scripts da CLI do Azure
- Bibliotecas de gerenciamento do Azure disponíveis em:
Banco de Dados de Leitura e Contêiner de Leitura são considerados solicitações de metadados. O acesso a estas operações pode ser concedido conforme indicado na secção seguinte.
Esta tabela lista todas as ações expostas pelo modelo de permissão.
Nome | Operação(ões) correspondente(s) da base de dados |
---|---|
Microsoft.DocumentDB/databaseAccounts/readMetadata |
Leia os metadados da conta. Consulte Solicitações de metadados para obter detalhes. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create |
Crie um novo item. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read |
Leia um item individual pelo seu ID e chave de partição (point-read). |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace |
Substitua um item existente. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert |
"Upsert" um item. Esta operação cria um item se ainda não existir, ou para substituir o item se ele existir. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete |
Excluir um item. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery |
Execute uma consulta SQL. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed |
Leia a partir do feed de alterações do recipiente. Execute consultas SQL usando os SDKs. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure |
Execute um procedimento armazenado. |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts |
Gerencie conflitos para contas de região de várias gravações (ou seja, liste e exclua itens do feed de conflitos). |
Nota
Ao executar consultas através dos SDKs, ambas as Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
permissões são Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed
necessárias.
Os curingas são suportados nos níveis de contêineres e itens :
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*
Pedidos de metadados
Os SDKs do Azure Cosmos DB emitem solicitações de metadados somente leitura durante a inicialização e para atender a solicitações de dados específicas. Essas solicitações buscam vários detalhes de configuração, como:
- A configuração global da sua conta, que inclui as regiões do Azure em que a conta está disponível.
- A chave de partição de seus contêineres ou sua política de indexação.
- A lista de partições físicas que fazem um contêiner e seus endereços.
Eles não buscam nenhum dos dados que você armazenou em sua conta.
Para garantir a melhor transparência do nosso modelo de permissão, essas solicitações de metadados são explicitamente cobertas pela Microsoft.DocumentDB/databaseAccounts/readMetadata
ação. Essa ação deve ser permitida em todas as situações em que sua conta do Azure Cosmos DB é acessada por meio de um dos SDKs do Azure Cosmos DB. Ele pode ser atribuído (por meio de uma atribuição de função) em qualquer nível na hierarquia do Azure Cosmos DB (ou seja, conta, banco de dados ou contêiner).
As solicitações de metadados reais permitidas pela Microsoft.DocumentDB/databaseAccounts/readMetadata
ação dependem do escopo ao qual a ação é atribuída:
Âmbito | Pedidos permitidos pela ação |
---|---|
Conta | • Listar as bases de dados sob a conta • Para cada banco de dados sob a conta, as ações permitidas no escopo do banco de dados |
Base de Dados | • Leitura de metadados da base de dados • Listar os contêineres no banco de dados • Para cada contêiner sob o banco de dados, as ações permitidas no escopo do contêiner |
Contentor | • Leitura de metadados do recipiente • Listar divisórias físicas sob o contêiner • Resolução do endereço de cada partição física |
Importante
A taxa de transferência não está incluída nos metadados desta ação.
Definições de função incorporadas
O Azure Cosmos DB expõe duas definições de função internas:
Importante
As definições de função de termo aqui referem-se às definições de função específicas do Azure Cosmos DB. Elas são distintas das definições de função de controle de acesso baseadas em função do Azure.
ID | Nome | Ações incluídas |
---|---|---|
00000000-0000-0000-0000-000000000001 | Leitor de dados integrado do Cosmos DB | Microsoft.DocumentDB/databaseAccounts/readMetadata Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed |
00000000-0000-0000-0000-000000000002 | Colaborador de dados integrado do Cosmos DB | Microsoft.DocumentDB/databaseAccounts/readMetadata Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* |
Criar definições de função personalizadas
Ao criar uma definição de função personalizada, você precisa fornecer:
- O nome da sua conta do Azure Cosmos DB.
- O grupo de recursos que contém a sua conta.
- O tipo de definição de função:
CustomRole
. - O nome da definição de função.
- Uma lista de ações que você deseja que a função permita.
- Um ou vários âmbitos aos quais a definição de função pode ser atribuída; Os escopos suportados são:
/
(ao nível da conta),/dbs/<database-name>
(ao nível da base de dados),/dbs/<database-name>/colls/<container-name>
(ao nível do contentor).
Nota
As operações descritas estão disponíveis em:
- Azure PowerShell: Az.CosmosDB versão 1.2.0 ou superior
- CLI do Azure: versão 2.24.0 ou superior
Utilizar o Azure PowerShell
Crie uma função chamada MyReadOnlyRole que contenha apenas ações de leitura:
$resourceGroupName = "<myResourceGroup>"
$accountName = "<myCosmosAccount>"
New-AzCosmosDBSqlRoleDefinition -AccountName $accountName `
-ResourceGroupName $resourceGroupName `
-Type CustomRole -RoleName MyReadOnlyRole `
-DataAction @( `
'Microsoft.DocumentDB/databaseAccounts/readMetadata',
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read', `
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery', `
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed') `
-AssignableScope "/"
Crie uma função chamada MyReadWriteRole que contenha todas as ações:
New-AzCosmosDBSqlRoleDefinition -AccountName $accountName `
-ResourceGroupName $resourceGroupName `
-Type CustomRole -RoleName MyReadWriteRole `
-DataAction @( `
'Microsoft.DocumentDB/databaseAccounts/readMetadata',
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*', `
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*') `
-AssignableScope "/"
Liste as definições de função que você criou para buscar suas IDs:
Get-AzCosmosDBSqlRoleDefinition -AccountName $accountName `
-ResourceGroupName $resourceGroupName
RoleName : MyReadWriteRole
Id : /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAcc
ounts/<myCosmosAccount>/sqlRoleDefinitions/<roleDefinitionId>
Type : CustomRole
Permissions : {Microsoft.Azure.Management.CosmosDB.Models.Permission}
AssignableScopes : {/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAc
counts/<myCosmosAccount>}
RoleName : MyReadOnlyRole
Id : /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAcc
ounts/<myCosmosAccount>/sqlRoleDefinitions/<roleDefinitionId>
Type : CustomRole
Permissions : {Microsoft.Azure.Management.CosmosDB.Models.Permission}
AssignableScopes : {/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAc
counts/<myCosmosAccount>}
Com a CLI do Azure
Crie uma função chamada MyReadOnlyRole que contenha apenas ações de leitura em um arquivo chamado role-definition-ro.json:
{
"RoleName": "MyReadOnlyRole",
"Type": "CustomRole",
"AssignableScopes": ["/"],
"Permissions": [{
"DataActions": [
"Microsoft.DocumentDB/databaseAccounts/readMetadata",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed"
]
}]
}
resourceGroupName='<myResourceGroup>'
accountName='<myCosmosAccount>'
az cosmosdb sql role definition create --account-name $accountName --resource-group $resourceGroupName --body @role-definition-ro.json
Crie uma função chamada MyReadWriteRole que contenha todas as ações em um arquivo chamado role-definition-rw.json:
{
"RoleName": "MyReadWriteRole",
"Type": "CustomRole",
"AssignableScopes": ["/"],
"Permissions": [{
"DataActions": [
"Microsoft.DocumentDB/databaseAccounts/readMetadata",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*"
]
}]
}
az cosmosdb sql role definition create --account-name $accountName --resource-group $resourceGroupName --body @role-definition-rw.json
Liste as definições de função que você criou para buscar suas IDs:
az cosmosdb sql role definition list --account-name $accountName --resource-group $resourceGroupName
[
{
"assignableScopes": [
"/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAccounts/<myCosmosAccount>"
],
"id": "/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAccounts/<myCosmosAccount>/sqlRoleDefinitions/<roleDefinitionId>",
"name": "<roleDefinitionId>",
"permissions": [
{
"dataActions": [
"Microsoft.DocumentDB/databaseAccounts/readMetadata",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*"
],
"notDataActions": []
}
],
"resourceGroup": "<myResourceGroup>",
"roleName": "MyReadWriteRole",
"sqlRoleDefinitionGetResultsType": "CustomRole",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"
},
{
"assignableScopes": [
"/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAccounts/<myCosmosAccount>"
],
"id": "/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.DocumentDB/databaseAccounts/<myCosmosAccount>/sqlRoleDefinitions/<roleDefinitionId>",
"name": "<roleDefinitionId>",
"permissions": [
{
"dataActions": [
"Microsoft.DocumentDB/databaseAccounts/readMetadata",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery",
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed"
],
"notDataActions": []
}
],
"resourceGroup": "<myResourceGroup>",
"roleName": "MyReadOnlyRole",
"sqlRoleDefinitionGetResultsType": "CustomRole",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"
}
]
Utilizar modelos do Azure Resource Manager
Para obter uma referência e exemplos de como usar modelos do Azure Resource Manager para criar definições de função, consulte Microsoft.DocumentDB
databaseAccounts/sqlRoleDefinitions
.
Criar atribuições de função
Você pode associar definições de função internas ou personalizadas às suas identidades do Microsoft Entra. Ao criar uma atribuição de função, você precisa fornecer:
O nome da sua conta do Azure Cosmos DB.
O grupo de recursos que contém a sua conta.
A ID da definição de função a ser atribuída.
A ID principal da identidade à qual a definição de função deve ser atribuída.
O âmbito da atribuição de funções; Os escopos suportados são:
/
(nível da conta)/dbs/<database-name>
(ao nível da base de dados)/dbs/<database-name>/colls/<container-name>
(ao nível do contentor)
O escopo deve corresponder ou ser um subescopo de um dos escopos atribuíveis da definição de função.
Nota
Se você quiser criar uma atribuição de função para uma entidade de serviço, certifique-se de usar sua ID de objeto conforme encontrado na seção Aplicativos corporativos da folha do portal Microsoft Entra ID .
Nota
As operações descritas estão disponíveis em:
- Azure PowerShell: Az.CosmosDB versão 1.2.0 ou superior
- CLI do Azure: versão 2.24.0 ou superior
Utilizar o Azure PowerShell
Atribua uma função a uma identidade:
$resourceGroupName = "<myResourceGroup>"
$accountName = "<myCosmosAccount>"
$readOnlyRoleDefinitionId = "<roleDefinitionId>" # as fetched above
# For Service Principals make sure to use the Object ID as found in the Enterprise applications section of the Azure Active Directory portal blade.
$principalId = "<aadPrincipalId>"
New-AzCosmosDBSqlRoleAssignment -AccountName $accountName `
-ResourceGroupName $resourceGroupName `
-RoleDefinitionId $readOnlyRoleDefinitionId `
-Scope "/" `
-PrincipalId $principalId
Com a CLI do Azure
Atribua uma função a uma identidade:
resourceGroupName='<myResourceGroup>'
accountName='<myCosmosAccount>'
readOnlyRoleDefinitionId='<roleDefinitionId>' # as fetched above
# For Service Principals make sure to use the Object ID as found in the Enterprise applications section of the Azure Active Directory portal blade.
principalId='<aadPrincipalId>'
az cosmosdb sql role assignment create --account-name $accountName --resource-group $resourceGroupName --scope "/" --principal-id $principalId --role-definition-id $readOnlyRoleDefinitionId
Usando modelos do Bicep/Azure Resource Manager
Para uma atribuição interna usando um modelo Bicep:
resource sqlRoleAssignment 'Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2023-04-15' = {
name: guid(<roleDefinitionId>, <aadPrincipalId>, <databaseAccountResourceId>)
parent: databaseAccount
properties:{
principalId: <aadPrincipalId>
roleDefinitionId: '/${subscription().id}/resourceGroups/<databaseAccountResourceGroup>/providers/Microsoft.DocumentDB/databaseAccounts/<myCosmosAccount>/sqlRoleDefinitions/<roleDefinitionId>'
scope: <databaseAccountResourceId>
}
}
Para obter uma referência e exemplos de como usar modelos do Azure Resource Manager para criar atribuições de função, consulte Microsoft.DocumentDB
databaseAccounts/sqlRoleAssignments
.
Inicializar o SDK com o ID do Microsoft Entra
Para usar o controle de acesso baseado em função do Azure Cosmos DB em seu aplicativo, você precisa atualizar a maneira como inicializa o SDK do Azure Cosmos DB. Em vez de passar a chave primária da sua conta, você precisa passar uma instância de uma TokenCredential
classe. Esta instância fornece ao SDK do Azure Cosmos DB o contexto necessário para buscar um token do Microsoft Entra em nome da identidade que você deseja usar.
A maneira como você cria uma TokenCredential
instância está além do escopo deste artigo. Há muitas maneiras de criar essa instância, dependendo do tipo de identidade do Microsoft Entra que você deseja usar (entidade de usuário, entidade de serviço, grupo, etc.). Mais importante ainda, sua TokenCredential
instância deve ser resolvida para a identidade (ID principal) à qual você atribuiu suas funções. Você pode encontrar exemplos de criação de uma TokenCredential
classe:
Os exemplos a seguir usam uma entidade de serviço com uma ClientSecretCredential
instância.
Em .NET
O controle de acesso baseado em função do Azure Cosmos DB é atualmente suportado no .NET SDK V3.
TokenCredential servicePrincipal = new ClientSecretCredential(
"<azure-ad-tenant-id>",
"<client-application-id>",
"<client-application-secret>");
CosmosClient client = new CosmosClient("<account-endpoint>", servicePrincipal);
Em Java
O controle de acesso baseado em função do Azure Cosmos DB é atualmente suportado no Java SDK V4.
TokenCredential ServicePrincipal = new ClientSecretCredentialBuilder()
.authorityHost("https://login.microsoftonline.com")
.tenantId("<azure-ad-tenant-id>")
.clientId("<client-application-id>")
.clientSecret("<client-application-secret>")
.build();
CosmosAsyncClient Client = new CosmosClientBuilder()
.endpoint("<account-endpoint>")
.credential(ServicePrincipal)
.build();
Em JavaScript
O controle de acesso baseado em função do Azure Cosmos DB é atualmente suportado no JavaScript SDK V3.
const servicePrincipal = new ClientSecretCredential(
"<azure-ad-tenant-id>",
"<client-application-id>",
"<client-application-secret>");
const client = new CosmosClient({
endpoint: "<account-endpoint>",
aadCredentials: servicePrincipal
});
Em Python
O controle de acesso baseado em função do Azure Cosmos DB é suportado nas versões 4.3.0b4 e superiores do SDK do Python.
aad_credentials = ClientSecretCredential(
tenant_id="<azure-ad-tenant-id>",
client_id="<client-application-id>",
client_secret="<client-application-secret>")
client = CosmosClient("<account-endpoint>", aad_credentials)
Autenticar solicitações na API REST
Ao construir o cabeçalho de autorização da API REST, defina o parâmetro type como Microsoft Entra ID e a assinatura hash (sig) para o token OAuth, conforme mostrado no exemplo a seguir:
type=aad&ver=1.0&sig=<token-from-oauth>
Usar o explorador de dados
Nota
O explorador de dados exposto no portal do Azure ainda não suporta o controlo de acesso baseado na função do Azure Cosmos DB. Para usar sua identidade do Microsoft Entra ao explorar seus dados, você deve usar o Azure Cosmos DB Explorer .
Quando você acessa o Azure Cosmos DB Explorer com o parâmetro de consulta específico ?feature.enableAadDataPlane=true
e entra, a seguinte lógica é usada para acessar seus dados:
- Uma solicitação para buscar a chave primária da conta é tentada em nome da identidade conectada. Se essa solicitação for bem-sucedida, a chave primária será usada para acessar os dados da conta.
- Se a identidade conectada não tiver permissão para buscar a chave primária da conta, essa identidade será usada diretamente para autenticar o acesso aos dados. Nesse modo, a identidade deve ser atribuída com definições de função adequadas para garantir o acesso aos dados.
Pedidos de dados de auditoria
Os logs de diagnóstico são aumentados com informações de identidade e autorização para cada operação de dados ao usar o controle de acesso baseado em função do Azure Cosmos DB. Esse aumento permite que você execute auditorias detalhadas e recupere a identidade do Microsoft Entra usada para cada solicitação de dados enviada à sua conta do Azure Cosmos DB.
Essas informações adicionais fluem na categoria de log DataPlaneRequests e consistem em duas colunas extras:
aadPrincipalId_g
mostra a ID principal da identidade do Microsoft Entra que foi usada para autenticar a solicitação.aadAppliedRoleAssignmentId_g
Mostra a atribuição de função que foi honrada ao autorizar a solicitação.
Impondo o controle de acesso baseado em função como o único método de autenticação
Em situações em que você deseja forçar os clientes a se conectarem ao Azure Cosmos DB exclusivamente por meio do controle de acesso baseado em função, você pode desabilitar as chaves primárias/secundárias da conta. Ao fazer isso, qualquer solicitação de entrada usando uma chave primária/secundária ou um token de recurso é rejeitada ativamente.
Utilizar modelos do Azure Resource Manager
Ao criar ou atualizar sua conta do Azure Cosmos DB usando modelos do Azure Resource Manager, defina a disableLocalAuth
propriedade como true
:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"properties": {
"disableLocalAuth": true,
// ...
},
// ...
},
// ...
]
Limites
- Você pode criar até 100 definições de função e 2.000 atribuições de função por conta do Azure Cosmos DB.
- Você só pode atribuir definições de função a identidades do Microsoft Entra pertencentes ao mesmo locatário do Microsoft Entra que sua conta do Azure Cosmos DB.
- Atualmente, não há suporte para a resolução de grupo do Microsoft Entra para identidades que pertencem a mais de 200 grupos.
- Atualmente, o token Microsoft Entra é passado como um cabeçalho com cada solicitação individual enviada ao serviço Azure Cosmos DB, aumentando o tamanho geral da carga útil.
Perguntas mais frequentes
Esta seção inclui perguntas frequentes sobre controle de acesso baseado em função e o Azure Cosmos DB.
Quais APIs do Azure Cosmos DB oferecem suporte ao controle de acesso baseado em função do plano de dados?
A partir de agora, apenas a API NoSQL é suportada.
É possível gerir definições de funções e atribuições de funções no portal do Azure?
O suporte do portal do Azure para gerenciamento de funções ainda não está disponível.
Quais SDKs na API do Azure Cosmos DB para NoSQL oferecem suporte ao controle de acesso baseado em função?
Os SDKs .NET V3, Java V4, JavaScript V3 e Python V4.3+ são suportados atualmente.
O token do Microsoft Entra é automaticamente atualizado pelos SDKs do Azure Cosmos DB quando expira?
Sim.
É possível desativar o uso das chaves primárias/secundárias da conta ao usar o controle de acesso baseado em função?
Sim, consulte Impondo controle de acesso baseado em função como o único método de autenticação.
Próximos passos
- Obtenha uma visão geral do acesso seguro aos dados no Azure Cosmos DB.
- Saiba mais sobre o controle de acesso baseado em função para gerenciamento do Azure Cosmos DB.