View a markdown version of this page

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 de Amazon ECR firma automáticamente las imágenes de los contenedores mediante la generación de firmas criptográficas con 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 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 los firmantes y, opcionalmente, 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.

Antes de 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 artefactos de 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 debe firmar, un identificador de plataforma y otra información específica de la plataforma. Por ejemplo, el ARN de un 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. Debes 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 puede firmar cada canalización. Dentro de cada regla, configuras un perfil de firma y especificas los filtros de nombres de los repositorios. Cuando se publica 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 tendrá que instalar la CLI de Notation.

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 al perfil de firma del firmante y, de forma opcional, filtros que restringen los repositorios que deben tener sus imágenes firmadas.

Consola de administración de AWS

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

  1. Abra la consola de 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 Reglas de firma, selecciona Crear regla.

  3. En la página de perfil de firma, en Seleccionar un perfil de AWS firmante, elija Crear 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, introduce un filtro de nombre de repositorio. A continuación, seleccione Siguiente.

  5. En la página Revisar y crear, verifica los filtros de perfil de AWS firmante y nombre del repositorio que has 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 la 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 la firma en la respuesta de la API. Si el estado es correcto, deberías ver una firma enviada a tu repositorio.

  • Elimina tu configuración de firma

    Elimine su 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:

  • Cross-region no se admite la firma: los perfiles de firma deben estar en la misma región que el registro de Amazon ECR. No puede usar un perfil de firma de una región para firmar imágenes en un registro ubicado en otra región.

  • Cross-account Se admite la firma: los perfiles de firma pueden estar en cuentas diferentes a las de su registro de Amazon ECR. Esto permite a las organizaciones gestionar de forma centralizada los perfiles de firma y, al mismo tiempo, permite 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: las firmas no se pueden firmar por sí mismas. Solo se pueden firmar las imágenes de los contenedores.