

 Amazon Forecast ya no está disponible para nuevos clientes. Los clientes actuales de Amazon Forecast pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

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.

# Configuración de permisos para Amazon Forecast
<a name="aws-forecast-iam-roles"></a>

Amazon Forecast utiliza Amazon Simple Storage Service (Amazon S3) para almacenar los datos de serie temporal de destino que se utilizan para entrenar predictores que puedan generar previsiones. Para obtener acceso a Amazon S3 en su nombre, Amazon Forecast necesita su permiso. 

Para conceder permiso a Amazon Forecast para utilizar Amazon S3 en su nombre, debe disponer de un rol (IAM) y una política de IAM de AWS Identity and Access Management en su cuenta. La política de IAM especifica los permisos necesarios y debe asociarse al rol de IAM. 

Para crear el rol y la política de IAM y adjuntar la política al rol, puede usar la consola de IAM o el AWS Command Line Interface ()AWS CLI.

**nota**  
Forecast no se comunica con Amazon Virtual Private Cloud y no es compatible con la puerta de enlace VPCE de Amazon S3. El uso de buckets de S3 que solo permitan el acceso a la VPC provocará un error `AccessDenied`.

**Topics**
+ [Crear un rol de IAM para Amazon Forecast (consola de IAM)](#aws-forecast-create-iam-role-with-console)
+ [Crear un rol de IAM para Amazon Forecast (AWS CLI)](#aws-forecast-create-iam-role-with-cli)
+ [Prevención de la sustitución confusa entre servicios](#aws-forecast-confused-deputy)

## Crear un rol de IAM para Amazon Forecast (consola de IAM)
<a name="aws-forecast-create-iam-role-with-console"></a>

Puede utilizar la consola de AWS IAM para hacer lo siguiente:
+ Crear un rol de IAM con Amazon Forecast como una entidad de confianza
+ Crear una política de IAM con permisos que permita a Amazon Forecast mostrar, leer y escribir datos en un bucket de Amazon S3.
+ Adjunte la política de IAM al rol de IAM

**Para crear una política y un rol de IAM que permita a Amazon Forecast acceder a Amazon S3 (consola de IAM)**

1.  Inicie sesión en la consola de IAM ([https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam)).

1. Elija **Policies (Políticas)** y haga lo siguiente para crear la política requerida:

   1. Haga clic en **Create policy (Crear política)**.

   1. En la página **Create policy (Crear política)**, en el editor de políticas, seleccione la pestaña **JSON**.

   1. Copie la siguiente política y sustituya el texto en el editor pegando sobre él el de esta política. Asegúrese de sustituir `{{bucket-name}}` por el nombre de su bucket de S3 y, a continuación, elija **Review policy (Revisar política)**.

------
#### [ JSON ]

****  

      ```
      {
         "Version":"2012-10-17",		 	 	 
         "Statement":[
            {
               "Effect":"Allow",
               "Action":[
                  "s3:Get*",
                  "s3:List*",
                  "s3:PutObject"
               ],
               "Resource":[
                  "arn:aws:s3:::{{bucket-name}}", 
                  "arn:aws:s3:::{{bucket-name}}/*" 
               ]
            }
         ]
      }
      ```

------

      Haga clic en **Siguiente: Etiquetas**

   1. Si lo desea, puede asignar etiquetas a esta política. A continuación, haga clic en **Next: Review (Siguiente: revisar)**.

   1. En **Review Policy (Revisar política)**, en **Name (Nombre)**, escriba un nombre para la política en línea. Por ejemplo, `AWSS3BucketAccess`. Opcionalmente proporcione una descripción de esta política y, a continuación, elija **Create policy (Crear política)**.

1. Seleccione **Roles** en el panel de navegación. A continuación, haga lo siguiente para crear el rol de IAM:

   1. Elija **Crear rol**.

   1. En **Tipo de entidad de confianza**, elija **Servicio de AWS**.

      En **Caso de uso**, seleccione **Previsión** en la sección **Casos de uso comunes** o en la lista desplegable **Casos de uso para otros Servicios de AWS**. Si no puede encontrar **Previsión**, elija **EC2**.

      Haga clic en **Next (Siguiente)**.

   1. En la sección **Añadir permisos**, haga clic en **Siguiente**.

   1. En la página **Nombrar, revisar y crear**, en **Nombre del rol**, ingrese un nombre para el rol (por ejemplo, `ForecastRole`). Actualice la descripción del rol en **Role description (Descripción del rol)** y, a continuación, elija **Create role (Crear rol)**.

   1. Ahora debería volver a la página **Roles**. Elija el rol nuevo para abrir la página de detalles del rol.

   1. En **Summary (Resumen)**, copie el valor de **Role ARN (ARN del rol)** y guárdelo. Lo necesitará para importar un conjunto de datos en Amazon Forecast.

   1. Si no ha establecido **Amazon Forecast** como el servicio que utilizará este rol, elija **Trust relationships (Relaciones de confianza)** y, a continuación, elija **Edit trust relationship (Editar relaciones de confianza)** para actualizar la política de confianza tal y como se indica a continuación. 

   1. **[OPCIONAL]** Cuando utilice una clave de KMS para habilitar el cifrado, adjunte la clave de KMS y el ARN:

## Crear un rol de IAM para Amazon Forecast (AWS CLI)
<a name="aws-forecast-create-iam-role-with-cli"></a>

Puede utilizarlos AWS CLI para hacer lo siguiente:
+ Crear un rol de IAM con Amazon Forecast como una entidad de confianza
+ Crear una política de IAM con permisos que permita a Amazon Forecast mostrar, leer y escribir datos en un bucket de Amazon S3.
+ Adjunte la política de IAM al rol de IAM.

**Para crear una política y un rol de IAM que permita a Amazon Forecast acceder a Amazon S3 (AWS CLI)**

1.  Crear un rol de IAM con Amazon Forecast como una entidad de confianza que puede asumir el rol para usted:

   ```
   aws iam create-role \
    --role-name {{ForecastRole}} \
    --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "forecast.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{account-id}}"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:forecast:{{region}}:{{account-id}}:*"
           }
         }
       }
     ]
   }'
   ```

   Este comando asume que el perfil de AWS configuración predeterminado está orientado a un perfil Región de AWS compatible con Amazon Forecast. Si ha configurado otro perfil (por ejemplo`aws-forecast`) para segmentar un perfil Región de AWS que no es compatible con Amazon Forecast, debe especificar esa configuración de forma explícita incluyendo el `profile` parámetro en el comando, por ejemplo,`--profile aws-forecast`. Para obtener más información sobre la configuración de un perfil de AWS CLI configuración, consulte el comando AWS CLI [configure](https://docs.aws.amazon.com/cli/latest/reference/configure/).

   Si el comando crea correctamente el rol, lo devuelve como salida y debe tener un aspecto similar al siguiente:

   ```
   {
       "Role": {
           "Path": "/",
           "RoleName": "ForecastRole",
           "RoleId": {{your-role-ID}},
           "Arn": "arn:aws:iam::{{your-acct-ID}}:role/ForecastRole",
           "CreateDate": "{{creation-date}}",
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "forecast.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "{{your-acct-ID}}"
                           },
                           "ArnLike": {
                               "aws:SourceArn": "arn:aws:forecast:{{region}}:{{your-acct-ID}}:*"
                           }
                       }
                   }
               ]
           }
       }
   }
   ```

   Registre el ARN del rol. Lo necesitará al importar un conjunto de datos para entrenar un predictor de Amazon Forecast.

1. Cree una política de IAM con permisos para mostrar, leer y escribir datos en Amazon S3 y asociarlos al rol de IAM creado en el paso 1:

   ```
   aws iam put-role-policy \
     --role-name {{ForecastRole}} \
     --policy-name {{ForecastBucketAccessPolicy}} \
     --policy-document '{
      "Version": "2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:Get*",
               "s3:List*",
               "s3:PutObject"
            ],
            "Resource":[
               "arn:aws:s3:::{{bucket-name}}", 
               "arn:aws:s3:::{{bucket-name}}/*" 
            ]
         }
      ]
   }'
   ```

   

1. **[OPCIONAL]** Cuando utilice una clave de KMS para habilitar el cifrado, adjunte la clave de KMS y el ARN:

   ```
   aws iam put-role-policy \
     --role-name {{ForecastRole}} \
     --policy-name {{ForecastBucketAccessPolicy}} \
     --policy-document '{
      "Version": "2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:Get*",
               "s3:List*",
               "s3:PutObject"
            ],
            "Resource":[
               "arn:aws:s3:::{{bucket-name}}", 
               "arn:aws:s3:::{{bucket-name}}/*" 
            ]
         }
      ]
   }'aws iam put-role-policy \
     --role-name {{ForecastRole}} \
     --policy-name {{ForecastKMSAccessPolicy}} \
     --policy-document ‘{
      "Version": "2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
           "kms:DescribeKey", 
           "kms:CreateGrant",
           "kms:RetireGrant"
            ],
            "Resource":[
            "arn:aws:kms:{{region}}:{{account-id}}:key/{{KMS-key-id}}"
            ]
         }
      ]
   }’
   ```

   

## Prevención de la sustitución confusa entre servicios
<a name="aws-forecast-confused-deputy"></a>

El problema del suplente confuso es una cuestión de seguridad en la que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger los datos de todos los servicios cuyos directores de servicio tengan acceso a los recursos de su cuenta.

Se recomienda utilizar las claves de contexto de condición global `aws:SourceArn` y `aws:SourceAccount` en las políticas de recursos para limitar los permisos que Identity and Access Management (IAM) concede a Amazon Forecast para el acceso a sus recursos. Si se utilizan ambas claves de contexto de condición global, el valor `aws:SourceAccount` y la cuenta del valor `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.