Segurança em camadas com restrições baseadas no contexto

Reduza sua superfície de ataque com restrições baseadas em contexto. Adicione o local da rede, o tipo de endpoint e os requisitos de MFA às suas políticas baseadas em identidade para obter um gerenciamento de acesso refinado.

As restrições baseadas em contexto permitem que os proprietários e administradores de contas definam e apliquem restrições de acesso aos recursos do site IBM Cloud® com base nos critérios de uma regra. Os critérios incluem o local da rede das solicitações de acesso, o tipo de ponto de extremidade de onde a solicitação é enviada, o nível de autenticação multifatorial de uma identidade e, às vezes, a API que a solicitação tenta acessar. Essas restrições funcionam com as políticas tradicionais de IAM, que são baseadas em identidade, para fornecer outra camada de proteção. Como tanto as políticas de IAM quanto as restrições baseadas em contexto impõem o acesso, as restrições baseadas em contexto oferecem proteção mesmo diante de credenciais comprometidas ou mal gerenciadas.

Um diagrama que mostra como funcionam as restrições baseadas em contexto.
Um diagrama que mostra como funcionam as restrições baseadas em contexto.

Para obter um exemplo de cenário sobre a criação de restrições baseadas em contexto, siga o tutorial para Aproveitar restrições baseadas em contexto para proteger seus recursos.

Para obter mais informações sobre a implementação de restrições baseadas em contexto em sua estratégia de segurança, consulte o tutorial da solução Aprimore a segurança na nuvem aplicando restrições baseadas em contexto.

Regras

Uma regra associa um recurso IBM Cloud a um conjunto de contextos:

  • O recurso de nuvem é especificado por atributos de recursos semelhantes às políticas de acesso do IAM.
  • Um contexto é uma combinação de zonas de rede e tipos de endpoint.

Os contextos que você configura definem o limite para os recursos associados.

Os atributos de recursos necessários nas regras de restrições baseadas em contexto são accountId e serviceName. As regras devem ter como escopo uma conta e um serviço específico.

As regras de restrição baseadas em contexto são aplicadas pela lógica a seguir:

  • O acesso é concedido por uma regra apenas quando pelo menos um dos contextos da regra permite o acesso.
  • Se várias regras forem aplicáveis a um determinado recurso, o acesso será concedido apenas quando todas as regras aplicáveis permitirem o acesso.
  • Se nenhuma regra for aplicável a um determinado recurso, o acesso será determinado exclusivamente pelas políticas do IAM.

Ao contrário das políticas do IAM, as restrições baseadas no contexto não atribuem acesso. As restrições baseadas no contexto verificam se uma solicitação de acesso vem de um contexto permitido que você configura.

A interface que você usa para acessar um recurso, como o console, a CLI ou a API, não afeta a forma como uma regra se aplica a esse recurso. A regra se aplica da mesma forma em todas as interfaces e se baseia no endereço IP do cliente.

Aplicação da regra

Você pode decidir como deseja aplicar uma regra na criação e atualizar a aplicação da regra a qualquer momento.

Ativado
Aplique a regra. Dependendo do serviço que você selecionar, o monitoramento das tentativas de acesso negado por meio do site Activity Tracker Event Routing poderá estar disponível. Examine a documentação de cada serviço para saber como eles se integram às restrições baseadas em contexto.
Desativado
Nenhuma restrição se aplica aos recursos de sua conta. Selecione essa opção se você não estiver pronto para ativar a regra.
Somente relatório
Dependendo do serviço selecionado, você pode monitorar como uma regra afeta o acesso sem aplicá-la. Com o modo somente de relatório, todas as tentativas de acessar recursos na conta são registradas em Activity Tracker Event Routing. Se disponível, recomenda-se o monitoramento por 30 dias antes de aplicar uma regra.

O modo somente de relatório não está disponível para todos os serviços, portanto, examine a documentação de cada serviço para saber como eles se integram às restrições baseadas em contexto.

Você pode monitorar o impacto de suas regras ativadas e somente de relatório. Para obter mais informações, consulte Monitoramento de restrições baseadas em contexto.

Definição do escopo de uma regra

