Rôles de service pour AWS HealthOmics - 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.

Rôles de service pour AWS HealthOmics

Un rôle de service est un rôle AWS Identity and Access Management (IAM) qui autorise un AWS service à accéder aux ressources de votre compte. Vous attribuez un rôle de service AWS HealthOmics lorsque vous démarrez une tâche d'importation ou que vous lancez une exécution.

La HealthOmics console peut créer le rôle requis pour vous. Si vous utilisez l' HealthOmics API pour gérer les ressources, créez le rôle de service à l'aide de la console IAM. Pour plus d'informations, voir Créer un rôle pour déléguer des autorisations à un Service AWS.

Les rôles de service doivent respecter la politique de confiance suivante.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

La politique de confiance permet au HealthOmics service d'assumer le rôle.

Exemples de politiques de service IAM

Dans ces exemples, les noms des ressources et IDs les comptes sont des espaces réservés que vous pouvez remplacer par des valeurs réelles.

L'exemple suivant montre la politique d'un rôle de service que vous pouvez utiliser pour démarrer une exécution. La politique accorde des autorisations pour accéder à l'emplacement de sortie Amazon S3, au groupe de journaux du flux de travail et au conteneur Amazon ECR pour l'exécution.

Note

Si vous utilisez la mise en cache des appels pour l'exécution, ajoutez l'emplacement du cache d'exécution Amazon S3 en tant que ressource dans les autorisations s3.

Exemple Politique de rôle de service pour le démarrage d'une exécution
JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/omics/WorkflowLog:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/omics/WorkflowLog:*" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": [ "arn:aws:ecr:us-east-1:123456789012:repository/*" ] } ] }

L'exemple suivant montre la politique d'un rôle de service que vous pouvez utiliser pour une tâche d'importation de boutique. La politique accorde des autorisations pour accéder à l'emplacement d'entrée Amazon S3.

Exemple Rôle de service pour une tâche dans un magasin de référence
JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] } ] }

Exemple de AWS CloudFormation modèle

L'exemple de AWS CloudFormation modèle suivant crée un rôle de service qui donne HealthOmics l'autorisation d'accéder aux compartiments Amazon S3 dont le nom est préfixé par et de télécharger des omics- journaux de flux de travail.

Exemple Autorisations relatives au magasin de référence, Amazon S3 et CloudWatch aux journaux
Parameters: bucketName: Description: Bucket name Type: String Resources: serviceRole: Type: AWS::IAM::Role Properties: Policies: - PolicyName: read-reference PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - omics:* Resource: !Sub arn:${AWS::Partition}:omics:${AWS::Region}:${AWS::AccountId}:referenceStore/* - PolicyName: read-s3 PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - s3:ListBucket Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName} - Effect: Allow Action: - s3:GetObject - s3:PutObject Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName}/* - PolicyName: upload-logs PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - logs:DescribeLogStreams - logs:CreateLogStream - logs:PutLogEvents Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:log-stream:* - Effect: Allow Action: - logs:CreateLogGroup Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:* AssumeRolePolicyDocument: | { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Principal": { "Service": [ "omics.amazonaws.com" ] } } ] }