Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para proteger os dados armazenados em sua conta, o Azure Cosmos DB usa um modelo de autorização baseado em segredo com um HMAC (código de autenticação de mensagem baseado em hash) forte. Além disso, o Azure Cosmos DB usa controles de acesso baseados em IP para segurança de firewall de entrada. Esse modelo é semelhante às regras de firewall de um sistema de banco de dados tradicional e adiciona outra camada de segurança à sua conta. Com firewalls, configure sua conta do Azure Cosmos DB para permitir o acesso somente de um conjunto aprovado de computadores ou serviços de nuvem. O acesso aos dados armazenados no banco de dados do Azure Cosmos DB desses computadores e serviços aprovados ainda requer que o chamador apresente um token de autorização válido.
Controle de acesso do IP
Por padrão, sua conta do Azure Cosmos DB estará acessível na Internet se a solicitação incluir um token de autorização válido. Para configurar o controle de acesso baseado em política de IP, o usuário deverá fornecer o conjunto de endereços IP ou intervalos de endereços IP no formulário CIDR (Roteamento entre Domínios sem Classe) a ser incluído como a lista permitida de IPs do cliente para acessar uma determinada conta do Azure Cosmos DB. Depois de aplicar essa configuração, todas as solicitações de computadores fora dessa lista de permissões receberão uma resposta 403 (Proibida). Quando você usa um firewall de IP, alguns cenários podem exigir que você habilite o acesso do portal do Azure. Para obter mais informações, consulte permitir solicitações do portal do Azure. Ao usar o data explorer para uma conta de API para NoSQL, Gremlin ou Table, você também precisa atualizar as configurações de firewall para adicionar seu endereço IP atual às regras de firewall. As alterações de firewall podem levar até 15 minutos para serem propagadas e o firewall pode se comportar de forma inconsistente durante esse período.
Combine firewalls baseados em IP com sub-rede e controle de acesso à rede virtual. Ao combiná-los, você poderá limitar o acesso a qualquer fonte que tenha um IP público e/ou de uma sub-rede específica dentro da rede virtual. Para saber mais sobre como usar o controle de acesso baseado em sub-rede e rede virtual, confira o artigo Acessar recursos do Azure Cosmos DB a partir de redes virtuais.
Para resumir, um token de autorização é sempre necessário para acessar uma conta do Azure Cosmos DB. Se o firewall de IP e as ACLs (listas de controle de acesso) de rede virtual não estiverem configurados, a conta do Azure Cosmos DB poderá ser acessada com o token de autorização. Depois de configurar regras de firewall de IP ou listas de acesso à rede virtual para sua conta do Azure Cosmos DB, somente as solicitações das fontes permitidas funcionarão. Essas solicitações também devem incluir um token de autorização válido para obter uma resposta.
Você pode proteger os dados armazenados na sua conta do Azure Cosmos DB usando firewalls de IP. O Azure Cosmos DB é compatível com controles de acesso baseados em IP para suporte de firewall de entrada. Defina um firewall de IP na conta do Azure Cosmos DB usando um dos seguintes métodos:
- No portal do Azure
- Declarativamente usando um modelo do Azure Resource Manager
- Programaticamente por meio da CLI do Azure ou do Azure PowerShell atualizando a propriedade ipRangeFilter
Configurar um firewall IP usando o portal do Azure
Para definir a política de controle de acesso IP no portal do Azure, acesse a página da conta do Azure Cosmos DB e selecione Rede no menu de navegação. Defina a opção Permitir acesso do valor para redes selecionadas e, em seguida, selecione Salvar. Se você ainda não estiver adicionando endereços IP, também precisará marcar a caixa para reconhecer que todas as VNets e IPs estão bloqueadas. Se você alterar a configuração de acesso à rede pública, como desativá-la ou permitir que todas as redes se conectem, todos os endereços IP de firewall definidos antes serão removidos.
Quando o controle de acesso IP está ativado, o portal do Azure permite especificar endereços IP, intervalos de endereços IP e comutadores. Opções de habilitam o acesso a outros serviços do Azure e o portal do Azure. As seções a seguir fornecem detalhes sobre esses switches.
Observação
Quando você ativa o controle de acesso IP para sua conta do Azure Cosmos DB, somente solicitações de endereços IP permitidos podem acessar sua conta. Se um endereço IP não estiver na lista de permissões, suas solicitações serão bloqueadas. Você também não pode navegar pelos recursos do Cosmos DB no portal do Azure, a menos que permita o acesso ao portal.
Permitir solicitações do portal do Azure
Ao habilitar uma política de controle de acesso IP programaticamente, talvez seja necessário adicionar os endereços IP para os serviços do portal do Azure à propriedade ipRangeFilter para continuar usando algumas funcionalidades do portal.
Os cenários do portal que exigem a habilitação dessa opção incluem:
- Especificamente para a API do MongoDB ou API para Apache Cassandra, acessando contas com o Data Explorer ou https://cosmos.azure.com
- Para todas as APIs, usando as seguintes seções do Azure Cosmos DB no portal do Azure:
- Procurar por coleções
- Power BI
- Azure Synapse
Você pode habilitar o acesso ao portal do Azure selecionando a opção Adicionar IPs de middleware do portal do Azure, conforme mostrado na seguinte captura de tela:
Os endereços IP do Middleware do portal do Azure são adicionados a uma lista separada, conforme mostrado na captura de tela a seguir. Selecione Salvar para adicionar esses endereços à sua conta de banco de dados. Mais detalhes sobre os endereços IP do Middleware podem ser encontrados mais adiante neste artigo.
Os endereços IP do Middleware do portal do Azure podem ser removidos selecionando a opção Remover IPs do Middleware do Portal do Azure e selecionando Salvar.
Endereços IP do Middleware do portal do Azure
Os endereços IP do Middleware do portal do Azure estão listados aqui. Alguns endereços IP são necessários apenas para APIs de conta de banco de dados específicas. Quando você adiciona os Endereços IP do Middleware no portal, conforme descrito anteriormente, somente os endereços IP necessários para sua conta são adicionados.
Por exemplo:
- Para uma conta da API para NoSQL, os endereços IP da categoria Todos são adicionados.
- Para uma conta da API para MongoDB, os endereços IP das categorias All e MongoDB são adicionados.
Público do Azure
API da Conta de Banco de dados | Endereços IP |
---|---|
Tudo |
13.91.105.215 , 4.210.172.107 , , 13.88.56.148 40.91.218.243 |
Somente MongoDB |
20.245.81.54 , 40.118.23.126 , , 40.80.152.199 13.95.130.121 |
Somente Apache Cassandra |
40.113.96.14 , 104.42.11.145 , , 137.117.230.240 168.61.72.237 |
Azure operado pela 21Vianet
API da Conta de Banco de dados | Endereços IP |
---|---|
Tudo |
163.228.137.6 , 143.64.170.142 |
Somente MongoDB |
52.131.240.99 , 143.64.61.130 |
Somente Apache Cassandra |
40.73.99.146 , 143.64.62.47 |
Governo dos EUA para Azure
API da Conta de Banco de dados | Endereços IP |
---|---|
Tudo |
52.247.163.6 , 52.244.134.181 |
Somente MongoDB |
52.244.176.112 , 52.247.148.42 |
Somente Apache Cassandra |
52.244.50.101 , 52.227.165.24 |
Endereços IP de middleware herdados
Os serviços do portal do Cosmos DB recentemente passaram para uma nova infraestrutura que exigia novos endereços IP de middleware. Com a conclusão dessa transição, os endereços IP herdados usados pela infraestrutura antiga agora podem ser removidos com segurança. Se sua conta tiver endereços IP do Middleware herdados presentes nas regras de firewall, a opção Remover IPs do Middleware Herdado do Portal do Azure será exibida. Selecione essa opção e salve para remover os endereços IP herdados.
Os endereços IP herdados dependem do ambiente de nuvem:
Ambiente do Azure | Endereços IP |
---|---|
Público do Azure |
104.42.195.92 , 40.76.54.131 , 52.176.6.30 , , 52.169.50.45 52.187.184.26 |
Azure operado pela 21Vianet |
139.217.8.252 , 52.176.6.30 , , 52.169.50.45 52.187.184.26 |
Governo dos EUA para Azure |
52.244.48.71 , 52.176.6.30 , , 52.169.50.45 52.187.184.26 |
Observação
Se você estiver enfrentando desafios para se conectar à sua conta do Azure Cosmos DB no Data Explorer, examine o guia de solução de problemas do Data Explorer.
Permitir solicitações de datacenters do Azure global ou de outras fontes dentro do Azure
Alguns serviços do Azure, como o Azure Stream Analytics e o Azure Functions, não usam um endereço IP fixo. Você ainda pode usar o firewall de IP para controlar o acesso a esses serviços. Para permitir o acesso de outros recursos do Azure, escolha a opção Aceitar conexões de dentro dos datacenters do Azure . Essa opção permite que os serviços em execução no Azure se conectem à sua conta do Cosmos DB.
Quando você habilita essa opção, o endereço IP 0.0.0.0
é adicionado à lista de endereços IP permitidos. O 0.0.0.0
endereço IP restringe as solicitações à sua conta do Azure Cosmos DB do intervalo IP do datacenter do Azure. Essa configuração não permite o acesso de nenhum outro intervalo de IP à sua conta do Azure Cosmos DB.
Observação
Definir publicNetworkAccess como Desabilitado tem precedência sobre a conexão Accept de dentro da opção de datacenters do Azure . Confira blocking-public-network-access-during-account-creation
Observação
Essa opção configura o firewall para permitir todas as solicitações do Azure, incluindo solicitações de assinaturas de outros clientes implantados no Azure. A lista de IPs permitidos por essa opção é ampla, limitando a eficácia de uma política de firewall. Use essa opção somente se suas solicitações não forem originadas de IPs ou sub-redes estáticas em redes virtuais. A escolha desta opção permite automaticamente o acesso do portal do Azure, porque o portal do Azure é implantado no Azure.
Solicitações do seu IP atual
Para simplificar o desenvolvimento, o portal do Azure ajuda a identificar e adicionar o IP do computador cliente à lista de permissões. Os aplicativos que executam sua máquina podem acessar sua conta do Azure Cosmos DB.
O portal detecta automaticamente o endereço IP do cliente. Pode ser o endereço IP do cliente da sua máquina ou o endereço IP do seu gateway de rede. Certifique-se de remover este endereço IP antes de levar suas cargas de trabalho para produção.
Para adicionar seu IP atual à lista de IPs, selecione Adicionar meu IP atual. Em seguida, selecione Salvar.
Solicitações dos serviços de nuvem
No Azure, os serviços de nuvem são uma maneira comum de hospedar a lógica do serviço de camada intermediária usando o Azure Cosmos DB. Para permitir que um serviço de nuvem se conecte à sua conta do Azure Cosmos DB, adicione o endereço IP público do serviço de nuvem à sua lista de IP permitida. Você pode executar essa operação atualizando a política de controle de acesso IP no portal do Azure. Esta etapa garante que todas as instâncias de função dos serviços de nuvem tenham acesso à sua conta do Azure Cosmos DB.
Você pode recuperar endereços IP de seus serviços de nuvem no Portal do Azure, conforme mostra a captura de tela a seguir:
Quando você dimensiona o serviço de nuvem adicionando instâncias de função, as novas instâncias automaticamente têm acesso à conta do Azure Cosmos DB porque fazem parte do mesmo serviço de nuvem.
Solicitações de máquinas virtuais
Você também pode usar máquinas virtuais ou conjuntos de dimensionamento de máquinas virtuais para hospedar serviços da camada intermediária usando o Azure Cosmos DB. Para permitir que uma máquina virtual se conecte à sua conta do Azure Cosmos DB, adicione seu endereço IP público à lista de permissões. Você pode executar essa etapa atualizando a política de controle de acesso ip. Essa configuração também funciona para conjuntos de dimensionamento de máquinas virtuais. Depois de adicionar o endereço IP público, a máquina virtual poderá acessar sua conta do Cosmos DB.
Você pode recuperar endereços IP de máquinas virtuais no Portal do Azure, conforme mostra a captura de tela a seguir:
Quando você adiciona instâncias de máquina virtual ao grupo, elas recebem automaticamente acesso à sua conta do Azure Cosmos DB.
Solicitações da Internet
Para se conectar à sua conta do Azure Cosmos DB de um computador na Internet, adicione o endereço IP do computador ou o intervalo de IP à lista de permissões. Somente os computadores que você adicionar a essa lista podem acessar sua conta do Cosmos DB.
Adicionar regras de saída ao firewall
Para obter uma lista atual de intervalos de IP de saída a serem adicionados às configurações de firewall, consulte Baixar intervalos de IP do Azure e marcas de serviço.
Para automatizar a lista, confira Usar a API de descoberta de marca de serviço.
Configurar um firewall IP usando um modelo do Resource Manager
Para configurar o controle de acesso para sua conta do Azure Cosmos DB, verifique se o modelo do Resource Manager especifica a propriedade ipRules com uma matriz de intervalos de IP permitidos. Se estiver configurando o Firewall de IP para uma conta do Azure Cosmos DB já implantada, verifique se a locations
matriz corresponde à implantação atual. Você não pode modificar a locations
matriz e outras propriedades ao mesmo tempo. Para obter mais informações e exemplos de modelos do Azure Resource Manager para o Azure Cosmos DB, consulte os modelos do Azure Resource Manager para o Azure Cosmos DB.
Importante
A propriedade ipRules é introduzida com a versão 2020-04-01
da API. Em vez disso, as versões anteriores usam uma propriedade ipRangeFilter , que é uma lista de endereços IP separados por vírgulas.
O exemplo mostra como a propriedade ipRules é exposta na versão de API 2020-04-01 ou posterior:
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"name": "[variables('accountName')]",
"apiVersion": "2020-04-01",
"___location": "[parameters('___location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('automaticFailover')]",
"ipRules": [
{
"ipAddressOrRange": "13.91.105.215"
},
{
"ipAddressOrRange": "4.210.172.107"
},
{
"ipAddressOrRange": "13.88.56.148"
},
{
"ipAddressOrRange": "40.91.218.243"
}
]
}
}
Aqui está o mesmo exemplo para qualquer versão de API anterior a 2020-04-01
:
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"name": "[variables('accountName')]",
"apiVersion": "2019-08-01",
"___location": "[parameters('___location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('automaticFailover')]",
"ipRangeFilter":"13.91.105.215,4.210.172.107,13.88.56.148,40.91.218.243"
}
}
Configurar uma política de controle de acesso IP usando a CLI do Azure
O comando a seguir mostra como criar uma conta do Azure Cosmos DB com o controle de acesso IP:
# Create an Azure Cosmos DB account with default values and IP firewall enabled
resourceGroupName='MyResourceGroup'
accountName='mycosmosaccount'
ipRangeFilter='192.168.221.17,183.240.196.255,40.76.54.131'
# Ensure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False \
--ip-range-filter $ipRangeFilter
Configurar uma política de controle de acesso ip usando o PowerShell
O script a seguir mostra como criar uma conta do Azure Cosmos DB com o controle de acesso IP:
# Create an Azure Cosmos DB account with default values and IP Firewall enabled
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$ipRules = @("192.168.221.17","183.240.196.255","40.76.54.131")
$locations = @(
@{ "locationName"="West US 2"; "failoverPriority"=0; "isZoneRedundant"=False },
@{ "locationName"="East US 2"; "failoverPriority"=1, "isZoneRedundant"=False }
)
# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
$CosmosDBProperties = @{
"databaseAccountOfferType"="Standard";
"locations"=$locations;
"ipRules"=$ipRules
}
New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
-ApiVersion "2020-04-01" -ResourceGroupName $resourceGroupName `
-Name $accountName -PropertyObject $CosmosDBProperties
Solucionar problemas com políticas de controle de acesso ip
Você pode solucionar problemas com uma política de controle de acesso IP usando as seguintes opções:
portal do Azure
Habilitar uma política de controle de acesso IP para sua conta do Azure Cosmos DB bloqueia todas as solicitações de computadores fora da lista permitida de intervalos de endereços IP. Para habilitar operações de plano de dados do portal, como navegar em contêineres e consultar documentos, permita explicitamente o acesso ao portal do Azure usando o painel Firewall no portal.
Kits de desenvolvimento de software
Quando você acessa recursos do Azure Cosmos DB usando SDKs (kits de desenvolvimento de software) de computadores que não estão na lista de permissões, uma resposta genérica 403 Proibida é retornada sem detalhes adicionais. Verifique a lista de IP permitida para sua conta e verifique se a configuração de política correta é aplicada à sua conta do Azure Cosmos DB.
IPs de origem em solicitações bloqueadas
Exiba cada solicitação e resposta habilitando o log de diagnóstico em sua conta do Azure Cosmos DB. As mensagens relacionadas ao firewall são registradas com um código de retorno 403. Ao filtrar essas mensagens, você pode ver os IPs de origem das solicitações bloqueadas. Confira Log de diagnósticos do Azure Cosmos DB.
Solicitações de uma sub-rede com um ponto de extremidade de serviço para o Azure Cosmos DB ativado
Solicitações de uma sub-rede em uma rede virtual com um ponto de extremidade de serviço para o Azure Cosmos DB habilitado enviam a rede virtual e a identidade de sub-rede para contas do Azure Cosmos DB. Essas solicitações não têm o IP público da origem, portanto, os filtros IP as rejeitam. Para permitir acesso de sub-redes específicas em redes virtuais, adicione uma lista de controle de acesso, conforme descrito em Como configurar a rede virtual e o acesso baseado em sub-rede para sua conta do Azure Cosmos DB. Pode levar até 15 minutos para as regras de firewall serem aplicadas e o firewall pode exibir um comportamento inconsistente durante esse período.
Endereços IP privados na lista de endereços permitidos
Falha ao criar ou atualizar uma conta do Azure Cosmos DB com uma lista de endereços permitidos que contêm endereços IP privados. Certifique-se de que nenhum endereço IP privado esteja especificado na lista.