Defina as APIs que você deseja proteger para restringir o escopo das restrições de uma regra. Dessa forma, você pode especificar proteções granulares para diferentes APIs que tenham requisitos de acesso distintos.

Por exemplo, você pode criar uma regra que direcione uma API de plano de dados para que ela seja acessível somente a partir de um cluster Kubernetes ou onde quer que sua infraestrutura de computação exista. Em seguida, é possível criar uma regra que vise à API do plano de controle e a todas as APIs da plataforma para proteger as interações com o console de nuvem, de modo que ele só possa ser acessado por trás da VPN da sua organização.

Somente alguns serviços suportam a capacidade de escopo de uma regra por API.

Com alguns serviços, você pode restringir as ações de todas as APIs de serviço em seus recursos por padrão, o que inclui todas as APIs atuais e futuras que o serviço possa suportar. Ou selecione APIs específicas. Por exemplo, Kubernetes tem APIs de serviço personalizadas às quais você pode restringir o acesso com base no contexto da solicitação. Consulte a documentação de cada serviço para saber mais sobre como eles se integram às restrições baseadas em contexto.

Alguns serviços oferecem suporte à capacidade de definir o escopo de uma regra para proteger todas as APIs de plataforma, o que inclui todas as APIs de plataforma atuais e futuras que um serviço pode suportar. A adição de APIs da plataforma ao escopo de uma regra garante que as operações da plataforma, como provisionamento de recursos, gerenciamento de credenciais de serviço e anexação de tags, sejam acessíveis somente a partir dos locais que você definir.

Por padrão, as restrições baseadas em contexto protegem todas as APIs de serviço e plataforma compatíveis com o serviço de destino.

Contextos

Os contextos definem onde seu recurso pode ser acessado. Um contexto é formado pelos tipos de endpoint permitidos e zonas de rede que você configura.

  • Se um contexto incluir zonas de rede, o acesso será concedido apenas quando a solicitação for criada em uma dessas zonas.
  • Se um contexto incluir tipos de endpoint em serviço, o acesso será concedido apenas quando a solicitação for recebida por meio de uma conexão que corresponda a um desses tipos.
  • Se um contexto incluir autenticação multifatorial (MFA), o acesso será concedido somente quando a identidade solicitante tiver um nível de MFA igual ou superior ao nível de MFA exigido.
  • Se um contexto inclui várias restrições, por exemplo, zonas e tipos de endpoint, todas as restrições devem ser satisfeitas para que o acesso seja concedido.

Zona de rede

Uma zona de rede representa uma lista de permissões de endereços IP onde uma solicitação de acesso é criada. Ele define um conjunto de um ou mais locais de rede que são especificados pelos atributos a seguir:

  • Endereços IP, que incluem endereços individuais, intervalos ou sub-redes.
  • VPCs
  • Referências de serviço, que permitem acesso de outros serviços da IBM Cloud®.

Endereços IP

Os clientes podem especificar os endereços IP dos quais eles sabem que desejam enviar tráfego. Qualquer coisa fora dos endereços IP especificados é negado.

VPCs

Se você tiver aplicativos implementados em um VPC que precisam de acesso a um recurso restrito baseado em contexto, é possível incluir os endereços IP do VPC em sua zona de rede. Para fazer isso, selecione a VPC de destino em sua zona de rede e adicione essa zona de rede à sua regra. Dessa forma, você não precisa encontrar os endereços IP que a VPC usa. Os recursos que são contatados veem que a solicitação está vindo de um conjunto de endereços IP permitidos.

Referências de serviço

Uma referência de serviço representa os locais de rede de um serviço ou instância de serviço. A inclusão de uma referência de serviço em uma zona de rede adiciona os endereços IP associados ao serviço à sua lista de permissões sem que você precise conhecer os endereços IP subjacentes do serviço. As referências de serviço são úteis, pois os locais de rede dos serviços em nuvem são desconhecidos do administrador de restrições baseadas em contexto e podem mudar com o tempo.

A seguir, há uma lista de serviços que podem ser adicionados a uma zona de rede como referência de serviço:

