Funciones de servicio para AWS HealthOmics - AWS HealthOmics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funciones de servicio para AWS HealthOmics

Un rol de servicio es un rol AWS Identity and Access Management (IAM) que otorga permisos para que un AWS servicio acceda a los recursos de su cuenta. Usted proporciona un rol de servicio AWS HealthOmics al iniciar un trabajo de importación o iniciar una ejecución.

La HealthOmics consola puede crear el rol necesario para usted. Si usa la HealthOmics API para administrar los recursos, cree el rol de servicio mediante la consola de IAM. Para obtener más información, consulte Crear un rol para delegar permisos a un Servicio de AWS.

Los roles de servicio deben tener la siguiente política de confianza.

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

La política de confianza permite que el HealthOmics servicio asuma la función.

Ejemplo de políticas de servicio de IAM

En estos ejemplos, los nombres de los recursos y IDs las cuentas son marcadores de posición que debe reemplazar por valores reales.

En el siguiente ejemplo, se muestra la política de un rol de servicio que se puede usar para iniciar una ejecución. La política concede permisos para acceder a la ubicación de salida de Amazon S3, al grupo de registros del flujo de trabajo y al contenedor Amazon ECR para la ejecución.

nota

Si utiliza el almacenamiento en caché de llamadas para la ejecución, añada la ubicación de Amazon S3 de la caché de ejecución como recurso en los permisos de s3.

ejemplo Política de roles de servicio para iniciar una ejecución
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/*" ] } ] }

En el siguiente ejemplo, se muestra la política de un rol de servicio que puedes usar para un trabajo de importación en una tienda. La política concede permisos para acceder a la ubicación de entrada de Amazon S3.

ejemplo Función de servicio para el trabajo de la tienda de referencia
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" ] } ] }

Ejemplo de AWS CloudFormation plantilla

La siguiente AWS CloudFormation plantilla de ejemplo crea un rol de servicio que da HealthOmics permiso para acceder a los buckets de Amazon S3 que tienen nombres con el prefijo y para cargar omics- registros de flujo de trabajo.

ejemplo Permisos de Reference Store, Amazon S3 y CloudWatch Logs
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" ] } } ] }