Utilice AWS PrivateLink para configurar acceso privado a Amazon Bedrock

Beneficios de utilizar AWS PrivateLink para el acceso privado a Amazon Bedrock

Amazon Bedrock es un servicio completamente administrado proporcionado por AWS que ofrece a los desarrolladores acceso a modelos base (FMs) y las herramientas para personalizarlos para aplicaciones específicas. Permite a los desarrolladores construir y escalar aplicaciones de inteligencia artificial (IA) generativa utilizando FMs a través de una API, sin tener que administrar la infraestructura. Puedes elegir entre varios FMs de Amazon y principales startups de IA como AI21 Labs, Anthropic, Cohere y Stability AI para encontrar el modelo más adecuado para tu caso de uso. Con la experiencia sin servidor de Amazon Bedrock, puedes comenzar rápidamente, experimentar fácilmente con FMs, personalizarlos privadamente con tus propios datos e integrarlos y implementarlos sin problemas en tus aplicaciones utilizando las herramientas y capacidades de AWS.

Los clientes están construyendo aplicaciones innovadoras de IA generativa utilizando las API de Amazon Bedrock utilizando sus propios datos propietarios. Al acceder a las API de Amazon Bedrock, los clientes buscan un mecanismo para establecer un perímetro de datos sin exponer sus datos a Internet, para mitigar posibles vectores de amenazas derivadas de la exposición a Internet. El punto de conexión VPC de Amazon Bedrock impulsado por AWS PrivateLink te permite establecer una conexión privada entre la VPC en tu cuenta y la cuenta de servicio de Amazon Bedrock. Permite que las instancias de VPC se comuniquen con los recursos del servicio sin necesidad de direcciones IP públicas.

En esta publicación, demostraremos cómo configurar el acceso privado en tu cuenta de AWS para acceder a las API de Amazon Bedrock a través de puntos de conexión VPC impulsados por PrivateLink, para ayudarte a construir aplicaciones de IA generativa de forma segura con tus propios datos.

Resumen de la solución

Puedes utilizar la IA generativa para desarrollar una amplia gama de aplicaciones, como resúmenes de texto, moderación de contenido y otras capacidades. Al construir estas aplicaciones de IA generativa utilizando FMs o modelos base, los clientes desean generar una respuesta sin utilizar Internet público o utilizando sus propios datos propietarios que pueden residir en sus bases de datos empresariales.

En el siguiente diagrama, representamos una arquitectura para configurar tu infraestructura y leer tus datos propietarios almacenados en Amazon Relational Database Service (Amazon RDS) y mejorar la solicitud de la API de Amazon Bedrock con información del producto al responder consultas relacionadas con productos desde tu aplicación de IA generativa. Aunque utilizamos Amazon RDS en este diagrama con fines ilustrativos, puedes probar el acceso privado a las API de Amazon Bedrock de extremo a extremo utilizando las instrucciones proporcionadas en esta publicación.

Los pasos del flujo de trabajo son los siguientes:

  1. AWS Lambda que se ejecuta en la subred privada de tu VPC recibe la solicitud del generador de la aplicación de IA generativa.
  2. El Lambda realiza una llamada a la base de datos RDS propietaria y mejora el contexto de la consulta del generador (por ejemplo, agregando información del producto) e invoca la API de Amazon Bedrock con la solicitud de consulta mejorada.
  3. La llamada a la API se enruta al punto de conexión VPC de Amazon Bedrock que está asociado a la política de punto de conexión VPC con permisos de Allow para las API de Amazon Bedrock.
  4. El punto de conexión de la API de servicio Amazon Bedrock recibe la solicitud de API a través de PrivateLink sin atravesar Internet público.
  5. Puedes cambiar la política del punto de conexión VPC de Amazon Bedrock para denegar permisos y verificar que las llamadas a las API de Amazon Bedrock sean denegadas.
  6. También puedes acceder privadamente a las API de Amazon Bedrock a través del punto de conexión VPC desde tu red corporativa a través de una puerta de enlace AWS Direct Connect.

Prerrequisitos

Antes de comenzar, asegúrate de tener los siguientes prerrequisitos:

  • Una cuenta de AWS
  • Un rol federado de AWS Identity and Access Management (IAM) con acceso para realizar lo siguiente:
    • Crear, editar, ver y eliminar recursos de red VPC
    • Crear, editar, ver y eliminar funciones de Lambda
    • Crear, editar, ver y eliminar roles y políticas de IAM
    • Listar modelos base e invocar el modelo base de Amazon Bedrock
  • Para esta publicación, utilizamos la región us-east-1
  • Solicita acceso al modelo base a través de la consola de Amazon Bedrock