Serviços compatíveis com referências de serviços.
Serviço Tipo de serviço service_name
Todos os serviços de gerenciamento de contas Gerenciamento de contas iam-access-management
Serviço de grupos de acesso ao IAM Gerenciamento de contas iam-groups
Gerenciamento de usuários IAM Gerenciamento de contas user-management
Activity Tracker Event Routing IAM-enabled logdnaat
App Configuration IAM-enabled apprapp
Serviço de gerenciamento de catálogo Habilitado para IAM globalcatalog-collection
nuvem Block Storage for VPC Habilitado para IAM
Nuvem Object Storage Habilitado para IAM cloud-object-storage
Code Engine IAM-enabled codeengine
Databases for DataStax IAM-enabled databases-for-cassandra
Databases for EnterpriseDB IAM-enabled databases-for-enterprisedb
Databases for Elasticsearch IAM-enabled databases-for-elasticsearch
Databases for etcd IAM-enabled databases-for-etcd
Databases for MongoDB IAM-enabled databases-for-mongodb
Databases for MySQL IAM-enabled databases-for-mysql
Databases for PostgreSQL IAM-enabled databases-for-postgresql
Databases for Redis IAM-enabled databases-for-redis
Direct Link Habilitado para IAM directlink
Event Notifications IAM-enabled event-notifications
Event Streams IAM-enabled messagehub
Kubernetes Service / Red Hat OpenShift IAM-enabled containers-kubernetes
Messages for RabbitMQ IAM-enabled messages-for-rabbitmq
Secrets Manager Habilitado para IAM secrets-manager
Serviços de infraestrutura de VPC
Schematics IAM-enabled schematics
Toolchain IAM-enabled toolchain
Watsonx.data Habilitado para IAM lakehouse

Na tabela 1, todos os serviços de gerenciamento de contas se referem ao agrupamento de serviços do tipo gerenciamento de contas listados na tabela. Por exemplo, se houver dois serviços de Gerenciamento de contas listados na tabela 1, Todos os serviços de Gerenciamento de contas inclui esses dois serviços. À medida que mais serviços de gerenciamento de contas se tornam disponíveis como referências de serviço, as zonas de rede que especificam todos os serviços de gerenciamento de contas como referência de serviço incluem automaticamente os serviços de gerenciamento de contas recém-adicionados.

Consulte a documentação de cada oferta de serviço para obter mais informações sobre quais serviços devem ser adicionados como referência de serviço para a oferta de serviço que você segmenta em uma regra.

Tipos de terminal

Um tipo de endpoint representa a conexão pela qual uma solicitação de acesso é recebida. Ele corresponde ao endpoint que recebe a conexão. É possível permitir o acesso de todos os tipos de endpoint que são suportados pelo serviço ou tipos de endpoint de serviço específicos.

Os três tipos de endpoint comuns são os seguintes:

  • Os endpoints públicos podem aceitar solicitações de qualquer lugar.
  • Os pontos de extremidade privados estão disponíveis para a maioria das solicitações originadas em IBM Cloud®.
  • Os endpoints diretos são usados em cenários Bring-Your-Own-IP, geralmente para solicitações que se originam de recursos dentro de VPCs.

Alguns tipos de endpoint podem não ser suportados pelo serviço selecionado.

Para acessar os pontos de extremidade privados virtuais, os usuários da CLI devem fazer login usando o comando ibmcloud login -a private.cloud.ibm.com --vpc. Para obter mais informações, consulte Criação de um gateway de endpoint privado(necessário para uso de VPC).

Autenticação de de diversos fatores

A autenticação multifatorial (MFA) exige que as identidades se autentiquem usando outro fator de autenticação além de um ID e uma senha. Ao definir um requisito de nível de MFA menos rigoroso, você permite que os usuários que atendem ou excedem esse nível se autentiquem. Por exemplo, se a sua regra exigir que os usuários se autentiquem com MFA LEVEL1, os usuários que têm MFA LEVEL2 ainda estão em conformidade, pois LEVEL2 excede os critérios de segurança para LEVEL1. Os seguintes níveis de AMF indicam o fator mínimo de AMF para cada nível. Para obter mais informações, consulte IBM Cloud autenticação multifator.

  • LEVEL1: MFA baseada em e-mail
  • LEVEL2: TOTP MFA
  • LEVEL3: Chave de segurança MFA

