View a markdown version of this page

Asegurar AWS IAM Roles Anywhere con un certificado privado - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Asegurar AWS IAM Roles Anywhere con un certificado privado

Barnali Singh, Amazon Web Services

Resumen

Este patrón demuestra cómo implementar AWS IAM Roles Anywhere with AWS Private Certificate Authority (Autoridad de certificación privada de AWS) para permitir una autenticación segura y basada en certificados para las cargas de trabajo externas que acceden a los recursos. AWS La solución elimina la necesidad de claves de acceso a largo plazo mediante el uso de X.509 certificados para obtener credenciales temporales. AWS Se trata de un patrón de seguridad nativo de la nube que incluye una automatización completa mediante AWS CloudFormation plantillas y scripts de shell, lo que permite a las organizaciones implementar rápidamente la autenticación híbrida segura para aplicaciones locales, CI/CD canalizaciones y sistemas externos.

Requisitos previos y limitaciones

Requisitos previos 

Para AWS el despliegue de infraestructuras:

  • AWS CLI instalado y configurado con permisos administrativos

  • Permisos administrativos para IAM IAM Roles Anywhere y servicios Autoridad de certificación privada de AWS

Para la configuración del sistema cliente:

  • AWS CLI instalado en el sistema cliente con los siguientes permisos:

    • acm-pca:IssueCertificate

    • acm-pca:GetCertificate

  • OpenSSL instalado en el sistema cliente

  • AWS Signing Helper está instalado en cada sistema cliente

  • Comprensión básica de los conceptos de X.509 certificados y PKI

nota

La CloudFormation plantilla gestiona automáticamente la creación AWS de recursos. OpenSSL solo es necesario en los sistemas externos que utilizarán certificados para acceder a los recursos. AWS

Limitaciones

  • El período de validez del certificado está limitado a un máximo de 10 años para la CA raíz

  • Cambie los certificados de los clientes con regularidad. Le recomendamos que lo haga al menos una vez al año.

  • Limitación regional: confíe en las anclas y Autoridad de certificación privada de AWS debe estar en la misma AWS región

  • Tamaño máximo del certificado: 16 KB para los certificados de clientes

Versiones de producto

  • AWS CLI versión 2.0 o posterior

  • OpenSSL 1.1.1 o posterior

  • AWS Signing Helper 1.4.0 o posterior

  • Autoridad de certificación privada de AWS, versión actual

  • IAM Roles Anywhere e, versión actual

Arquitectura

Pila de tecnología de destino

• Autoridad de certificación privada de AWS - CA raíz para la emisión de certificados

• IAM Roles Anywhere - servicio de asunción de Certificate-based roles

• Funciones y políticas de IAM: control de acceso y permisos

• AWS Signing Helper: herramienta de recuperación de Client-side credenciales

• OpenSSL: generación de certificados y claves

• CloudFormation - Automatización de infraestructuras

Arquitectura de destino

Figura 1: Autenticación basada en IAM Roles Anywhere certificados

La arquitectura se compone de:

  1. Certificado actual: el sistema externo presenta el X.509 certificado a AWS

  2. Autenticar: IAM Roles Anywhere recibe el certificado e inicia la autenticación

  3. Verificar: Trust Anchor verifica el certificado con las autoridades certificadoras confiables

  4. Validar: Autoridad de certificación privada de AWS valida la autenticidad y el estado del certificado

  5. Certificado válido: Autoridad de certificación privada de AWS confirma que el certificado es válido y confiable

  6. Asumir el rol: IAM Roles Anywhere permite que el sistema externo asuma el rol de IAM configurado

  7. Otorgar acceso: el sistema externo recibe credenciales temporales para acceder a los recursos AWS

Automatización y escala

Este patrón incluye la automatización completa mediante:

• CloudFormation plantilla para el aprovisionamiento AWS de recursos con permisos de IAM configurables

• Secuencia de comandos de shell para la generación de certificados y la configuración del cliente

• Configuración parametrizada para múltiples entornos y políticas de IAM personalizadas

• Generación de certificados por lotes para varios clientes

