

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.

# Buckets de Amazon S3
<a name="S3-buckets"></a>

Research and Engineering Studio (RES) admite el montaje de [buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) en instancias de infraestructura de escritorio virtual (VDI) de Linux. **Los administradores de RES pueden incorporar cubos de S3 a RES, adjuntarlos a proyectos, editar su configuración y eliminar los cubos en la pestaña de cubos de S3, en la sección Administración del entorno.**

El panel de control de los buckets de S3 proporciona una lista de los buckets de S3 integrados que están disponibles para usted. Desde el panel de mandos de S3, puedes:

1. Utilice **Añadir depósito** para incorporar un depósito de S3 a RES. 

1. Seleccione un depósito de S3 y utilice el menú **Acciones** para: 
   + Editar un bucket
   + Eliminar un balde

1. Usa el campo de búsqueda para buscar por nombre de bucket y encontrar los buckets S3 integrados.  
![\[La lista de buckets de S3 te permite buscar por nombre de bucket y encontrar buckets integrados\]](http://docs.aws.amazon.com/es_es/res/latest/ug/images/docs-list-bucket.png)

En las siguientes secciones se describe cómo administrar los buckets de Amazon S3 en sus proyectos de RES.

**Topics**
+ [Requisitos previos del bucket de Amazon S3 para implementaciones de VPC aisladas](S3-buckets-prereqs.md)
+ [Añadir un bucket de Amazon S3](S3-buckets-add.md)
+ [Editar un bucket de Amazon S3](S3-buckets-edit.md)
+ [Eliminar un bucket de Amazon S3](S3-buckets-remove.md)
+ [Aislamiento de datos](S3-buckets-data-isolation.md)
+ [Acceso al bucket entre cuentas](S3-buckets-cross-account-access.md)
+ [Evitar la exfiltración de datos en una VPC privada](S3-buckets-preventing-exfiltration.md)
+ [Resolución de problemas](S3-buckets-troubleshooting.md)
+ [Habilitando CloudTrail](S3-buckets-enabling-cloudtrail.md)

# Requisitos previos del bucket de Amazon S3 para implementaciones de VPC aisladas
<a name="S3-buckets-prereqs"></a>

Si va a implementar Research and Engineering Studio en una VPC aislada, siga estos pasos para actualizar los parámetros de configuración de lambda después de implementar RES en su cuenta. AWS 

1. Inicie sesión en la consola Lambda de la AWS cuenta en la que está desplegado Research and Engineering Studio.

1. Busque y navegue hasta la función Lambda denominada. `<RES-EnvironmentName>-vdc-custom-credential-broker-lambda` 

1. Seleccione la pestaña **Configuración** de la función.  
![\[variable de entorno de VPC aislada\]](http://docs.aws.amazon.com/es_es/res/latest/ug/images/Isolated-VPC-Env-Variable.png)

1. En el panel de navegación, elija **Variables de entorno** para ver esa sección.

1. Elija **Editar** y añada la siguiente variable de entorno nueva a la función: 
   + Clave: `AWS_STS_REGIONAL_ENDPOINTS` 
   + Valor: `regional` 

1. Seleccione **Save**.

# Añadir un bucket de Amazon S3
<a name="S3-buckets-add"></a>

**Para añadir un bucket de S3 a su entorno de RES:**

1. Elija **Add bucket (Añadir bucket)**.

1. Introduzca los detalles del depósito, como el nombre del depósito, el ARN y el punto de montaje.
**importante**  
El ARN del bucket, el punto de montaje y el modo proporcionados no se pueden cambiar después de la creación. 
El ARN del depósito puede contener un prefijo que aísle el depósito S3 incorporado de ese prefijo.

1. Seleccione un modo en el que desee incorporar el bucket.
**importante**  
Consulte [Aislamiento de datos](S3-buckets-data-isolation.md) para obtener más información relacionada con el aislamiento de datos con modos específicos.

1. En **Opciones avanzadas**, puede proporcionar un ARN de rol de IAM para montar los cubos para el acceso entre cuentas. Sigue los pasos que se indican a continuación [Acceso al bucket entre cuentas](S3-buckets-cross-account-access.md) para crear el rol de IAM necesario para el acceso entre cuentas.

1. (Opcional) Asocia el bucket a los proyectos, que se pueden cambiar más adelante. Sin embargo, un bucket de S3 no se puede montar en las sesiones de VDI existentes de un proyecto. Solo las sesiones iniciadas después de que el proyecto se haya asociado al bucket se montarán en el bucket.

1. Seleccione **Enviar**.  
![\[Agregue una página de bucket que muestre los campos de configuración del bucket disponibles y el botón de envío\]](http://docs.aws.amazon.com/es_es/res/latest/ug/images/docs-add-bucket.png)

# Editar un bucket de Amazon S3
<a name="S3-buckets-edit"></a>

1. Seleccione un depósito de S3 de la lista de depósitos de S3.

1. En el menú **Acciones**, selecciona **Editar**.

1. Introduce tus actualizaciones.
**importante**  
Al asociar un proyecto a un bucket de S3, **no** se montará el bucket en las instancias de infraestructura de escritorio virtual (VDI) existentes de ese proyecto. El bucket solo se montará en las sesiones de VDI lanzadas en un proyecto una vez que el bucket se haya asociado a ese proyecto.
La disociación de un proyecto de un bucket de S3 no afectará a los datos del bucket de S3, pero provocará que los usuarios de escritorio pierdan el acceso a esos datos.

1. Selecciona **Guardar configuración del bucket.**  
![\[Introduzca la página Editar depósito de S3 con los campos de nombre para mostrar y asociación de proyectos y resaltado el botón Guardar configuración del depósito\]](http://docs.aws.amazon.com/es_es/res/latest/ug/images/docs-edit-bucket.png)

# Eliminar un bucket de Amazon S3
<a name="S3-buckets-remove"></a>

1. Seleccione un depósito de S3 de la lista de depósitos de S3.

1. En el menú **Acciones**, selecciona **Eliminar**.
**importante**  
Primero debes eliminar todas las asociaciones de proyectos del depósito.
La operación de eliminación no afecta a los datos del depósito de S3. Solo elimina la asociación del bucket de S3 con RES.
Al eliminar un depósito, las sesiones de VDI existentes perderán el acceso al contenido de ese depósito cuando caduquen las credenciales de esa sesión (aproximadamente 1 hora).

# Aislamiento de datos
<a name="S3-buckets-data-isolation"></a>

Cuando agrega un depósito de S3 a RES, tiene opciones para aislar los datos del depósito para proyectos y usuarios específicos. En la página **Añadir cubo**, puede seleccionar un modo de Solo lectura (R) o Lectura y escritura (R/W).

**Solo lectura**

Si `Read Only (R)` se selecciona, el aislamiento de datos se aplica en función del prefijo del ARN (Amazon Resource Name) del bucket. Por ejemplo, si un administrador añade un depósito a RES mediante el ARN `arn:aws:s3:::bucket-name/example-data/` y asocia este depósito al Proyecto A y al Proyecto B, los usuarios que se inicien VDIs desde el Proyecto A y el Proyecto B solo podrán leer los datos que se encuentran `bucket-name` debajo de la ruta. `/example-data` No tendrán acceso a los datos fuera de esa ruta. Si no hay ningún prefijo adjunto al ARN del bucket, todo el bucket estará disponible para cualquier proyecto asociado al mismo.

**Lee y escribe**

Si `Read and Write (R/W)` se selecciona, el aislamiento de datos se sigue aplicando en función del prefijo del ARN del bucket, tal y como se ha descrito anteriormente. Este modo tiene opciones adicionales que permiten a los administradores proporcionar prefijos basados en variables para el depósito de S3. Cuando `Read and Write (R/W)` se selecciona, aparece una sección de prefijos personalizados que ofrece un menú desplegable con las siguientes opciones:
+ Sin prefijo personalizado
+ /%p
+ /%p/%u

![\[Añadir página de bucket con el menú desplegable de prefijos personalizados\]](http://docs.aws.amazon.com/es_es/res/latest/ug/images/add-bucket-custom-prefix.png)


**Sin aislamiento de datos personalizado **  
Cuando `No custom prefix` se selecciona como **Prefijo personalizado**, el depósito se añade sin ningún aislamiento de datos personalizado. Esto permite que cualquier proyecto asociado al depósito tenga acceso de lectura y escritura. Por ejemplo, si un administrador añade un depósito a RES mediante el ARN `arn:aws:s3:::bucket-name` con el `No custom prefix` seleccionado y asocia este depósito al Proyecto A y al Proyecto B, los usuarios que se lancen VDIs desde el Proyecto A y el Proyecto B tendrán acceso ilimitado de lectura y escritura al depósito.

**Aislamiento de datos por proyecto **  
Cuando `/%p` se selecciona el **prefijo personalizado**, los datos del depósito se aíslan para cada proyecto específico asociado al mismo. La `%p` variable representa el código del proyecto. Por ejemplo, si un administrador agrega un depósito a RES `arn:aws:s3:::bucket-name` con el ARN `/%p` seleccionado y un **punto de montaje** de*/bucket*, y asocia este depósito a los proyectos A y B, el usuario A del proyecto A puede escribir un archivo en él. */bucket* El usuario B del proyecto A también puede ver el archivo en */bucket* el que escribió el usuario A. Sin embargo, si el usuario B lanza una VDI en el proyecto B y la consulta*/bucket*, no verá el archivo que escribió el usuario A, ya que los datos están aislados por proyecto. El archivo que escribió el usuario A se encuentra en el bucket de S3, bajo el prefijo, `/ProjectA` mientras que el usuario B solo puede acceder `/ProjectB` cuando utiliza el suyo VDIs del Proyecto B.

**Aislamiento de datos por proyecto y por usuario **  
Cuando `/%p/%u` se selecciona el **prefijo personalizado**, los datos del depósito se aíslan para cada proyecto y usuario específicos asociados a ese proyecto. La `%p` variable representa el código del proyecto y `%u` representa el nombre de usuario. Por ejemplo, un administrador agrega un bucket a RES utilizando el ARN `arn:aws:s3:::bucket-name` con la `/%p/%u` opción seleccionada y un punto de montaje de. */bucket* Este depósito está asociado al proyecto A y al proyecto B. El usuario A del proyecto A puede escribir un archivo en él. */bucket* A diferencia del escenario anterior, en el que solo estaba `%p` aislado, en este caso el usuario B no verá el archivo en el que escribió el usuario A en el proyecto A*/bucket*, ya que los datos están aislados tanto por el proyecto como por el usuario. El archivo que escribió el usuario A se encuentra en el depósito de S3 bajo el prefijo, `/ProjectA/UserA` mientras que el usuario B solo puede acceder `/ProjectA/UserB` cuando lo usa VDIs en el Proyecto A.

# Acceso al bucket entre cuentas
<a name="S3-buckets-cross-account-access"></a>

RES tiene la capacidad de montar depósitos desde otras AWS cuentas, siempre que estos depósitos cuenten con los permisos adecuados. En el siguiente escenario, un entorno RES de la cuenta A quiere montar un bucket de S3 en la cuenta B.

**Paso 1: Cree un rol de IAM en la cuenta en la que está desplegado RES *(se denominará cuenta A)*:**

1. Inicie sesión en la consola AWS de administración de la cuenta RES que necesita acceder al bucket de S3 (cuenta A).

1. Abra la consola de IAM:

   1. Navegue hasta el panel de control de IAM.

   1. En el panel de navegación, seleccione **Políticas**.

1. Cree una política: 

   1. Elija **Crear política**.

   1. Seleccione la pestaña **JSON**.

   1. Pegue la siguiente política de JSON (`amzn-s3-demo-bucket`sustitúyala por el nombre del bucket de S3 ubicado en la cuenta B): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Elija **Siguiente**.

1. Revisa y crea la política: 

   1. Proporcione un nombre para la política (por ejemplo, AccessPolicy «S3»).

   1. Añada una descripción opcional para explicar el propósito de la política.

   1. Revisa la política y selecciona **Crear política**.

1. Abra la consola de IAM:

   1. Navegue hasta el panel de control de IAM.

   1. Seleccione **Roles** en el panel de navegación.

1. Cree un rol:

   1. Elija **Crear rol**.

   1. Elija una **política de confianza personalizada** como tipo de entidad de confianza.

   1. Pegue la siguiente política de JSON (`111122223333`sustitúyala por el ID de cuenta real de la cuenta A y `{RES_ENVIRONMENT_NAME}` por el nombre de entorno de la implementación de RES): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/<ENVIRONMENT_NAME>-vdc-custom-credential-broker-lambda-role"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. Elija **Siguiente**.

1. Adjunte las políticas de permisos:

   1. Busque y seleccione la política que creó anteriormente.

   1. Elija **Siguiente**.

1. Etiquete, revise y cree el rol: 

   1. Introduzca el nombre de un rol (por ejemplo, AccessRole «S3»).

   1. En el paso 3, selecciona **Añadir etiqueta** e introduce la siguiente clave y valor:
      + Clave: `res:Resource` 
      + Valor: `s3-bucket-iam-role` 

   1. Revisa el rol y selecciona **Crear rol**.

1. Utilice el rol de IAM en RES:

   1. Copie el ARN del rol de IAM que creó. 

   1. Inicie sesión en la consola RES.

   1. En el panel de navegación izquierdo, selecciona **S3 Bucket**. 

   1. Elige **Añadir depósito** y rellena el formulario con el ARN del depósito S3 multicuenta.

   1. Selecciona el menú desplegable **Configuración avanzada (opcional)**.

   1. Introduzca el ARN del rol en el campo ARN del rol de IAM.

   1. **Seleccione Añadir depósito.**

**Paso 2: Modifique la política de depósitos en la cuenta B**

1. Inicie sesión en la consola AWS de administración de la cuenta B.

1. Abra la consola S3: 

   1. Navegue hasta el panel de control de S3.

   1. Selecciona el depósito al que quieres conceder acceso.

1. Edita la política de buckets:

   1. Seleccione la pestaña **Permisos** y elija la **política de buckets**.

   1. Añada la siguiente política para conceder a la función de IAM de la cuenta A acceso al bucket (*111122223333*sustitúyala por el ID de cuenta real de la cuenta A y *amzn-s3-demo-bucket* por el nombre del bucket de S3): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/S3AccessRole"
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Seleccione **Save**.

# Evitar la exfiltración de datos en una VPC privada
<a name="S3-buckets-preventing-exfiltration"></a>

Para evitar que los usuarios extraigan datos de depósitos de S3 seguros a sus propios depósitos de S3 de su cuenta, puede adjuntar un punto de enlace de VPC para proteger su VPC privada. En los siguientes pasos, se muestra cómo crear un punto final de VPC para el servicio S3 que permita el acceso a los buckets de S3 de su cuenta, así como a cualquier cuenta adicional que tenga buckets entre cuentas. 

1. Abra la consola de Amazon VPC:

   1. Inicie sesión en la consola AWS de administración. 

   1. Abra la consola de Amazon VPC en. [ https://console.aws.amazon.com/vpcconsole/](https://console.aws.amazon.com/vpcconsole)

1. Cree un punto final de VPC para S3:

   1. En el panel de navegación izquierdo, seleccione **Puntos de conexión**.

   1. Elija **Crear punto de conexión**.

   1. En **Service category** (Categoría de servicio), asegúrese de que se seleccionó **AWS services** (Servicios de AWS ). 

   1. En el campo **Nombre del servicio**, introduzca `com.amazonaws.<region>.s3` (`<region>`sustitúyalo por su AWS región) o busque «S3".

   1. Seleccione el servicio S3 de la lista.

1. Configure los ajustes del punto final: 

   1. Par **VPC**, seleccione la VPC en la que desee crear el punto de conexión.

   1. En el **caso de las subredes**, seleccione las dos subredes privadas utilizadas para las subredes de VDI durante la implementación.

   1. En **Habilitar el nombre DNS**, asegúrese de que la opción esté marcada. Esto permite que el nombre de host DNS privado se resuelva en las interfaces de red del punto final.

1. Configure la política para restringir el acceso: 

   1. En **Política**, elija **Personalizado**.

   1. En el editor de políticas, introduce una política que restrinja el acceso a los recursos de tu cuenta o de una cuenta específica. Este es un ejemplo de política (*amzn-s3-demo-bucket*sustitúyalo por el nombre de tu bucket de S3 *111122223333* y *444455556666* por la AWS cuenta adecuada a la IDs que quieras acceder): 
**nota**  
Esta política de ejemplo utiliza `s3:*` y no restringe las operaciones del plano de control de S3, como la configuración de las notificaciones de eventos, la replicación o el inventario. Estas operaciones podrían permitir que los metadatos de los objetos (como los nombres de los depósitos y las claves de los objetos) se envíen a destinos de varias cuentas. Si esto le preocupa, añada sentencias Deny explícitas para las acciones pertinentes del plano de control de S3 en la política de puntos finales de la VPC.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": "*",
                  "Action": "s3:*",
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalAccount": [
                              "111122223333",
                              "444455556666"
                          ]
                      }
                  }
              }
          ]
      }
      ```

------

1. Cree el punto final:

   1. Revise la configuración.

   1. Seleccione **Crear punto de conexión**.

1. Verifique el punto final:

   1. Una vez creado el punto final, vaya a la sección **Puntos finales** de la consola de VPC.

   1. Seleccione el punto final recién creado.

   1. Compruebe que el **estado** esté **disponible**.

Si sigue estos pasos, crea un punto final de VPC que permite el acceso a S3 restringido a los recursos de su cuenta o a un ID de cuenta específico.

# Resolución de problemas
<a name="S3-buckets-troubleshooting"></a>

**¿Cómo comprobar si un bucket no se monta en una VDI** 

Si un bucket no se monta en una VDI, hay algunas ubicaciones en las que puede comprobar si hay errores. Siga los pasos que se indican a continuación.

1. Compruebe los registros de VDI:

   1. Inicie sesión en la consola AWS de administración. 

   1. Abra la consola EC2 y vaya a **Instancias**.

   1. Seleccione la instancia de VDI que lanzó.

   1. Conéctese a la VDI mediante el administrador de sesiones.

   1. Ejecute los siguientes comandos :

      ```
      sudo su
      cd ~/bootstrap/logs
      ```

      Aquí encontrará los registros de arranque. Los detalles de cualquier error se encontrarán en el `configure.log.{time}` archivo.

      Además, consulte el `/etc/message` registro para obtener más información.

1. Compruebe los registros CloudWatch Lambda personalizados de Credential Broker:

   1. Inicie sesión en la consola de AWS administración.

   1. Abra la CloudWatch consola y diríjase a los **grupos de registros**.

   1. Busque el grupo de registros`/aws/lambda/<stack-name>-vdc-custom-credential-broker-lambda`. 

   1. Examine el primer grupo de registros disponible y localice cualquier error en los registros. Estos registros contendrán detalles sobre posibles problemas y proporcionarán credenciales personalizadas temporales para montar depósitos de S3. 

1. Compruebe los CloudWatch registros de API Gateway personalizados de Credential Broker:

   1. Inicie sesión en la consola AWS de administración.

   1. Abra la CloudWatch consola y diríjase a los **grupos de registros**.

   1. Busque el grupo de registros`<stack-name>-vdc-custom-credential-broker-lambdavdccustomcredentialbrokerapigatewayaccesslogs<nonce>`. 

   1. Examine el primer grupo de registros disponible y localice cualquier error en los registros. Estos registros contendrán detalles sobre cualquier solicitud y respuesta a la API Gateway de credenciales personalizadas necesarias para montar los buckets de S3.

**¿Cómo editar la configuración del rol de IAM de un bucket después de la incorporación** 

1. Inicie sesión en la consola de [AWS DynamoDB](https://console.aws.amazon.com/dynamodbv2/home).

1. Seleccione la tabla: 

   1. En el panel de navegación izquierdo, elija **Tables (Tablas)**.

   1. Busque y seleccione`<stack-name>.cluster-settings`. 

1. Escanea la tabla: 

   1. Elija **Explorar elementos de la tabla**.

   1. Asegúrese de que esté seleccionada la opción **Escanear**.

1. Añadir un filtro:

   1. Elija **Filtros** para abrir la sección de entrada de filtros.

   1. Configure el filtro para que coincida con su clave
      + **Atributo**: introduce la clave.
      + **Condición**: seleccionar **Empieza** por.
      + **Valor**: introduzca la `shared-storage.<filesystem_id>.s3_bucket.iam_role_arn` sustitución por *<filesystem\$1id>* el valor del sistema de archivos que se debe modificar.

1. Ejecute el escaneo:

   Seleccione **Ejecutar** para ejecutar el escaneo con el filtro.

1. Compruebe el valor: 

   Si la entrada existe, asegúrese de que el valor esté configurado correctamente con el ARN del rol de IAM correcto.

   Si la entrada no existe:

   1. Seleccione **Crear elemento**.

   1. Introduzca los detalles del artículo:
      + Para el atributo clave, introduzca`shared-storage.<filesystem_id>.s3_bucket.iam_role_arn`. 
      + Añada el ARN del rol de IAM correcto.

   1. Seleccione **Guardar** para añadir el elemento.

1. Reinicie las instancias de VDI: 

   Reinicie la instancia para asegurarse de VDIs que los ARN afectados por el rol de IAM incorrecto se vuelvan a montar.

# Habilitando CloudTrail
<a name="S3-buckets-enabling-cloudtrail"></a>

Para activarla CloudTrail en su cuenta mediante la CloudTrail consola, siga las instrucciones que se proporcionan en la [sección Creación de una ruta con la CloudTrail consola](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) de la *Guía del AWS CloudTrail usuario*. CloudTrail registrará el acceso a los buckets de S3 registrando el rol de IAM que accedió a ellos. Esto se puede vincular a un ID de instancia, que está vinculado a un proyecto o usuario.