Além de LEVEL1, LEVEL2 e LEVEL3 MFA, a regra de restrições baseadas em contexto também suporta o valor IAM_ACCOUNT_SETTING, o que significa que o valor de MFA da regra corresponde ao que você definir como requisito de MFA para a sua conta. Dessa forma, qualquer alteração nas configurações de MFA de sua conta se aplica automaticamente à regra. Para obter mais informações, consulte Opções de MFA.

Se uma opção for selecionada na seção MFA para usuários com um IBMid nas configurações de autenticação do IAM, o valor de MFA do IAM será mapeado para LEVEL2 MFA em restrições baseadas em contexto. A MFA é aplicada a usuários federados e não federados, mesmo se o usuário não federado for selecionado.

Apenas alguns serviços oferecem suporte à capacidade de especificar MFA em uma regra.

Requisitos de acesso

Para concluir as ações de regra, você deve receber uma política de IAM no serviço de destino. Para concluir as ações da zona de rede, você deve ser atribuído a uma política de IAM no serviço de restrições baseadas em contexto.

Para criar uma restrição baseada em contexto para um serviço, é necessário atribuir uma política de IAM com a função de Administrador ao serviço para o qual você está criando uma regra. Por exemplo, se você quiser criar uma regra para proteger uma instância Key Protect instância, você deverá receber a atribuição da função Administrador no serviço Key Protect e a função Viewer ou superior no serviço de restrições baseadas em contexto.

A função Viewer no serviço de restrições baseadas em contexto autoriza você a adicionar zonas de rede à sua regra.

Funções e ações de restrições baseadas no contexto

Para gerenciar as zonas de rede, você deve receber uma política de IAM com uma função específica para o serviço de gerenciamento de contas de restrições baseadas em contexto. A tabela a seguir mostra as possíveis funções de acesso e ações para o gerenciamento de contas.

Funções e ações para o serviço de restrições baseadas em contexto
Funções Ações
Visualizador Visualizar zonas de rede
Editor Visualizar zonas de rede

Criar zonas de rede

Atualizar zonas de rede

Remover zonas de rede

Administrador Visualizar zonas de rede

Criar zonas de rede

Atualizar zonas de rede

Remover zonas de rede

Para obter mais informações, consulte Ações e funções para serviços de gerenciamento de contas.

Também é possível usar zonas de rede para restringir o acesso no nível da conta. Para definir restrições no nível da conta usando zonas de rede, vá para Gerenciar > IAM > Configurações no console IBM Cloud e digite o nome da sua zona de rede.

Funções e ações do serviço-alvo

Para gerenciar regras, você deve receber uma política de IAM com a função de Administrador para o serviço em relação ao qual está criando a regra. A tabela a seguir mostra as possíveis funções e ações de acesso aos serviços.

Funções e exemplos de ações para o serviço de destino
Funções Ações
Visualizador Visualizar regras
Editor Visualizar regras
Administrador Regras de visualização

Criar regras

Atualizar regras

Remover regras

Serviços integrados com restrições baseadas em contexto

Os serviços específicos do IBM Cloud são integrados com restrições baseadas em contexto, e somente esses serviços podem aplicar regras aos seus recursos. A maneira como as regras se aplicam a serviços individuais é determinada pelo serviço, portanto, certifique-se de analisar a documentação de cada serviço para entender como as restrições baseadas no contexto se aplicam.

Você pode criar restrições baseadas em contexto para os seguintes serviços se tiver o acesso correto no serviço:

