Creazione di un modello di creazione di repository in Amazon ECR - Amazon ECR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un modello di creazione di repository in Amazon ECR

Puoi creare un modello di creazione di repository per definire le impostazioni da utilizzare per i repository creati da Amazon ECR per tuo conto durante le azioni di pull through cache o di replica. Una volta creato il modello di creazione repository, verranno applicate le impostazioni a tutti i nuovi repository creati. Ciò non ha alcun effetto sui repository creati in precedenza.

Quando configuri un repository con modelli, hai la possibilità di specificare chiavi KMS e tag di risorse. Se intendi utilizzare chiavi KMS, tag di risorsa o una combinazione di entrambi in uno o più modelli, devi:

Una volta configurato, puoi associare il ruolo personalizzato a modelli specifici nel registro.

Autorizzazioni IAM per la creazione di modelli di creazione di repository

Le seguenti autorizzazioni sono necessarie per consentire a un principale IAM di gestire i modelli di creazione repository. Questa autorizzazione deve essere concessa utilizzando una policy IAM basata sull'identità.

  • ecr:CreateRepositoryCreationTemplate: concede l'autorizzazione a creare un modello di creazione repository.

  • ecr:UpdateRepositoryCreationTemplate— Concede l'autorizzazione ad aggiornare un modello di creazione di repository.

  • ecr:DescribeRepositoryCreationTemplates— Concede l'autorizzazione a elencare i modelli di creazione di repository in un registro.

  • ecr:DeleteRepositoryCreationTemplate: concede l'autorizzazione a eliminare un modello di creazione repository.

  • ecr:CreateRepository— Concede l'autorizzazione a creare un repository Amazon ECR.

  • ecr:PutLifecyclePolicy: concede l'autorizzazione a creare una policy del ciclo di vita e applicarla a un repository. Questa autorizzazione è necessaria solo se il modello di creazione repository include una policy del ciclo di vita.

  • ecr:SetRepositoryPolicy: concede l'autorizzazione a creare una policy di autorizzazioni per un repository. Questa autorizzazione è necessaria solo se il modello di creazione repository include una policy del repository.

  • iam:PassRole— Concede l'autorizzazione a consentire a un'entità di trasferire un ruolo a un servizio o un'applicazione. Questa autorizzazione è necessaria per i servizi e le applicazioni che devono assumere un ruolo per eseguire azioni per conto dell'utente.

Crea un modello per la creazione di un repository

Dopo aver completato i prerequisiti necessari per i modelli, è possibile procedere alla creazione dei modelli per la creazione del repository.

