Firma gestionada - Amazon ECR

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.

Firma gestionada

La firma gestionada por Amazon ECR firma automáticamente las imágenes del contenedor mediante la generación de firmas criptográficas mediante AWS Signer cuando las imágenes se envían a Amazon ECR. Esto elimina la necesidad de instalar y configurar las herramientas del lado del cliente y le permite gestionar de forma centralizada la firma como una configuración de registro.

Requisitos previos

Para configurar la firma gestionada, debe crear una configuración de firma con Amazon ECR que haga referencia a uno o más perfiles de firma de firmantes y, de forma opcional, a filtros de repositorio que restrinjan qué repositorios deben tener sus imágenes firmadas. Una vez configurada, la firma gestionada por Amazon ECR firma automáticamente las imágenes a medida que se insertan utilizando la identidad de la entidad que envía la imagen.

Para poder configurar la firma gestionada, debe disponer de lo siguiente:

  • Un perfil de firma de firmante: cree al menos un perfil de firma de firmante. Un perfil de firma es un recurso de AWS firmante único que puede utilizar para realizar operaciones de firma en Amazon ECR. Los perfiles de firma le permiten firmar y verificar elementos del código, como imágenes de contenedores y paquetes de AWS Lambda implementación. Cada perfil de firma designa la plataforma de firma en la que se va a firmar, un ID de plataforma y otra información específica de la plataforma. Por ejemplo, un ARN de perfil de firma tiene este aspecto:. arn:partition:signer:region:account-id:/signing-profiles/profile-name

  • Permisos de IAM: el director de IAM que publica la imagen debe tener los permisos de IAM necesarios para acceder al perfil de firma del firmante correspondiente y al repositorio de ECR correspondiente. Debe modificar la política basada en la identidad del director de IAM para incluir permisos tanto para las operaciones del repositorio de ECR como para las operaciones de firma de los firmantes. El siguiente ejemplo de política muestra los permisos necesarios:

{ "Version": "2012-10-17", "Statement": [ { "Sid":"UploadSignaturePermissions", "Effect":"Allow", "Action":[ "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource":"arn:aws:ecr:region:account-id:repository/repository-name" }, { "Sid": "SignPermissions", "Effect": "Allow", "Action": [ "signer:SignPayload" ], "Resource": "arn:aws:signer:region:account-id:/signing-profiles/signing-profile-name" } ] }

Con la firma gestionada de Amazon ECR, puede crear varias reglas de firma (hasta 10 por registro) para crear límites de seguridad más estrictos. Por ejemplo, puede ejecutar varias canalizaciones de compilación y querer limitar los repositorios que cada canalización puede firmar. Dentro de cada regla, configuras un perfil de firma y especificas los filtros de nombres de los repositorios. Cuando se inserta una imagen nueva, Amazon ECR determina qué regla de firma y perfil de firma pueden firmar la imagen. Si hay varias coincidencias, Amazon ECR genera varias firmas.

nota

Si verifica las firmas manualmente, aún necesita instalar la CLI de notación.

nota

La firma gestionada por Amazon ECR está disponible en todas AWS las regiones en las que está disponible la firma de imágenes de contenedores con AWS Signer.

Introducción

Siga estos pasos para configurar la firma gestionada. Usted proporciona a Amazon ECR una referencia a un perfil de firma del firmante y, opcionalmente, filtros que restringen qué repositorios deben tener sus imágenes firmadas.

Consola de administración de AWS

Siga los siguientes pasos para configurar la firma gestionada mediante. Consola de administración de AWS

  1. Abra la consola Amazon ECR. En el panel de navegación izquierdo, selecciona Registro privado, Características y configuración y Firma gestionada.

  2. En la página de reglas de firma, selecciona Crear regla.

  3. En la página del perfil de firma, en Seleccione un perfil de AWS firmante, elija Crear un nuevo perfil de AWS firmante, introduzca un nombre de perfil y, si lo desea, cambie el período de validez de la firma. A continuación, seleccione Siguiente.

  4. En la página Filtros, en Seleccionar repositorios, introduzca un filtro de nombre de repositorio. A continuación, seleccione Siguiente.

  5. En la página Revisar y crear, compruebe los filtros del perfil del AWS firmante y del nombre del repositorio que ha introducido. Si todo parece correcto, selecciona Guardar.

AWS CLI

Usa los siguientes AWS CLI comandos para configurar la firma gestionada.

  • Crea una regla de firma

    Cree una configuración de firma con el ARN de su perfil de firma. Cree un archivo JSON con el siguiente contenido:

    { "rules": [ { "signingProfileArn": "arn:aws:signer:region:account-id:/signing-profiles/profile-name", "repositoryFilters": [ { "filter": "test*", "filterType": "WILDCARD_MATCH" } ] } ] }

    A continuación, ejecute el siguiente comando:

    aws ecr --region region \ put-signing-configuration \ --signing-configuration file://signing-config.json

    Deberías ver la respuesta de la API que contiene la configuración de firma.

  • Consulta tu configuración de firma

    Recupera tu configuración de firma:

    aws ecr --region region \ get-signing-configuration

    Deberías ver la respuesta de la API que contiene la configuración de firma.

  • Comprueba el estado de firma de la imagen

    Envía una imagen a tu repositorio. Por ejemplo:

    docker pull ubuntu IMAGE_NAME="account-id.dkr.ecr.region.amazonaws.com/repository-name" IMAGE_TAG="${IMAGE_NAME}:test-1" docker tag ubuntu $IMAGE_TAG docker push $IMAGE_TAG

    Después de presionar, usa tu etiqueta de imagen para comprobar el estado de la firma:

    aws ecr --region region \ describe-image-signing-status \ --repository-name repository-name \ --image-id imageTag=test-1

    Si el nombre del repositorio coincide con el filtro de repositorio definido en la configuración de firma, deberías ver el estado de firma en la respuesta de la API. Si el estado es correcto, deberías ver una firma insertada en tu repositorio.

  • Elimine la configuración de firma

    Elimine la configuración de firma:

    aws ecr --region region \ delete-signing-configuration

    Deberías ver la respuesta de la API que contiene la configuración de firma eliminada.

Consideraciones

Las siguientes limitaciones y capacidades se aplican a la firma gestionada:

  • No se admite la firma entre regiones: los perfiles de firma deben estar en la misma región que su registro de Amazon ECR. No puede usar un perfil de firma de una región para firmar imágenes en un registro ubicado en una región diferente.

  • Se admite la firma multicuenta: los perfiles de firma pueden estar en cuentas diferentes a las de tu registro de Amazon ECR. Esto permite a las organizaciones gestionar de forma centralizada los perfiles de firma y, al mismo tiempo, permitir que los desarrolladores de otras cuentas los utilicen. Para obtener más información, consulta Cómo configurar la firma multicuenta para Signer en la Guía para AWS Signer desarrolladores.

  • Las firmas no se pueden firmar: no se pueden firmar las firmas por sí mismas. Solo se pueden firmar las imágenes del contenedor.