

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
<a name="permissions-service"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

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.

**Topics**
+ [Ejemplo de políticas de servicio de IAM](#permissions-service-samplepolicies)
+ [Ejemplo de CloudFormation plantilla](#permissions-service-sampletemplates)

## Ejemplo de políticas de servicio de IAM
<a name="permissions-service-samplepolicies"></a>

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. 

**Example Política de roles de servicio para iniciar una ejecución**    
****  

```
{
"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.

**Example Función de servicio para el trabajo de la tienda de referencia**    
****  

```
{
"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 CloudFormation plantilla
<a name="permissions-service-sampletemplates"></a>

La siguiente 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.

**Example 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"
                ]
              }
            }
          ]
        }
```