Desvincule PDP y PEP para admitir la arquitectura de confianza cero en Oracle Cloud

Para ayudar a reducir el riesgo de amenazas constantes, una arquitectura de confianza cero debe utilizar un plano de control independiente para el punto de decisión de política (PDP) e implementar el punto de aplicación de políticas (PEP) en un plano de datos. Puede utilizar los servicios de Oracle Cloud para soportar su arquitectura de confianza cero y mejorar el control de acceso en Oracle Cloud para su implantación de PDP y PEP.

Oracle Cloud Infrastructure (OCI) proporciona un conjunto atractivo de capacidades de seguridad para proteger cargas de trabajo esenciales y datos confidenciales. Oracle Cloud implementa un modelo de seguridad de confianza cero que se basa en la arquitectura de confianza cero establecida por el Instituto Nacional de Estándares y Tecnología (NIST). Este modelo le permite aplicar una postura de seguridad estricta que requiere la verificación de todos los usuarios que intentan obtener acceso a sistemas, redes y datos.

Puede integrar OCI Identity and Access Management y OCI API Gateway para lograr la separación entre el PDP y el PEP.

Identity and Access Management (IAM)

Oracle Cloud proporciona una plataforma empresarial de identidad como servicio (IDaaS) denominada OCI Identity and Access Management. OCI Identity and Access Management utiliza dominios de identidad para aprovisionar identidades en la nube, usuarios y aplicaciones seguras. Puede utilizar OCI Identity and Access Management con dominios de identidad como PDP para permitir o denegar el acceso a varios recursos o servicios en la nube mediante la definición de políticas granulares.

La plataforma de identidad sirve como puerta de entrada a los servicios en la nube, así como una plataforma independiente de identidad como servicio (IDaaS) tanto para usuarios empresariales como para consumidores. Esta plataforma proporciona capacidades clave de gestión de identidades para aplicaciones y servicios que se ejecutan en Oracle Cloud, nubes de terceros y tus centros de datos locales. OCI Identity and Access Management ofrece autenticación, conexión única (SSO) y gestión del ciclo de vida de identidad para Oracle Cloud y para aplicaciones de Oracle y no de Oracle, ya sean SaaS, alojadas en la nube o locales. IAM también le permite controlar qué tipo de acceso tiene un grupo de usuarios y a qué recursos en la nube específicos.

Gateway de API

Oracle Cloud crea servicios con un enfoque de diseño que prioriza la seguridad. Con este enfoque, servicios como el gateway de API de OCI le permiten crear políticas de acceso a datos que solo permiten a usuarios o aplicaciones autorizados acceder a los datos en toda la empresa.

El servicio OCI API Gateway permite crear interfaces HTTP/S (API) gestionadas para varios backends, incluidos los servicios de Oracle Cloud, como OCI Load Balancing, OCI Functions, instancias de OCI Compute y aplicaciones locales conectadas a Oracle Cloud a través de una VPN u OCI FastConnect. OCI API Gateway proporciona funciones de aplicación de políticas como la limitación de tarifas a puntos finales HTTP/S, la autenticación con proveedores de identidad y el acceso a varios servicios RESTful tanto en la nube como locales.

OCI API Gateway garantiza que el emisor de llamada se autentique para que los backends conectados al gateway no se puedan llamar de forma anónima. OCI API Gateway también puede comprobar la autorización y permite agregar URL HTTP y HTTP/S a un servicio de backend para otorgar acceso de front-end a esos servicios con la aplicación de políticas. Las URL HTTP/S que especifique para el servicio de backend pueden ser una de las siguientes:

  • URL de un servicio de Oracle Cloud (por ejemplo, OCI Functions u OCI Object Storage)
  • URL de un servicio en su propia red privada o interna que está conectada a OCI a través de VPN o OCI FastConnect

Arquitectura

Este diseño de arquitectura describe la integración entre OCI Identity and Access Management y OCI API Gateway. En esta arquitectura, OCI API Gateway actúa como PEP al aplicar las políticas, y OCI Identity and Access Management actúa como PDP al autorizar el token y otorgar acceso a usuarios autorizados. Esta integración aprovecha el token web JWT o JSON, también conocido comúnmente como token de acceso. JWT es un estándar del sector abierto que permite la integración con otros sistemas IAM.

El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de cero-trust-pdp-pep-oci.png
Descripción de la ilustración cero-trust-pdp-pep-oci.png

cero confianza-pdp-pep-oci-oracle.zip

En los siguientes pasos se explica el flujo de autorización de arquitectura con OCI API Gateway y OCI Identity and Access Management:
  1. Generación de un token de acceso

    La aplicación cliente del usuario final utiliza la API de IAM para generar un token de acceso JWT desde OCI Identity and Access Management (PDP).

  2. Llamada con token de acceso (JWT)

    El token de acceso de JWT se envía a OCI API Gateway como parte de la cabecera de solicitud HTTP de cada llamada de API. De manera opcional, el token puede contener ámbitos definidos específicamente para los recursos.

  3. Verificación de políticas y validación de JWT con IAM

    El gateway de API de OCI (PEP) llama a la API de autorización de IAM y transfiere el token de acceso recibido del cliente.

  4. Decisión de políticas

    El servicio OCI Identity and Access Management (PDP) evalúa el token y devuelve una decisión de permitir o denegar.

  5. Otorgar Acceso a Backends

    El gateway de API de OCI (PEP) otorga o deniega el acceso a servicios de backend (como microservicios que se ejecutan en Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), OCI Functions, OCI Object Storage o a un punto final de servicio expuesto por una aplicación que se ejecuta en VM) según el resultado de la decisión de política de IAM.

  6. Respuesta (200 correcta / 403 prohibida)

    El gateway de API de OCI (PEP) devuelve el estado 200 OK (allow) o 403 Forbidden (deny) al emisor de la llamada.