• Instalación y configuración automatizadas del asistente de credenciales

Flujo de trabajo

  1. Establezca los AWS servicios básicos necesarios para utilizar la autenticación basada en certificados. IAM Roles Anywhere

  2. Cree y configure certificados y herramientas de autenticación del lado del cliente para un acceso seguro. AWS

  3. Verifique la funcionalidad de autenticación basada en certificados y establezca la supervisión de las operaciones en curso.

Tools (Herramientas)

• CloudFormation - Automatiza la creación de PCA, Trust Anchor, IAM Role y Profile

• AWS CLI - Command-line interfaz para la interacción de servicios AWS

• OpenSSL: genera solicitudes de firma de certificados y administra los certificados

• Asistente de AWS firma: intercambia certificados por credenciales temporales AWS

• Bash/shell Secuencias de comandos: automatiza todo el proceso de configuración

Repositorio de código

Funciones de AWS IAM en cualquier lugar con una autoridad de certificación privada

Prácticas recomendadas

  • Configure las políticas de IAM según el principio del mínimo privilegio mediante el --iam-policies parameter

  • Cambie los certificados de los clientes con regularidad. Le recomendamos que lo haga anualmente.

  • Utilice una sólida validación de certificados en las políticas de confianza

  • Implemente procedimientos de revocación de certificados

  • Controle las fechas de vencimiento de los certificados

Epics

TareaDescripciónHabilidades requeridas

Implemente CloudFormation la infraestructura

Cree e implemente la CloudFormation plantilla que aprovisione todos los AWS recursos necesarios Autoridad de certificación privada de AWS, incluidos Trust Anchor, la función de IAM, con las políticas y el IAM Roles Anywhere perfil adecuados.  Configure los parámetros para la denominación del proyecto, los períodos de validez de los certificados, la duración de las sesiones y los anexos a las políticas de IAM para establecer la base de la infraestructura principal.

Arquitecto e ingeniero de nube DevOps

Configure la configuración de la autoridad de certificación

Autoridad de certificación privada de AWS Para inicializarla, instale el certificado raíz, configure las plantillas de certificados y establezca la cadena de confianza de los certificados. Configure los períodos de validez de los certificados, los algoritmos clave y las extensiones de certificado necesarios para la IAM Roles Anywhere autenticación a fin de garantizar una infraestructura de PKI adecuada.

Administrador de la nube, administrador de AWS

Validar la configuración de recursos de &AWS;

Realice una validación exhaustiva de todos los AWS recursos desplegados para garantizar una configuración y conectividad adecuadas. Compruebe que Trust Anchor esté correctamente vinculada a Autoridad de certificación privada de AWS, que la función de IAM tenga los permisos adecuados, que el perfil esté correctamente configurado y que todos los recursos estén en buen active/ready estado para los flujos de trabajo de autenticación basados en certificados.

Administrador de sistemas de AWS, ingeniero de pruebas
TareaDescripciónHabilidades requeridas

Prepare el entorno del cliente

Configure el entorno del cliente haciendo que los scripts de despliegue sean ejecutables y garantizando los permisos adecuados. Configure el sistema local con las herramientas y dependencias necesarias, compruebe la accesibilidad de los scripts y establezca las bases para los procesos de generación e implementación de certificados.

DevOps ingeniero, administrador de sistemas de AWS

Genere una solicitud de firma de certificado

Cree una solicitud de firma de certificado (CSR) para el sistema cliente mediante OpenSSL o herramientas equivalentes. Configure los parámetros del certificado, incluida la información del asunto, los algoritmos clave y las extensiones del certificado.  Asegúrese de que la CSR cumpla con Autoridad de certificación privada de AWS los requisitos y contenga los metadatos adecuados para la IAM Roles Anywhere autenticación.

Administrador de la nube, ingeniero DevOps

Emita el certificado de cliente a través de Autoridad de certificación privada de AWS

Procese la CSR Autoridad de certificación privada de AWS para emitir un certificado de cliente válido. Configure los períodos de validez de los certificados y las plantillas de certificados y garantice el establecimiento adecuado de la cadena de certificados. Verifique la emisión del certificado y descargue el certificado firmado para su implementación en el cliente.