Serviços compatíveis com restrições baseadas em contexto.
Serviço Tipo de serviço Escopo para APIs service_name
Activity Tracker Event Routing Gerenciamento de conta Não atracker
App Configuration Ativado para IAM Não apprapp
serviço de gerenciamento de catálogo Ativado para IAM True globalcatalog-collection
IBM Cloud Logs Ativado para IAM Não logs
IBM Cloud Monitoring Ativado para IAM Não sysdig-monitor
Backup e Recuperação Ativado para IAM True backup-recovery
Nuvem Object Storage Ativado para IAM Não cloud-object-storage
Code Engine Ativado para IAM Não codeengine
Container Registry Ativado para IAM Não container-registry
Restrições baseadas em contexto Serviço Gerenciamento de conta Não context-based-restrictions
Databases for DataStax Ativado para IAM True databases-for-cassandra
Databases for EnterpriseDB Ativado para IAM True databases-for-enterprisedb
Databases for Elasticsearch Ativado para IAM True databases-for-elasticsearch
Databases for etcd Ativado para IAM True databases-for-etcd
Databases for MongoDB Ativado para IAM True databases-for-mongodb
Databases for MySQL Ativado para IAM True databases-for-mysql
Databases for PostgreSQL Ativado para IAM True databases-for-postgresql
Databases for Redis Ativado para IAM True databases-for-redis
Direct Link Ativado para IAM Não directlink
DNS Services Ativado para IAM Não dns-svcs
Enterprise Application Service Ativado para IAM Não enterprise-app-java
Event Notifications Ativado para IAM Não event-notifications
Event Streams Ativado para IAM Não messagehub
Hyper Protect Crypto Services Ativado para IAM True hs-crypto
Serviço de grupos de acesso do IAM Gerenciamento de conta Não iam-groups
IAM Access Management Service Gerenciamento de conta Não iam-access-management
IAM Identity Service Gerenciamento de conta Não iam-identity
Gerenciamento de usuários IAM Gerenciamento de conta Não user-management
IBM Cloud® Virtual Private Cloud Ativado para IAM Não is
Key Protect Ativado para IAM Não kms
Kubernetes Service / Red Hat OpenShift Ativado para IAM True containers-kubernetes
MQ Ativado para IAM True mqcloud
Messages for RabbitMQ Ativado para IAM True messages-for-rabbitmq
Schematics Ativado para IAM Não schematics
Secrets Manager Ativado para IAM Não secrets-manager
IBM Cloud Security and Compliance Center Workload Protection Ativado para IAM Não sysdig-secure
Serviço de identificação Gerenciamento de conta Não ghost-tags
Transit Gateway Ativado para IAM Não transit
Watsonx.data Ativado para IAM Não lakehouse

As restrições baseadas em contexto que são definidas para serviços habilitados para IAM não se aplicam a ações de plataforma como criar ou excluir. Para obter mais informações, consulte Funções e ações do IAM.

Volte regularmente para ver quais serviços são adicionados à medida que mais serviços se integram às restrições baseadas em contexto.

Limites de restrições baseadas em contexto

A tabela a seguir lista os limites máximos para restrições baseadas em contexto. Esses limites se aplicam a qualquer usuário que possa criar regras de restrições baseadas em contexto ou zonas de rede. Para obter mais informações, consulte O que são restrições baseadas em contexto?.

Se você tiver um caso de uso específico que necessite de um limite estendido, poderá solicitar um aumento. Para obter mais informações, consulte Aumentando os limites da conta.

Limites de restrições baseadas em contexto
Recurso Máx.
Regras de restrição baseadas em contexto por conta [1] 4020
Zonas de rede por conta 500
Endereços IP por zona de rede 1000
Endereços IP por regra 1000

Uma regra de restrição baseada em contexto que inclui várias zonas de rede pode ter um máximo de 1.000 endereços IP indiretamente associados a ele. Por exemplo, em uma regra que inclui duas zonas de rede, uma das zonas pode ter 800 endereços IP e a outra pode ter um máximo de 200 endereços IP.

Se quiser verificar o número de regras em sua conta, consulte Visualização do número total de regras por conta. Para solicitar um aumento no limite da conta, consulte Solicitação de aumento do limite compartilhado de políticas e regras.

Consistência eventual

As restrições baseadas em contexto seguem um padrão eventualmente consistente que é comum a muitos serviços nativos da nuvem. Como resultado, as restrições baseadas em contexto permanecem altamente disponíveis e com desempenho em várias regiões globais. As mudanças que são feitas em regras de restrições baseadas em contexto e zonas de rede são registradas e propagadas mundialmente. As mudanças de acesso podem não ser efetivadas até que o processo de propagação esteja concluído, geralmente dentro de alguns minutos.


  1. As políticas de IAM e as regras de restrições baseadas em contexto compartilham um limite combinado de 4020. ↩︎