Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Autorisations Amazon ECR
Avant que le HealthOmics service puisse exécuter un flux de travail dans un conteneur à partir de votre référentiel Amazon ECR privé, vous devez créer une politique de ressources pour le référentiel. La politique autorise le HealthOmics service à utiliser le conteneur. Vous ajoutez cette politique de ressources à chaque référentiel privé référencé par le flux de travail.
Note
Le référentiel privé et le flux de travail doivent se trouver dans la même région.
Si différents AWS comptes possèdent le flux de travail et le référentiel, vous devez configurer les autorisations entre comptes.
Il n'est pas nécessaire d'accorder un accès supplémentaire au référentiel pour les flux de travail partagés. Vous pouvez toutefois créer des politiques qui autorisent ou interdisent à des flux de travail spécifiques l'accès à l'image du conteneur.
Pour utiliser la fonction de cache d'extraction d'Amazon ECR, vous devez créer une politique d'autorisation de registre.
Les sections suivantes décrivent comment configurer les autorisations des ressources Amazon ECR pour ces scénarios. Pour plus d'informations sur les autorisations dans Amazon ECR, consultez la section Autorisations de registre privé dans Amazon ECR.
Rubriques
Création d'une politique de ressources pour le référentiel Amazon ECR
Créez une politique de ressources pour permettre au HealthOmics service d'exécuter un flux de travail à l'aide d'un conteneur dans le référentiel. La politique autorise le directeur du HealthOmics service à accéder aux actions Amazon ECR requises.
Pour créer la politique, procédez comme suit :
-
Ouvrez la page des référentiels privés
dans la console Amazon ECR et sélectionnez le référentiel auquel vous accordez l'accès. -
Dans la barre de navigation latérale, sélectionnez Autorisations.
-
Choisissez Modifier.
-
Choisissez Modifier la politique JSON.
-
Ajoutez la déclaration de politique suivante, puis sélectionnez Enregistrer.
Exécution de flux de travail avec des conteneurs multi-comptes
Si différents AWS comptes possèdent le flux de travail et le conteneur, vous devez configurer les autorisations inter-comptes suivantes :
-
Mettez à jour la politique Amazon ECR pour le référentiel afin d'accorder explicitement l'autorisation au compte propriétaire du flux de travail.
-
Mettez à jour le rôle de service du compte propriétaire du flux de travail pour lui accorder l'accès à l'image du conteneur.
L'exemple suivant illustre une politique de ressources Amazon ECR qui accorde l'accès au compte propriétaire du flux de travail.
Dans cet exemple :
-
ID du compte Workflow : 111122223333
-
ID du compte du dépôt de conteneurs : 444455556666
-
Nom du conteneur : samtools
Pour terminer la configuration, ajoutez la déclaration de politique suivante au rôle de service du compte propriétaire du flux de travail. La politique autorise le rôle de service à accéder à l'image du conteneur « samtools ». Assurez-vous de remplacer les numéros de compte, le nom du conteneur et la région par vos propres valeurs.
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
Politiques Amazon ECR pour les flux de travail partagés
Note
HealthOmics permet automatiquement à un flux de travail partagé d'accéder au référentiel Amazon ECR dans le compte du propriétaire du flux de travail, pendant que le flux de travail s'exécute dans le compte de l'abonné. Il n'est pas nécessaire d'accorder un accès supplémentaire au référentiel pour les flux de travail partagés. Pour plus d'informations, voir Partage de HealthOmics flux de travail.
Par défaut, les abonnés n'ont pas accès au référentiel Amazon ECR pour utiliser les conteneurs sous-jacents. Vous pouvez éventuellement personnaliser l'accès au référentiel Amazon ECR en ajoutant des clés de condition à la politique de ressources du référentiel. Les sections suivantes fournissent des exemples de politiques.
Restreindre l'accès à des flux de travail spécifiques
Vous pouvez répertorier les flux de travail individuels dans une déclaration de condition, de sorte que seuls ces flux de travail peuvent utiliser des conteneurs dans le référentiel. La clé de SourceArncondition spécifie l'ARN du flux de travail partagé. L'exemple suivant autorise le flux de travail spécifié à utiliser ce référentiel.
Restreindre l'accès à des comptes spécifiques
Vous pouvez répertorier les comptes d'abonnés dans un énoncé de condition, afin que seuls ces comptes soient autorisés à utiliser les conteneurs du référentiel. La clé de SourceAccountcondition indique le Compte AWS nom de l'abonné. L'exemple suivant autorise le compte spécifié à utiliser ce référentiel.
Vous pouvez également refuser les autorisations Amazon ECR à des abonnés spécifiques, comme indiqué dans l'exemple de politique suivant.
Politiques relatives au cache d'extraction Amazon ECR
Pour utiliser le cache d'extraction Amazon ECR, vous devez créer une politique d'autorisation de registre. Vous créez également un modèle de création de référentiel, qui définit les autorisations pour les référentiels créés par le cache d'extraction Amazon ECR.
Les sections suivantes contiennent des exemples de ces politiques. Pour plus d'informations sur le cache d'extraction, consultez Synchroniser un registre en amont avec un registre privé Amazon ECR dans le guide de l'utilisateur du registre Amazon Elastic Container Registry.
Politique d'autorisation du registre
Pour utiliser le cache d'extraction Amazon ECR, créez une politique d'autorisation de registre. La politique d'autorisations du registre permet de contrôler les autorisations de réplication et d'extraction du cache.
Pour la réplication entre comptes, vous devez explicitement autoriser chacun d'entre eux Compte AWS à répliquer ses référentiels dans votre registre.
Par défaut, lorsque vous créez une règle de cache d'extraction, tout principal IAM autorisé à extraire des images d'un registre privé peut également utiliser la règle de cache d'extraction. Vous pouvez utiliser les autorisations de registre pour limiter davantage ces autorisations à des référentiels spécifiques.
Ajoutez une politique d'autorisation de registre au compte propriétaire de l'image du conteneur.
Dans l'exemple suivant, la politique permet au HealthOmics service de créer des référentiels pour chaque registre en amont et de lancer des pull requests en amont à partir des référentiels créés.
Modèle de création de référentiel
Pour utiliser le cache pull through HealthOmics, le référentiel Amazon ECR doit disposer d'un modèle de création de référentiel. Le modèle définit les paramètres de configuration pour les référentiels privés créés pour un registre en amont.
Chaque modèle contient un préfixe d'espace de noms de référentiel, qu'Amazon ECR utilise pour associer les nouveaux référentiels à un modèle spécifique. Les modèles peuvent spécifier la configuration de tous les paramètres du référentiel, y compris les politiques d'accès basées sur les ressources, l'immuabilité des balises, le chiffrement et les politiques de cycle de vie. Pour plus d'informations, consultez la section Modèles de création de référentiels dans le guide de l'utilisateur d'Amazon Elastic Container Registry.
Dans l'exemple suivant, la politique autorise le HealthOmics service à lancer des pull requests en amont à partir des référentiels en amont.
Politiques relatives à l'accès multicompte à Amazon ECR
Pour l'accès entre comptes, le propriétaire du référentiel privé met à jour la politique d'autorisation du registre et le modèle de création du référentiel afin d'autoriser l'accès à l'autre compte et au rôle d'exécution de ce compte.
Dans la politique d'autorisation du registre, ajoutez une déclaration de politique pour autoriser le rôle d'exécution de l'autre compte à accéder aux actions Amazon ECR :
Dans le modèle de création de référentiel, ajoutez une déclaration de politique pour autoriser le rôle d'exécution de l'autre compte à accéder aux nouvelles images du conteneur. Vous pouvez éventuellement ajouter des instructions de condition pour limiter l'accès à des flux de travail spécifiques :
Ajoutez des autorisations pour deux actions supplémentaires (CreateRepository et BatchImportUpstreamImage) dans le rôle d'exécution et spécifiez la ressource à laquelle le rôle d'exécution peut accéder.