Dividir PDP e PEP para Oferecer Suporte a Arquitetura de Confiança Zero no Oracle Cloud

Para ajudar a reduzir o risco de ameaças constantes, uma arquitetura de confiança zero deve usar um plano de controle separado para o Ponto de Decisão da Política (PDP) e implementar o Ponto de Aplicação da Política (PEP) em um plano de dados. Você pode usar os serviços do Oracle Cloud para dar suporte à sua arquitetura de confiança zero e aprimorar o controle de acesso no Oracle Cloud para sua implementação de PDP e PEP.

O Oracle Cloud Infrastructure (OCI) fornece um conjunto atraente de recursos de segurança para proteger cargas de trabalho de missão crítica e dados confidenciais. A Oracle Cloud implementa um modelo de segurança de confiança zero informado pela arquitetura de confiança zero estabelecida pelo NIST (National Institute of Standards and Technology). Esse modelo permite impor uma postura de segurança rigorosa que exige verificação de todos os usuários que tentam obter acesso a sistemas, redes e dados.

Você pode integrar o OCI Identity and Access Management e o OCI API Gateway para obter a separação entre o PDP e o PEP.

Serviço IAM (Identity and Access Management)

O Oracle Cloud fornece uma plataforma de Identidade como Serviço (IDaaS) de classe empresarial chamada OCI Identity and Access Management. O OCI Identity and Access Management usa domínios de identidade para provisionar identidades, usuários e aplicativos seguros na nuvem. Você pode usar o OCI Identity and Access Management com Domínios de Identidades como o PDP para permitir ou negar o acesso a vários recursos ou serviços da nuvem definindo políticas granulares.

A plataforma de identidade serve como porta de entrada para serviços em nuvem, bem como uma plataforma independente de identidade como serviço (IDaaS) para usuários corporativos e consumidores. Essa plataforma fornece os principais recursos de gerenciamento de identidade para aplicativos e serviços executados na Oracle Cloud, nuvens de terceiros e seus data centers locais. O OCI Identity and Access Management oferece autenticação, sign-on único (SSO) e gerenciamento do ciclo de vida de identidade para o Oracle Cloud e para aplicativos Oracle e não Oracle, sejam eles SaaS, hospedados na nuvem ou locais. O serviço IAM também permite controlar o tipo de acesso que um grupo de usuários tem e a quais recursos de nuvem específicos.

Gateway de API

A Oracle Cloud cria serviços com uma abordagem de design que prioriza a segurança. Com essa abordagem, serviços como o Gateway de API do OCI permitem criar políticas de acesso a dados que permitem que apenas usuários ou aplicativos autorizados acessem os dados em toda a empresa.

O serviço OCI API Gateway permite criar interfaces HTTP/S (APIs) controladas para vários back-ends, incluindo serviços do Oracle Cloud, como OCI Load Balancing, OCI Functions, OCI Compute e aplicativos locais conectados ao Oracle Cloud por meio de uma VPN ou OCI FastConnect. O OCI API Gateway fornece recursos de aplicação de política, como limitação de taxa para pontos finais HTTP/S, autenticação com provedores de identidade e acesso a vários serviços RESTful na nuvem e no local.

O OCI API Gateway garante que o chamador seja autenticado para que os back-ends conectados ao gateway não possam ser chamados anonimamente. O OCI API Gateway também pode verificar a autorização e permite que você adicione URLs HTTP e HTTP/S a um serviço de back-end para conceder a esses serviços acesso de front-end com aplicação de política. Os URLs HTTP/S especificados para o serviço de back-end podem ser um dos seguintes:

  • O URL de um serviço do Oracle Cloud (por exemplo, OCI Functions ou OCI Object Storage)
  • O URL de um serviço em sua própria rede privada ou interna conectada ao OCI por meio da VPN ou do OCI FastConnect

Arquitetura

Este design de arquitetura descreve a integração entre o OCI Identity and Access Management e o OCI API Gateway. Nessa arquitetura, o OCI API Gateway atua como PEP impondo as políticas e o OCI Identity and Access Management atua como PDP autorizando o token e concedendo acesso a usuários autorizados. Essa integração aproveita o token JWT ou JSON Web, também conhecido como Token de Acesso. O JWT é um padrão aberto do setor que permite a integração com outros sistemas IAM.

O diagrama a seguir ilustra essa arquitetura de referência.

A seguir, descrição de zero-trust-pdp-pep-oci.png
Descrição da ilustração zero-trust-pdp-pep-oci.png

zero-trust-pdp-pep-oci-oracle.zip

As etapas a seguir explicam o fluxo de autorização de arquitetura com o OCI API Gateway e o OCI Identity and Access Management:
  1. Gerar Token de Acesso

    O aplicativo cliente do usuário final usa a API do IAM para gerar um token de acesso JWT do OCI Identity and Access Management (PDP).

  2. Chamada com Token de Acesso (JWT)

    O Token de Acesso JWT é enviado ao Gateway de API do OCI como parte do cabeçalho de solicitação HTTP de cada chamada de API. Opcionalmente, o token pode conter escopos definidos especificamente para os recursos.

  3. Verificação de Política e Validação JWT com o Serviço IAM

    O Gateway de API do OCI (PEP) chama a API de Autorização do IAM e informa o token de acesso recebido do cliente.

  4. Decisão de Política

    O serviço OCI Identity and Access Management (PDP) avalia o token e retorna uma decisão de permitir ou negar.

  5. Conceder Acesso a Backends

    O OCI API Gateway (PEP) concede ou nega acesso a serviços de back-end (como Microsserviços em execução no Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), OCI Functions, OCI Object Storage ou a um ponto final de serviço exposto por um aplicativo em execução na VM) com base no resultado da decisão de política do IAM.

  6. Resposta (200 OK / 403 Proibida)

    O Gateway de API do OCI (PEP) retorna o status 200 OK (permitir) ou 403 Proibido (negar) de volta ao chamador.