Configurar la infraestructura de acceso privado

En esta sección, configuramos la infraestructura, como VPC, subredes privadas, grupos de seguridad y función Lambda, utilizando una plantilla de AWS CloudFormation.

Utilice la siguiente plantilla para crear el stack de infraestructura Bedrock-GenAI-Stack en su cuenta de AWS.

La plantilla de CloudFormation crea los siguientes recursos en su nombre:

  • Una VPC con dos subredes privadas en zonas de disponibilidad separadas
  • Grupos de seguridad y tablas de enrutamiento
  • Rol de IAM y políticas para el uso de Lambda, Amazon Bedrock y Amazon Elastic Compute Cloud (Amazon EC2)

Configurar el punto de conexión VPC para Amazon Bedrock

En esta sección, utilizamos Amazon Virtual Private Cloud (Amazon VPC) para configurar el punto de conexión VPC para Amazon Bedrock y facilitar la conectividad privada desde su VPC a Amazon Bedrock.

  1. En la consola de Amazon VPC, en el panel de navegación, bajo Red privada virtual, elija Puntos de conexión.
  2. Elija Crear punto de conexión.
  3. Para Etiqueta de nombre, ingrese bedrock-vpce.
  4. En Servicios, busque bedrock-runtime y seleccione com.amazonaws.<region>.bedrock-runtime.
  5. Para VPC, especifique la VPC Bedrock-GenAI-Project-vpc que creó a través del stack de CloudFormation en la sección anterior.
  6. En la sección Subredes, seleccione las zonas de disponibilidad y elija los ID de subred correspondientes en el menú desplegable.
  7. Para Grupos de seguridad, seleccione el grupo de seguridad con el nombre de grupo Bedrock-GenAI-Stack-VPCEndpointSecurityGroup- y descripción Permitir TLS para punto de conexión VPC.

Un grupo de seguridad actúa como un firewall virtual para su instancia, para controlar el tráfico entrante y saliente. Tenga en cuenta que este grupo de seguridad del punto de conexión VPC solo permite el tráfico que se origina desde el grupo de seguridad adjunto a las subredes privadas de su VPC, añadiendo una capa de protección.

  1. Elija Crear punto de conexión.

  2. En la sección Política, seleccione Personalizada e ingrese la siguiente política de privilegios mínimos para asegurar que solo se permitan ciertas acciones en el recurso de modelo de base especificado, arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1 para un principal dado (como el rol de IAM de la función Lambda).

    {   "Version": "2012-10-17",    "Statement": [      {           "Action": [             "bedrock:InvokeModel"               ],          "Resource": [               "arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1"               ],          "Effect": "Allow",          "Principal": {                "AWS": "arn:aws:iam::<accountid>:role/GenAIStack-Bedrock"            }      }   ]}

Puede tardar hasta 2 minutos hasta que se cree el punto de conexión de la interfaz y el estado cambie a Disponible. Puedes actualizar la página para verificar el estado más reciente.

Configurar la función Lambda sobre subredes VPC privadas

Completa los siguientes pasos para configurar la función Lambda:

  1. En la consola de Lambda, elige Funciones en el panel de navegación.
  2. Elige la función gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. En la pestaña Configuración, elige Permisos en el panel izquierdo.
  4. Bajo el rol de ejecución, elige el enlace para el rol gen-ai-lambda-stack-BedrockTestLambdaFunctionRole-XXXXXXXXXXXX.