AWS Management Console
Creazione di un modello di creazione repository (AWS Management Console)
  1. Apri la console Amazon ECR all'indirizzo https://console.aws.amazon.com/ecr/.

  2. Dalla barra di navigazione seleziona la regione in cui creare il modello di creazione repository.

  3. Nel riquadro di navigazione seleziona Registro privato, Modelli di creazione repository.

  4. Nella pagina Modelli di creazione repository seleziona Crea modello.

  5. Nella pagina Passaggio 1: definisci il modello, per Dettagli del modello seleziona Un prefisso specifico per applicare il modello a un prefisso dello spazio dei nomi di un repository specifico o seleziona Qualsiasi prefisso nel registro ECR per applicare il modello a tutti i repository che non corrispondono a nessun altro modello della Regione.

    1. Se selezioni Un prefisso specifico per Prefisso, specifica il prefisso dello spazio dei nomi del repository a cui applicare il modello. Si presuppone che / venga sempre applicato alla fine del prefisso. Ad esempio, il prefisso prod verrebbe applicato a tutti i repository che iniziano con prod/. Analogamente, il prefisso prod/team verrebbe applicato a tutti i repository che iniziano con prod/team/.

    2. Se selezioni Qualsiasi prefisso nel registro ECR, il Prefisso verrà impostato su. ROOT.

  6. Per Applied for, specifica a quali flussi di lavoro Amazon ECR verrà applicato questo modello. Le opzioni sono PULL_THROUGH_CACHE e REPLICATION.

  7. Per Descrizione del modello, specifica una descrizione facoltativa del modello, quindi seleziona Avanti.

  8. Nella pagina Passaggio 2: aggiungi una configurazione di creazione del repository e specifica la configurazione delle impostazioni del repository da applicare ai repository creati utilizzando il modello.

    1. Per Mutabilità dei tag immagine, seleziona l'impostazione di mutabilità dei tag da utilizzare. Per ulteriori informazioni, consulta Impedire la sovrascrittura dei tag di immagine in Amazon ECR.

      • Mutabile: scegli questa opzione se desideri che i tag delle immagini vengano sovrascritti. Consigliato per i repository che utilizzano azioni pull through cache per garantire che Amazon ECR possa aggiornare le immagini memorizzate nella cache. Inoltre, per disabilitare gli aggiornamenti dei tag per alcuni tag mutabili, inserisci i nomi dei tag o usa i caratteri jolly (*) per abbinare più tag simili nella casella di testo Esclusione tag mutabili.

      • Immutabile: scegli questa opzione se vuoi evitare che i tag delle immagini vengano sovrascritti e si applica a tutti i tag e le esclusioni presenti nel repository quando inserisci un'immagine con un tag esistente. Amazon ECR restituisce un ImageTagAlreadyExistsException messaggio se tenti di inviare un'immagine con un tag esistente. Inoltre, per abilitare gli aggiornamenti dei tag per alcuni tag immutabili, inserisci i nomi dei tag o usa i caratteri jolly (*) per abbinare più tag simili nella casella di testo Esclusione tag immutabile.

    2. Per la configurazione della crittografia, scegli l'impostazione di crittografia da utilizzare. Per ulteriori informazioni, consulta Crittografia dei dati a riposo.

      Quando è selezionato AES-256, Amazon ECR utilizza la crittografia lato server con chiavi di crittografia gestite da Amazon Simple Storage Service che crittografa i dati a riposo utilizzando un algoritmo di crittografia AES-256 standard di settore. Questa funzionalità è disponibile senza costi aggiuntivi.

      Quando è selezionato AWS KMS, Amazon ECR utilizza la crittografia lato server con chiavi archiviate in AWS Key Management Service (AWS KMS). Quando si utilizza AWS KMS per crittografare i dati, è possibile utilizzare la chiave AWS gestita predefinita, gestita da Amazon ECR, o specificare la propria AWS KMS chiave, denominata chiave gestita dal cliente.

      Nota

      Le impostazioni di crittografia per un repository non possono essere modificate una volta che il repository è stato creato.

    3. Per Autorizzazioni del repository specifica la policy di autorizzazione di repository da applicare ai repository creati utilizzando questo modello. Facoltativamente, puoi utilizzare il menu a discesa per selezionare uno degli esempi JSON per i casi d'uso più comuni. Per ulteriori informazioni, consulta Politiche di repository privato in Amazon ECR.

    4. Per Policy del ciclo di vita dei repository specifica la policy di ciclo di vita dei repository da applicare ai repository creati utilizzando questo modello. Facoltativamente, puoi utilizzare il menu a discesa per selezionare uno degli esempi JSON per i casi d'uso più comuni. Per ulteriori informazioni, consulta Automatizza la pulizia delle immagini utilizzando le politiche del ciclo di vita in Amazon ECR.

    5. Per i AWS tag Repository, specifica i metadati, sotto forma di coppie chiave-valore, da associare ai repository creati utilizzando questo modello, quindi scegli Avanti. Per ulteriori informazioni, consulta Taggare un repository privato in Amazon ECR.

    6. Per il ruolo di creazione del repository, seleziona un ruolo IAM personalizzato dal menu a discesa da utilizzare per i modelli di creazione del repository quando utilizzi i tag del repository o KMS nel modello (vedi per i dettagli). Quindi scegli Avanti. Crea un ruolo IAM per i modelli di creazione di repository

  9. Nella pagina Passaggio 3: rivedi e crea, rivedi le impostazioni specificate per il modello di creazione repository. Seleziona l'opzione Modifica per apportare le modifiche. Al termine, seleziona Crea.

AWS CLI

Il create-repository-creation-template AWS CLI comando viene utilizzato per creare un modello di creazione di repository per il registro privato.

Creazione di un modello di creazione repository (AWS CLI)
  1. Utilizzate il AWS CLI per generare uno scheletro per il create-repository-creation-templatecomando.

    aws ecr create-repository-creation-template \ --generate-cli-skeleton

    L'output del comando mostra la sintassi completa del modello di creazione del repository.

    { "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 }
  2. Crea un file denominato repository-creation-template.json con l'output del passaggio precedente. Questo modello imposta una chiave di crittografia KMS per qualsiasi repository creato in base prod/* a una politica di repository che consente di inviare e caricare immagini nei repository futuri, imposta una politica del ciclo di vita che farà scadere le immagini più vecchie di due settimane e imposta un ruolo personalizzato che consentirà a ECR di accedere alla chiave KMS e assegnare il tag di risorsa ai repository futuri. examplekey

    { "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" }
  3. Utilizzate il seguente comando per creare un modello di creazione del repository. Assicuratevi di specificare il nome del file di configurazione creato nel passaggio precedente anziché repository-creation-template.json nel seguente esempio.

    aws ecr create-repository-creation-template \ --cli-input-json file://repository-creation-template.json