Você pode usar a Console ou as chamadas GUI e REST do OCI para configurar a implementação dessa integração.

A arquitetura tem os seguintes componentes:

  • Gateway de API

    O serviço OCI API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor à internet pública, se necessário. Os pontos finais suportam validação de API, transformação de solicitação e resposta, CORS, autenticação e autorização e limitação de solicitação.

  • Serviço IAM (Identity and Access Management)

    O Oracle Cloud Infrastructure Identity and Access Management (IAM) é o plano de controle de acesso para o Oracle Cloud Infrastructure (OCI) e o Oracle Cloud Applications. A API do serviço IAM e a interface do usuário permitem que você gerencie domínios de identidade e os recursos dentro do domínio de identidades. Cada domínio de identidades do OCI IAM representa uma solução independente de gerenciamento de identidade e acesso ou uma população de usuários diferente.

    O IAM permite controlar quem pode acessar seus recursos no OCI e as operações que eles podem executar nesses recursos.

  • Política

    Uma política do Oracle Cloud Infrastructure Identity and Access Management especifica quem pode acessar quais recursos e como. O acesso é concedido no nível de grupo e compartimento. Isso significa que você pode gravar uma política que dá a um grupo um tipo específico de acesso em um compartimento específico ou à tenancy.

  • Engenharia do Contêiner para Kubernetes

    O Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos em contêineres na nuvem. Você especifica os recursos de computação necessários, e o Container Engine for Kubernetes os provisionará no Oracle Cloud Infrastructure em uma tenancy existente. O Container Engine for Kubernetes usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos de contêineres em clusters de hosts.

  • Functions

    O Oracle Cloud Infrastructure Functions é uma plataforma Functions-as-a-Service (FaaS) totalmente gerenciada, multitenant, altamente escalável e sob demanda. Ele é alimentado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou o acione em resposta a eventos. O Oracle Functions usa contêineres Docker hospedados no Oracle Cloud Infrastructure Registry.

  • Object Storage

    O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar facilmente o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento "quente" que você precisa para acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • Segurança

    Use o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure (OCI) de forma proativa. O Oracle Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos quanto a pontos fracos de segurança e monitorar operadores e usuários em busca de atividades arriscadas. Quando uma configuração incorreta ou uma atividade insegura é detectada, o Oracle Cloud Guard recomenda ações corretivas e ajuda a executar essas ações, com base nas receitas do respondedor que você pode definir.

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos de uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o OCI validará as operações de acordo com as políticas na receita da zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem especificar que tipo de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do OCI Object Storage que tenham visibilidade definida como pública.

    Aplique o Oracle Cloud Guard no nível da tenancy para cobrir o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações aos detectores.

Considerações

Considere o seguinte ao implementar essa arquitetura de referência:

  • Provisionamento de Usuários e Controle de Acesso

    Quando os clientes recebem acesso a serviços de dados e backend, como eles são provisionados no Oracle Cloud Infrastructure Identity and Access Management (o que os autentica)? Como eles são desprovisionados quando seus direitos de acesso devem ser revogados? Essas considerações surgem como parte da discussão mais ampla sobre como e para quem os produtos de dados monetizados são disponibilizados.

  • Desempenho

    O Oracle Cloud Infrastructure API Gateway suporta o armazenamento em cache de resposta integrando-se a um servidor de cache externo (como um servidor Redis ou KeyDB), o que ajuda a evitar carga desnecessária em serviços de back-end. Com respostas armazenadas em cache, solicitações semelhantes são concluídas recuperando dados de um cache de resposta em vez de enviar a solicitação ao serviço de backend. Isso reduz a carga nos serviços de back-end, o que ajuda a melhorar o desempenho e reduzir custos.

    O OCI API Gateway também armazena em cache Tokens de Autenticação com base em seu tempo de vida (TTL), reduzindo a carga no Provedor de Identidades e melhorando o desempenho.

  • Segurança

    Os serviços do Oracle Cloud Infrastructure (OCI) usam políticas do OCI Identity and Access Management, como permitir que o OCI API Gateway chame funções. O OCI API Gateway também pode controlar o acesso usando autenticação e autorização OAuth. A autenticação e a autorização podem ser federadas por meio do OCI Identity and Access Management, que dá ao OCI API Gateway o poder de autenticação em uma ampla variedade de serviços e configurações de autenticação.

  • Alta Disponibilidade

    Considere usar uma opção de alta disponibilidade com base em seus requisitos de implantação e região. As opções incluem a distribuição de recursos entre vários domínios de disponibilidade em uma região e a distribuição de recursos entre os domínios de falha em um domínio de disponibilidade. Os domínios de falha fornecem a melhor resiliência para cargas de trabalho implantadas em um único domínio de disponibilidade. Para obter alta disponibilidade na camada de aplicativos, implante os servidores de aplicativos em diferentes domínios de falha e use um balanceador de carga para distribuir o tráfego do cliente entre os servidores de aplicativos.

Confirmações

Autor:

  • Subba Bhamidipati