Se te redirige a la consola de IAM.

  1. En la sección de Políticas de permisos, elige Agregar permisos y selecciona Crear política integrada.

  2. En la pestaña JSON, modifica la política de la siguiente manera:

    {    "Version": "2012-10-17",    "Statement": [        {            "Sid": "eniperms",            "Effect": "Allow",            "Action": [                "ec2:CreateNetworkInterface",                "ec2:DescribeNetworkInterfaces",                "ec2:DeleteNetworkInterface",                "ec2:*VpcEndpoint*"            ],            "Resource": "*"        }    ]}
  3. Elige Siguiente.

  4. Para Nombre de la política, ingresa enivpce-policy.

  5. Elige Crear política.

  6. Agrega la siguiente política integrada (proporciona tus puntos de conexión de VPC de origen) para restringir el acceso de Lambda solo a las API de Amazon Bedrock a través de puntos de conexión de VPC:

    {    "Id": "lambda-bedrock-sourcevpce-access-only",    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Action": [        "bedrock:ListFoundationModels",                "bedrock:InvokeModel"            ],            "Resource": "*",            "Condition": {                "ForAnyValue:StringEquals": {                    "aws:sourceVpce": [                        "vpce-<bedrock-runtime-vpce>"                    ]                }            }        }    ]} 
  7. En la página de la función Lambda, en la pestaña Configuración, elige VPC en el panel izquierdo, luego selecciona Editar.

  8. Para VPC, elige Bedrock-GenAI-Project-vpc.

  9. Para Subredes, elige las subredes privadas.

  10. Para Grupos de seguridad, elige gen-ai-lambda-stack-SecurityGroup- (el grupo de seguridad para la carga de trabajo de Amazon Bedrock en subredes privadas).

  11. Elige Guardar.

Prueba de controles de acceso privado

Ahora puedes probar los controles de acceso privado (API de Amazon Bedrock a través de puntos de enlace VPC).

  1. En la consola de Lambda, elige Funciones en el panel de navegación.
  2. Elige la función gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. En la pestaña Código, elige Prueba.

Deberías ver la siguiente respuesta de la llamada a API de Amazon Bedrock (Estado: Satisfactorio).

  1. Para denegar el acceso a las API de Amazon Bedrock a través de puntos de enlace VPC, ve a la consola de Amazon VPC.
  2. En el panel de navegación, bajo Red privada virtual, elige Puntos de enlace.
  3. Elige tu política y ve a la pestaña Política.

Actualmente, la política de puntos de enlace VPC está configurada en Permitir.

  1. Para denegar el acceso, elige Editar política.
  2. Cambia Permitir a Denegar y elige Guardar.

Puede tardar hasta 2 minutos en actualizarse la política del punto de enlace VPC.

{    "Version": "2012-10-17",    "Statement": [      {           "Action": [             "bedrock:InvokeModel"               ],          "Resource": [               "arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1"               ],          "Effect": "Deny",           "Principal": {                "AWS": "arn:aws:iam::<accountid>:role/GenAIStack-Bedrock"            }      }   ]}
  1. Vuelve a la página de la función Lambda y en la pestaña Código, elige Prueba.

Como se muestra en la siguiente captura de pantalla, la solicitud de acceso a Amazon Bedrock a través del punto de enlace VPC fue denegada (Estado: Fallida).

A través de este proceso de prueba, demostramos cómo el tráfico desde tu VPC hasta el punto de enlace de API de Amazon Bedrock atraviesa la conexión PrivateLink y no a través de la conexión a internet.

Limpieza

Sigue estos pasos para evitar incurrir en cargos futuros:

  1. Limpia los puntos de enlace VPC.
  2. Limpia el VPC.
  3. Elimina la pila de CloudFormation.

Conclusión

En esta publicación, demostramos cómo configurar y operar una conexión privada entre una carga de trabajo de inteligencia artificial generativa implementada en tu VPC de cliente y Amazon Bedrock utilizando un punto de enlace VPC de interfaz alimentado por PrivateLink. Al utilizar la arquitectura discutida en esta publicación, el tráfico entre tu VPC de cliente y Amazon Bedrock no saldrá de la red de Amazon, asegurando que tus datos no se expongan a internet y ayudando así a cumplir con tus requisitos de cumplimiento.

Como próximo paso, prueba la solución en tu cuenta y comparte tus comentarios.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Rishi Sunak presenta la visión de nuevos organismos internacionales de seguridad de la IA

El Primer Ministro británico defendió la búsqueda de respaldo chino para una serie de nuevas iniciativas de gobernanz...

Inteligencia Artificial

El jefe de la búsqueda de Google dice que la empresa invierte para evitar convertirse en carroña'.

Al inicio de su defensa contra la ley antimonopolio, Google atribuyó su éxito a una inversión constante, contrarresta...

Inteligencia Artificial

Cómo este investigador ganador del Premio Turing se convirtió en un legendario asesor académico

El científico teórico de la computación Manuel Blum ha guiado a generaciones de estudiantes de posgrado hacia carrera...

Inteligencia Artificial

Google DeepMind utilizó un gran modelo de lenguaje para resolver un problema matemático insoluble

Tuvieron que desechar la mayor parte de lo que producían, pero había oro entre la basura.

Inteligencia Artificial

Experimenta la Realidad Aumentada (AR) directamente con tus propios ojos utilizando la IA

En un avance tecnológico, Brilliant Labs ha revolucionado el mercado de la Realidad Aumentada con su innovadora lente...