Autorisations d’accès aux ressources - AWS HealthOmics

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 d’accès aux ressources

AWS HealthOmics crée et accède aux ressources d'autres services en votre nom lorsque vous exécutez une tâche ou créez une boutique. Dans certains cas, vous devez configurer des autorisations dans d'autres services pour accéder aux ressources ou pour autoriser HealthOmics l'accès à celles-ci.

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 conteneur. 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.

Les sections suivantes décrivent les configurations de politique requises.

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 :

  1. 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.

  2. Dans la barre de navigation latérale, sélectionnez Autorisations.

  3. Choisissez Modifier le JSON.

  4. Choisissez Ajouter une instruction.

  5. Ajoutez la déclaration de politique suivante, puis sélectionnez Enregistrer la politique.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "omics workflow access", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }

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 :

  1. 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.

  2. 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 de flux de travail : 111122223333

  • ID du compte du dépôt de conteneurs : 444455556666

  • Nom du conteneur : samtools

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "allow access to the service role of the account that owns the workflow", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DemoCustomer" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

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 du référentiel 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.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:omics:us-east-1:111122223333:workflow/1234567" } } } ] }

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.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Vous pouvez également refuser les autorisations Amazon ECR à des abonnés spécifiques, comme indiqué dans l'exemple de politique suivant.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Permissions de Lake Formation

Avant d'utiliser les fonctionnalités d'analyse HealthOmics, configurez les paramètres de base de données par défaut dans Lake Formation.

Pour configurer les autorisations relatives aux ressources dans Lake Formation
  1. Ouvrez la page des paramètres du catalogue de données dans la console Lake Formation.

  2. Décochez les exigences de contrôle d'accès IAM pour les bases de données et les tables sous Autorisations par défaut pour les bases de données et les tables nouvellement créées.

  3. Choisissez Enregistrer.

HealthOmics Analytics accepte automatiquement les données si votre politique de service dispose des autorisations de RAM appropriées, comme dans l'exemple suivant.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:GetResourceShareInvitations" ], "Resource": "*" } ] }