Creazione di un modello per la creazione di un 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 per la creazione di un repository in Amazon ECR

Puoi creare un modello di creazione di repository per definire le impostazioni da utilizzare per i repository creati da Amazon per tuo ECR 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 KMS chiavi e tag di risorse. Se intendi utilizzare KMS chiavi, 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.

IAMautorizzazioni per la creazione di modelli di creazione di repository

Le seguenti autorizzazioni sono necessarie a un IAM mandante per gestire i modelli di creazione di repository. Queste autorizzazioni devono essere concesse utilizzando una politica basata sull'identitàIAM.

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

  • ecr:UpdateRepositoryCreationTemplate— Concede l'autorizzazione ad aggiornare un modello per la creazione di un 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 ECR repository Amazon.

  • 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 ECR console Amazon 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: Definizione del modello, per i dettagli del modello, scegli Un prefisso specifico per applicare il modello a un prefisso dello spazio dei nomi del repository specifico o scegli Qualsiasi prefisso nel ECR registro per applicare il modello a tutti gli archivi che non corrispondono a nessun altro modello nella 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 scegli Qualsiasi prefisso nel ECR registro, il prefisso verrà impostato su. ROOT

  6. Per Applied for, specifica a quali ECR flussi di lavoro Amazon 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 delle immagini in Amazon ECR.

      Quando è selezionato Mutable, i tag immagine possono essere sovrascritti. Questa è l'impostazione consigliata da utilizzare per i modelli utilizzati per i repository creati da azioni di replica. Ciò garantisce che Amazon ECR possa aggiornare le immagini memorizzate nella cache quando i tag sono gli stessi.

      Quando è selezionato Immutabile, i tag immagine non possono essere sovrascritti. Una volta configurato il repository per i tag immutabili, viene restituito un errore ImageTagAlreadyExistsException se si tenta di inviare un'immagine con un tag che esiste già nel repository. Quando l'immutabilità dei tag è attivata per un repository, tutti i tag saranno interessati e non sarà possibile rendere immutabili alcuni tag mentre altri no.

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

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

      Quando AWS KMSè selezionata, 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 AmazonECR, 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 JSON esempi 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 JSON esempi 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 archivio privato in Amazon ECR.

    6. Per il ruolo di creazione del repository, seleziona un IAM ruolo 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 IAM ruolo 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", "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 KMS crittografia per qualsiasi repository creato in base prod/* a una policy di repository che ALLOWs trasferisce e recupera le 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à di ECR 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": "MUTABLE", "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 per la creazione di un repository. Assicuratevi di specificare il nome del file di configurazione creato nel passaggio precedente anziché repository-creation-template.json nell'esempio seguente.

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