Puede utilizar la consola o las llamadas de GUI y REST de OCI para configurar la implantación de esta integración.

La arquitectura tiene los siguientes componentes:

  • Gateway de API

    El servicio OCI API Gateway permite publicar API con puntos finales privados accesibles desde la red y que se pueden exponer a la red pública de Internet si es necesario. Los puntos finales admiten la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o una población de usuarios diferente.

    IAM permite controlar quién puede acceder a sus recursos en OCI y las operaciones que pueden realizar en esos recursos.

  • Política

    Una política de Oracle Cloud Infrastructure Identity and Access Management especifica quién puede acceder a qué recursos y cómo. El acceso se otorga en el nivel de grupo y compartimento, lo que significa que puede escribir una política que proporcione a un grupo un tipo específico de acceso dentro de un compartimento específico o al arrendamiento.

  • Container Engine para Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) es un servicio totalmente gestionado, escalable y con alta disponibilidad que puede utilizar para desplegar las aplicaciones en contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y Container Engine for Kubernetes los aprovisionará en Oracle Cloud Infrastructure en un arrendamiento existente. Container Engine for Kubernetes utiliza Kubernetes para automatizar el despliegue, el ajuste y la gestión de aplicaciones en contenedores en clusters de hosts.

  • Functions

    Oracle Cloud Infrastructure Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, altamente escalable y bajo demanda. Está alimentado por el motor de origen abierto Fn Project. Las funciones le permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.

  • Object Storage

    Object Storage proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido rico como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso directo al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" que conserva durante largos períodos de tiempo y al que rara vez accede.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Los requisitos pueden diferir de la arquitectura que se describe aquí.
  • Seguridad

    Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure (OCI) de forma proactiva. Oracle Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a los operadores y usuarios en busca de actividades de riesgo. Cuando se detecta una actividad no segura o de configuración incorrecta, Oracle Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde la red Internet pública y se deben cifrar mediante claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, OCI valida las operaciones con respecto a las políticas de la receta de zona de seguridad y niega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de OCI Object Storage con visibilidad definida como pública.

    Aplique Oracle Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

Consideraciones

Tenga en cuenta lo siguiente al implantar esta arquitectura de referencia:

  • Aprovisionamiento de usuarios y control de acceso

    Cuando se otorga a los clientes acceso a servicios de backend y datos, ¿cómo se aprovisionan en Oracle Cloud Infrastructure Identity and Access Management (que los autentica)? ¿Cómo se anula el aprovisionamiento cuando se revocan sus derechos de acceso? Estas consideraciones surgen como parte del debate más amplio sobre cómo y a quién se ponen a disposición los productos de datos monetizados.

  • Rendimiento

    Oracle Cloud Infrastructure API Gateway soporta el almacenamiento en caché de respuesta mediante la integración con un servidor de caché externo (como un servidor Redis o KeyDB), lo que ayuda a evitar una carga innecesaria en los servicios de backend. Con las respuestas almacenadas en caché, las solicitudes similares se completan recuperando datos de una caché de respuestas en lugar de enviar la solicitud al servicio backend. Esto reduce la carga en los servicios de backend, lo que ayuda a mejorar el rendimiento y reducir los costos.

    OCI API Gateway también almacena en caché los tokens de autenticación en función de su tiempo de actividad (TTL), lo que reduce la carga en el proveedor de identidad y mejora el rendimiento.

  • Seguridad

    Los servicios de Oracle Cloud Infrastructure (OCI) utilizan políticas de OCI Identity and Access Management, como permitir que OCI API Gateway llame a funciones. OCI API Gateway también puede controlar el acceso mediante la autenticación y autorización OAuth. La autenticación y la autorización se pueden federar mediante OCI Identity and Access Management, que proporciona a OCI API Gateway la capacidad de autenticarse en una amplia gama de servicios y configuraciones de autenticación.

  • Alta Disponibilidad

    Considere el uso de una opción de alta disponibilidad basada en los requisitos de despliegue y la región. Entre las opciones se incluyen la distribución de recursos en varios dominios de disponibilidad de una región y la distribución de recursos en los dominios de errores de un dominio de disponibilidad. Los dominios de errores ofrecen la mejor resiliencia para las cargas de trabajo desplegadas en un solo dominio de disponibilidad. Para disfrutar de una alta disponibilidad en el nivel de aplicación, despliegue los servidores de aplicaciones en distintos dominios de errores y utilice un equilibrador de carga para distribuir el tráfico de cliente entre los servidores de aplicaciones.

Confirmaciones

Autor:

  • Subba Bhamidipati