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.
Crear una plantilla de creación de repositorios en Amazon ECR
Puede crear una plantilla de creación de repositorio para definir la configuración que se utilizará en los repositorios creados por Amazon ECR en su nombre durante las acciones de caché de extracción o de replicación. Una vez creada la plantilla de creación de repositorios, se aplicará la configuración a todos los repositorios nuevos que se creen. Esto no tiene ningún efecto en ningún repositorio creado anteriormente.
Al configurar un repositorio con plantillas, puede especificar las claves KMS y las etiquetas de recursos. Si pretende utilizar claves de KMS, etiquetas de recursos o una combinación de ambas en una o más plantillas, tiene que realizar lo siguiente:
Una vez finalizada la configuración, puede adjuntar el rol personalizado a plantillas específicas de su registro.
Permisos de IAM para crear plantillas de creación de repositorio
Los siguientes permisos son necesarios para que una entidad principal de IAM administre las plantillas de creación de repositorios. Este permiso debe otorgarse a través de una política de IAM basada en identidad.
-
ecr:CreateRepositoryCreationTemplate
: otorga permiso para crear una plantilla de creación de repositorio.
-
ecr:UpdateRepositoryCreationTemplate
: otorga permiso para actualizar una plantilla de creación de repositorio.
-
ecr:DescribeRepositoryCreationTemplates
: otorga permiso para enumerar plantillas de creación de repositorio en un registro.
-
ecr:DeleteRepositoryCreationTemplate
: otorga permiso para eliminar una plantilla de creación de repositorio.
-
ecr:CreateRepository
: otorga permiso para crear un repositorio de Amazon ECR.
-
ecr:PutLifecyclePolicy
: otorga permiso para crear una política de ciclo de vida y aplicarla a un repositorio. Este permiso solo es necesario si la plantilla de creación del repositorio incluye una política de ciclo de vida.
-
ecr:SetRepositoryPolicy
: otorga permiso para crear una política de permisos para un repositorio. Este permiso solo es necesario si la plantilla de creación del repositorio incluye una política de repositorio.
-
iam:PassRole
: otorga permiso para permitir que una entidad transfiera un rol a un servicio o a una aplicación. Este permiso es necesario para los servicios y las aplicaciones que necesitan adoptar un rol con el fin de realizar acciones en su nombre.
Cree una plantilla de creación de repositorios
Una vez que haya completado los requisitos previos necesarios para las plantillas, puede proceder a crear las plantillas de creación de repositorios.
- AWS Management Console
-
Crear una plantilla de creación de repositorios (AWS Management Console)
Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.
-
En la barra de navegación, elija la región en la que crear la plantilla de creación del repositorio.
-
En el panel de navegación, elija Registro privado, Plantillas de creación de repositorios.
-
En la página de plantillas de creación de repositorios, seleccione Crear plantilla.
-
En la página del Paso 1: Definir una plantilla, en Detalles de la plantilla, elija Un prefijo específico para aplicar la plantilla a un prefijo de espacio de nombres de repositorio específico o elija Cualquier prefijo de su registro de ECR para aplicar la plantilla a todos los repositorios que no coincidan con ninguna otra plantilla de la región.
-
Si elige Un prefijo específico, especifique el prefijo del espacio de nombres del repositorio al que se va a aplicar la plantilla en Prefijo. Siempre se aplica una suposición /
al final del prefijo. Por ejemplo, el prefijo de prod
se aplicaría a todos los repositorios que comiencen por prod/
. De forma similar, el prefijo de prod/team
se aplicaría a todos los repositorios que comiencen por prod/team/
.
-
Si selecciona Cualquier prefijo en su registro ECR, el Prefijo se establecerá en ROOT
.
-
En aplicar a, especifique a qué flujos de trabajo de Amazon ECR se aplicará esta plantilla. Las opciones son PULL_THROUGH_CACHE
y REPLICATION
.
-
En Descripción de la plantilla, especifique una descripción opcional para la plantilla y, a continuación, seleccione Siguiente.
-
En la página del Paso 2: Agregar la configuración de creación de repositorios, especifique la configuración del repositorio que se aplicará a los repositorios creados con la plantilla.
-
Para Mutabilidad de la etiqueta de imagen, elija la configuración de mutabilidad de la etiqueta que desea utilizar. Para obtener más información, consulte Cómo impedir que se sobrescriban las etiquetas de imagen en Amazon ECR.
-
Mutable: elija esta opción si desea que se sobrescriban las etiquetas de las imágenes. Se recomienda para los repositorios que utilizan acciones de extracción de caché para garantizar que Amazon ECR pueda actualizar las imágenes almacenadas en caché. Además, para deshabilitar las actualizaciones de etiquetas para algunas etiquetas mutables, introduzca los nombres de las etiquetas o utilice caracteres comodín (*) para que coincidan con varias etiquetas similares en el cuadro de texto de exclusión de etiquetas mutables.
-
Inmutable: elige esta opción si quieres evitar que las etiquetas de las imágenes se sobrescriban y se aplica a todas las etiquetas y exclusiones del repositorio al insertar una imagen con una etiqueta existente. Amazon ECR devuelve un ImageTagAlreadyExistsException
si intentas insertar una imagen con una etiqueta existente. Además, para habilitar las actualizaciones de etiquetas para algunas etiquetas inmutables, introduzca los nombres de las etiquetas o utilice caracteres comodín (*) para hacer coincidir varias etiquetas similares en el cuadro de texto de exclusión de etiquetas inmutables.
-
Para Configuración del cifrado, elija el ajuste de cifrado que desee utilizar. Para obtener más información, consulte Cifrado en reposo.
Cuando se selecciona AES-256, Amazon ECR utiliza cifrado del lado del servidor con claves de cifrado administradas por Amazon Simple Storage Service que cifra sus datos en reposo mediante un algoritmo de cifrado AES-256 estándar de la industria. Esto se ofrece sin costo adicional.
Cuando se selecciona AWS KMS, Amazon ECR utiliza el cifrado del lado del servidor con las claves almacenadas en AWS Key Management Service (AWS KMS). Cuando utiliza AWS KMS para cifrar sus datos, puede utilizar la clave AWS gestionada predeterminada, que gestiona Amazon ECR, o especificar su propia AWS KMS
clave, que se denomina clave gestionada por el cliente.
La configuración de cifrado de un repositorio no se puede cambiar una vez creado el repositorio.
-
En Permisos del repositorio, especifique la política de permisos del repositorio que se aplicará a los repositorios creados con esta plantilla. Si lo desea, puede utilizar el menú desplegable para seleccionar uno de los ejemplos de JSON para los casos de uso más comunes. Para obtener más información, consulte Políticas de repositorios privados en Amazon ECR.
-
En Política de ciclo de vida del repositorio, especifique la política de ciclo de vida del repositorio que se aplicará a los repositorios creados con esta plantilla. Si lo desea, puede utilizar el menú desplegable para seleccionar uno de los ejemplos de JSON para los casos de uso más comunes. Para obtener más información, consulte Automatice la limpieza de imágenes mediante el uso de políticas de ciclo de vida en Amazon ECR.
-
En el caso de las AWS etiquetas de repositorio, especifique los metadatos, en forma de pares clave-valor, que desee asociar a los repositorios creados con esta plantilla y, a continuación, seleccione Siguiente. Para obtener más información, consulte Etiquetado de un repositorio privado en Amazon ECR.
-
Para el rol de creación de repositorios, seleccione un rol de IAM personalizado desde el menú desplegable con el fin de utilizarlo en las plantillas de creación de repositorios cuando se usen etiquetas de repositorio o KMS en la plantilla (para obtener más información, consulte Cree un rol de IAM para las plantillas de creación de repositorios). A continuación, presione Siguiente.
-
En la página del Paso 3: Revisar y crear, revise la configuración que especificó para la plantilla de creación del repositorio. Seleccione la opción Editar para realizar cambios. Cuando haya terminado, elija Crear.
- AWS CLI
-
El create-repository-creation-template AWS CLI comando se utiliza para crear una plantilla de creación de repositorios para su registro privado.
Crear una plantilla de creación de repositorios (AWS CLI)
-
Utilice el AWS CLI para generar un esqueleto para el create-repository-creation-templatecomando.
aws ecr create-repository-creation-template \
--generate-cli-skeleton
El resultado del comando mostrará la sintaxis completa de la plantilla de creación del repositorio.
{
"appliedFor":[""], // string array, but valid are PULL_THROUGH_CACHE and REPLICATION
"prefix": "string",
"description": "string",
"imageTagMutability": "MUTABLE"|"IMMUTABLE"|"IMMUTABLE_WITH_EXCLUSION"|"MUTABLE_WITH_EXCLUSION",
"imageTagMutabilityExclusionFilters": [
"filterType": "WILDCARD",
"filter": "string"
],
"repositoryPolicy": "string",
"lifecyclePolicy": "string"
"encryptionConfiguration": {
"encryptionType": "AES256"|"KMS",
"kmsKey": "string"
},
"resourceTags": [
{
"Key": "string",
"Value": "string"
}
],
"customRoleArn": "string", // must be a valid IAM Role ARN
}
-
Cree un archivo denominado repository-creation-template.json
con el resultado del paso anterior. Esta plantilla establece una clave de cifrado de KMS para cualquier repositorio creado prod/*
con una política de repositorio que permita enviar y extraer imágenes a repositorios futuros, establece una política de ciclo de vida que caducará las imágenes con más de dos semanas de antigüedad y establece una función personalizada que permitirá a ECR acceder a la clave de KMS y asignar la etiqueta de recurso a los repositorios examplekey
futuros.
{
"prefix": "prod",
"description": "For repositories cached from my PTC rule and in my replication configuration that start with 'prod/'",
"appliedFor": ["PULL_THROUGH_CACHE","REPLICATION"],
"encryptionConfiguration": {
"encryptionType": "KMS",
"kmsKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-example11111"
},
"resourceTags": [
{
"Key": "examplekey",
"Value": "examplevalue"
}
],
"imageTagMutability": "IMMUTABLE_WITH_EXCLUSION",
"imageTagMutabilityExclusionFilters": [
{
"filterType": "WILDCARD",
"filter": "latest"
},
{
"filterType": "WILDCARD",
"filter": "beta*"
}
]
"repositoryPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"AllowPushPullIAMRole\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:user\/IAMusername\"},\"Action\":[\"ecr:BatchGetImage\",\"ecr:BatchCheckLayerAvailability\",\"ecr:CompleteLayerUpload\",\"ecr:GetDownloadUrlForLayer\",\"ecr:InitiateLayerUpload\",\"ecr:PutImage\",\"ecr:UploadLayerPart\"]}]}",
"lifecyclePolicy": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"any\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}",
"customRoleArn": "arn:aws:iam::111122223333:role/myRole"
}
-
Para crear una plantilla de creación de repositorios, utilice el siguiente comando. Asegúrese de especificar el nombre del archivo de configuración que creó en el paso anterior en lugar del repository-creation-template.json
en el ejemplo siguiente.
aws ecr create-repository-creation-template \
--cli-input-json file://repository-creation-template.json