Administrador de AWS, arquitecto de la nube
TareaDescripciónHabilidades requeridas

Obtenga AWS credenciales temporales

Ejecute el script auxiliar de credenciales para recuperar AWS las credenciales temporales mediante el certificado de cliente y la clave privada configurados. Compruebe que el proceso de recuperación de credenciales funciona correctamente, valide el formato de las credenciales y las fechas de caducidad y garantice una integración adecuada con el IAM Roles Anywhere servicio para lograr flujos de trabajo de autenticación fluidos.

DevOps ingeniero, administrador de sistemas de AWS

Pruebe el acceso a AWS los recursos

Realice pruebas exhaustivas del acceso a los AWS recursos utilizando las credenciales temporales obtenidas. Ejecute varios AWS CLI comandos y llamadas a la API para verificar la conectividad con los servicios de destino, como Amazon S3, Amazon EC2 y. AWS Lambda Valide que los permisos se ajusten a las políticas de funciones de IAM configuradas y documente los patrones de acceso correctos.

Ingeniero de pruebas, administrador de la nube

Compruebe la asunción de funciones y los permisos

Realice una validación exhaustiva del proceso de asunción de funciones de IAM y de los límites de los permisos. Pruebe tanto las operaciones permitidas como las restringidas para confirmar que el acceso con privilegios mínimos se aplica correctamente. Verifique los límites de duración de las sesiones y los mecanismos de actualización de credenciales y asegúrese de que la asunción del rol cumpla con las mejores prácticas de seguridad.

Administrador de AWS, ingeniero de pruebas

Implemente la supervisión y el registro

Configure una supervisión y un registro exhaustivos para el sistema de autenticación basado en certificados. Configure el CloudTrail registro para los registros de auditoría, implemente la supervisión de la caducidad de los certificados, configure alertas para los errores de autenticación y establezca paneles de control para rastrear los patrones de uso y los eventos de seguridad en toda la infraestructura. IAM Roles Anywhere

DevOps ingeniero, arquitecto de nube

Resolución de problemas

ProblemaSolución

Fallos en la validación de los certificados: «La validación del certificado ha fallado» o InvalidCertificate «» errores al intentar la autenticación.

Pasos de resolución:

• Compruebe las fechas de validez del certificado mediante 

openssl x509 -en certificate.pem -dates -no out

• Compruebe que la configuración de Trust Anchor apunta a la CA privada correcta

• Asegúrese de que la clave privada corresponde al certificado

• Regenere el certificado si lo emitió la CA incorrecta

 Errores de permiso de IAM denegado: «Acceso denegado» o «UnauthorizedOperation» al acceder a AWS los recursos a pesar de la autenticación correcta

Pasos de resolución:

• Revise y amplíe las políticas de funciones de IAM para incluir los permisos necesarios

• Compruebe que la política de confianza incluye a rolesanywhere.amazonaws.com como entidad de confianza

• Compruebe que la configuración del ARN del perfil coincide con los recursos desplegados

• Implemente un mecanismo de actualización de credenciales para procesos de ejecución prolongada

Recursos relacionados

Información adicional

Este patrón es ideal para organizaciones con arquitecturas de nube híbrida, CI/CD canalizaciones externas AWS o cualquier sistema externo que requiera un acceso seguro. AWS El enfoque basado en certificados proporciona una mayor seguridad que las claves de acceso a largo plazo y permite la administración centralizada de los certificados mediante. Autoridad de certificación privada de AWS

Permisos de IAM configurables: la solución admite una configuración flexible de políticas de IAM mediante: --iam-policies parameter

  • Predeterminado: ReadOnlyAccess para una implementación inicial segura

  • Personalizado: especifique los ARN de política separados por comas para casos de uso específicos. Por ejemplo, S3ReadOnlyAccessEC2ReadOnlyAccess, o políticas personalizadas. Admite múltiples políticas para requisitos de permisos complejos.

Ejemplos de uso:

# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"