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.
Permisos de acceso a los datos mediante Amazon S3 URIs
Puede acceder a los datos del almacén de secuencias mediante operaciones de HealthOmics API o operaciones de API de Amazon S3.
Para el acceso a la HealthOmics API, HealthOmics los permisos se administran mediante una política de IAM. Sin embargo, el acceso a S3 requiere dos niveles de configuración: un permiso explícito en la política de acceso a S3 de la tienda y una política de IAM. Para obtener más información sobre el uso de las políticas de IAM con HealthOmics, consulte Funciones de servicio para. HealthOmics
Existen tres formas de compartir la capacidad de leer objetos mediante Amazon S3 APIs:
-
Uso compartido basado en políticas: este intercambio requiere habilitar el principio de IAM tanto en la política de acceso a S3 como redactar una política de IAM y adjuntarla al principio de IAM. Consulte el siguiente tema para obtener más información.
-
Prefirmado URLs : también puedes generar una URL prefirmada que se pueda compartir para un archivo del almacén de secuencias. Para obtener más información sobre la creación de prefirmados URLs con Amazon S3, consulte Uso de prefirmados URLs en la documentación de Amazon S3. La política de acceso a S3 al almacén de secuencias admite declaraciones para limitar las capacidades de las URL prefirmadas.
-
Funciones asumidas: cree una función en la cuenta del propietario de los datos que tenga una política de acceso que permita a los usuarios asumir esa función.
Uso compartido basado en políticas
Si accede a los datos del almacén secuencial mediante un URI directo de S3, HealthOmics proporciona medidas de seguridad mejoradas para la política de acceso al bucket de S3 asociada.
Las siguientes reglas se aplican a las nuevas políticas de acceso a S3. En el caso de las políticas existentes, las reglas se aplicarán la próxima vez que se actualice la política:
-
Las políticas de acceso de S3 admiten los siguientes elementos de política
-
Versión, ID, declaración, razón, efecto, principio, acción, recurso, condición
-
-
Las políticas de acceso de S3 admiten las siguientes claves de condición:
-
s3:ExistingObjectTag/<key>, s3: prefijo, s3: versión de firma, s3: TlsVersion
-
Las políticas también admiten aws: con los siguientes operadores de condición: PrincipalArn y ArnEquals ArnLike
-
Si intenta añadir o actualizar una política para incluir un elemento o una condición no admitidos, el sistema rechazará la solicitud.
Temas
Política de acceso a S3 predeterminada
Al crear un almacén de secuencias, HealthOmics crea una política de acceso a S3 predeterminada que concede a la cuenta raíz del propietario del almacén de datos los siguientes permisos para todos los objetos accesibles del almacén de secuencias: S3: GetObjectGetObjectTagging, S3 y S3:ListBucket. La política creada por defecto es:
Personalización de la política de acceso
Si la política de acceso a S3 está en blanco, no se permite el acceso a S3. Si hay una política vigente y necesitas eliminar el acceso a S3, úsala deleteS3AccessPolicy
para eliminar todos los accesos.
Para añadir restricciones al uso compartido o conceder acceso a otras cuentas, puedes actualizar la política mediante la PutS3AccessPolicy
API. Las actualizaciones de la política no pueden ir más allá del prefijo del almacén de secuencias ni de las acciones especificadas.
Política de IAM
Para permitir a un usuario o al principal de IAM el acceso mediante Amazon S3 APIs, además del permiso de la política de acceso de S3, se debe crear una política de IAM y adjuntarla al principal para conceder el acceso. Se puede aplicar una política que permita el acceso a la API de Amazon S3 a nivel de almacén de secuencias o a nivel de conjunto de lectura. En el nivel del conjunto de lecturas, los permisos se pueden restringir mediante el prefijo o mediante filtros de etiquetas de recursos para patrones de identificación de muestras o sujetos.
Si el almacén de secuencias utiliza una clave gestionada por el cliente (CMK), el responsable también debe tener derechos para utilizar la clave KMS para el descifrado. Para obtener más información, consulte el acceso a KMS entre cuentas en la AWS Key Management Service Guía para desarrolladores.
El siguiente ejemplo proporciona a un usuario acceso a un almacén de secuencias. Puede ajustar el acceso con condiciones adicionales o filtros basados en los recursos.
Control de acceso basado en etiquetas
Para utilizar el control de acceso basado en etiquetas, primero se debe actualizar el almacén de secuencias para propagar las claves de etiquetas que se utilizarán. Esta configuración se establece durante la creación o actualización del almacén de secuencias. Una vez que las etiquetas se han propagado, las condiciones de las etiquetas se pueden utilizar para añadir más restricciones. Las restricciones se pueden incluir en la política de acceso de S3 o en la política de IAM. El siguiente es un ejemplo de una política de acceso a S3 basada en pestañas que se podría establecer:
{ "Sid": "tagRestrictedGets", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<target_restricted_account_id>:root" }, "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:us-west-2:222222222222:accesspoint/111111111111-1234567890/object/111111111111/sequenceStore/1234567890/*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/tagKey1": "tagValue1", "s3:ExistingObjectTag/tagKey2": "tagValue2" } } }
Ejemplo de restricción
Escenario: crear un recurso compartido en el que el propietario de los datos pueda restringir la capacidad del usuario de descargar los datos «retirados».
En este escenario, el propietario de los datos (cuenta #111111111111) administraba un almacén de datos. Este propietario de los datos comparte los datos con una amplia gama de usuarios externos, incluido un investigador (cuenta #999999999999). Como parte de la gestión de los datos, el propietario de los datos recibe periódicamente solicitudes para retirar los datos de un participante. Para gestionar esta retirada, el propietario de los datos restringe primero el acceso a la descarga directa al recibir la solicitud y, finalmente, borra los datos según sus necesidades.
Para satisfacer esta necesidad, el propietario de los datos crea un almacén secuencial y cada conjunto de lecturas recibe una etiqueta que indica «estado», que pasará a ser «retirado» si se recibe la solicitud de retirada. En el caso de los datos con la etiqueta establecida en este valor, quieren asegurarse de que ningún usuario pueda ejecutar «getObject» en este archivo. Para realizar esta configuración, el propietario de los datos deberá asegurarse de seguir dos pasos.
Paso 1. En el caso del almacén de secuencias, asegúrese de que la etiqueta de estado esté actualizada para poder propagarse. Esto se hace añadiendo la clave de «estado» en el campo propogatedSetLevelTags
al llamar createSequenceStore
o updateSequenceStore.
Paso 2. Actualiza la política de acceso s3 de la tienda para restringir GetObject a los objetos con la etiqueta de estado configurada como retirada. Esto se hace actualizando la política de acceso a la tienda mediante la PutS3AccesPolicy
API. La siguiente política permitiría a los clientes seguir viendo los archivos retirados al publicar objetos, pero les impediría acceder a ellos:
Declaración 1 (restrictedGetWithdrawal): La cuenta 7139999 no puede recuperar los objetos retirados.
Declaración 2 (ownerGetAll): La cuenta 1111, propietaria de los datos, puede recuperar todos los objetos, incluidos los objetos retirados.
Declaración 3 (everyoneListAll): Todas las cuentas compartidas (1111 y 9999) pueden ejecutar la ListBucket operación con todo el prefijo.