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à.
Autorizzazioni Amazon ECR
Prima che il HealthOmics servizio possa eseguire un flusso di lavoro in un contenitore dal tuo repository Amazon ECR privato, devi creare una politica delle risorse per il repository. La policy concede l'autorizzazione al HealthOmics servizio di utilizzare il contenitore. Questa politica delle risorse viene aggiunta a ogni repository privato a cui fa riferimento il flusso di lavoro.
Nota
L'archivio privato e il flusso di lavoro devono trovarsi nella stessa area.
Se AWS account diversi possiedono il flusso di lavoro e il repository, è necessario configurare le autorizzazioni per più account.
Non è necessario concedere un accesso aggiuntivo al repository per i flussi di lavoro condivisi. Tuttavia, puoi creare politiche che consentano o negano a flussi di lavoro specifici l'accesso all'immagine del contenitore.
Per utilizzare la funzionalità pull through cache di Amazon ECR, devi creare una politica di autorizzazione del registro.
Le seguenti sezioni descrivono come configurare le autorizzazioni delle risorse Amazon ECR per questi scenari. Per ulteriori informazioni sulle autorizzazioni in Amazon ECR, consulta Autorizzazioni di registro privato in Amazon ECR.
Argomenti
Crea una politica delle risorse per il repository Amazon ECR
Crea una politica delle risorse per consentire al HealthOmics servizio di eseguire un flusso di lavoro utilizzando un contenitore nel repository. La policy concede l'autorizzazione al responsabile del HealthOmics servizio di accedere alle azioni Amazon ECR richieste.
Segui questi passaggi per creare la policy:
-
Apri la pagina degli archivi privati
nella console Amazon ECR e seleziona il repository a cui concedi l'accesso. -
Dalla barra di navigazione laterale, seleziona Autorizzazioni.
-
Scegli Modifica.
-
Scegli Modifica policy JSON.
-
Aggiungi la seguente dichiarazione di politica e quindi seleziona Salva.
Esecuzione di flussi di lavoro con contenitori multiaccount
Se AWS account diversi possiedono il flusso di lavoro e il contenitore, devi configurare le seguenti autorizzazioni tra account:
-
Aggiorna la policy di Amazon ECR per il repository per concedere esplicitamente l'autorizzazione all'account proprietario del flusso di lavoro.
-
Aggiorna il ruolo di servizio per l'account proprietario del flusso di lavoro per concedergli l'accesso all'immagine del contenitore.
L'esempio seguente dimostra una politica delle risorse di Amazon ECR che concede l'accesso all'account proprietario del flusso di lavoro.
In questo esempio:
-
ID account Workflow: 111122223333
-
ID dell'account del repository del contenitore: 444455556666
-
Nome del contenitore: samtools
Per completare la configurazione, aggiungi la seguente dichiarazione politica al ruolo di servizio dell'account proprietario del flusso di lavoro. La policy concede il permesso al ruolo di servizio di accedere all'immagine del contenitore «samtools». Assicurati di sostituire i numeri di account, il nome del contenitore e la regione con i tuoi valori.
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
Politiche Amazon ECR per flussi di lavoro condivisi
Nota
HealthOmics consente automaticamente a un flusso di lavoro condiviso di accedere all'archivio Amazon ECR nell'account del proprietario del flusso di lavoro, mentre il flusso di lavoro è in esecuzione nell'account dell'abbonato. Non è necessario concedere un accesso aggiuntivo al repository per i flussi di lavoro condivisi. Per ulteriori informazioni, consulta Condivisione dei HealthOmics flussi di lavoro.
Per impostazione predefinita, l'abbonato non ha accesso all'archivio Amazon ECR per utilizzare i contenitori sottostanti. Facoltativamente, puoi personalizzare l'accesso al repository Amazon ECR aggiungendo chiavi di condizione alla politica delle risorse del repository. Le seguenti sezioni forniscono esempi di politiche.
Limita l'accesso a flussi di lavoro specifici
È possibile elencare i singoli flussi di lavoro in una dichiarazione condizionale, in modo che solo questi flussi di lavoro possano utilizzare i contenitori nel repository. La chiave di SourceArncondizione specifica l'ARN del flusso di lavoro condiviso. L'esempio seguente concede l'autorizzazione per il flusso di lavoro specificato per utilizzare questo repository.
Limita l'accesso a account specifici
È possibile elencare gli account abbonati in una dichiarazione di condizione, in modo che solo tali account abbiano l'autorizzazione a utilizzare i contenitori nel repository. La chiave SourceAccountcondition specifica il sottoscrittore Account AWS . L'esempio seguente concede l'autorizzazione all'account specificato per utilizzare questo repository.
Puoi anche negare le autorizzazioni di Amazon ECR a sottoscrittori specifici, come illustrato nella seguente policy di esempio.
Policy per Amazon ECR pull through cache
Per utilizzare la cache pull through di Amazon ECR, devi creare una politica di autorizzazione del registro. È inoltre possibile creare un modello di creazione di repository, che definisce le autorizzazioni per i repository creati dalla cache pull through di Amazon ECR.
Le sezioni seguenti includono esempi di queste politiche. Per ulteriori informazioni sul pull through cache, consulta Sincronizzare un registro upstream con un registro privato Amazon ECR nella Amazon Elastic Container Registry User Guide.
Politica di autorizzazione del registro
Per utilizzare la cache pull through di Amazon ECR, crea una politica di autorizzazione del registro. La politica di autorizzazione del registro fornisce il controllo sulla replica e consente di recuperare le autorizzazioni della cache.
Per la replica tra più account, è necessario consentire esplicitamente a ciascuno di essi di replicare Account AWS i propri repository nel registro.
Per impostazione predefinita, quando crei una regola pull through cache, qualsiasi principale IAM autorizzato a estrarre immagini da un registro privato può utilizzare anche la regola pull through cache. È possibile utilizzare le autorizzazioni del registro per definire ulteriormente tali autorizzazioni per repository specifici.
Aggiungi una politica di autorizzazione del registro all'account proprietario dell'immagine del contenitore.
Nell'esempio seguente, la policy consente al HealthOmics servizio di creare repository per ogni registro upstream e di avviare richieste pull upstream dai repository creati.
Modello di creazione di repository
Per utilizzare il pull through cache in HealthOmics, il repository Amazon ECR deve disporre di un modello di creazione del repository. Il modello definisce le impostazioni di configurazione per i repository privati creati per un registro upstream.
Ogni modello contiene un prefisso dello spazio dei nomi del repository, che Amazon ECR utilizza per abbinare i nuovi repository a un modello specifico. I modelli possono specificare la configurazione per tutte le impostazioni del repository, comprese le policy di accesso basate sulle risorse, l'immutabilità dei tag, la crittografia e le policy del ciclo di vita. Per ulteriori informazioni, consulta Modelli di creazione di repository nella Amazon Elastic Container Registry User Guide.
Nell'esempio seguente, la policy consente al HealthOmics servizio di avviare richieste pull upstream dai repository upstream.
Politiche per l'accesso ad Amazon ECR su più account
Per l'accesso su più account, il proprietario dell'archivio privato aggiorna la politica di autorizzazione del registro e il modello di creazione del repository per consentire l'accesso all'altro account e al ruolo di esecuzione di quell'account.
Nella politica di autorizzazione del registro, aggiungi un'informativa per consentire al ruolo di esecuzione dell'altro account di accedere alle azioni Amazon ECR:
Nel modello di creazione del repository, aggiungi un'informativa per consentire al ruolo di esecuzione dell'altro account di accedere alle nuove immagini del contenitore. Facoltativamente, puoi aggiungere istruzioni condizionali per limitare l'accesso a flussi di lavoro specifici:
Aggiungi le autorizzazioni per due azioni aggiuntive (CreateRepository e BatchImportUpstreamImage) nel ruolo di esecuzione e specifica la risorsa a cui il ruolo di esecuzione può accedere.