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 Amazon ECR
Antes de que el HealthOmics servicio pueda ejecutar un flujo de trabajo en un contenedor desde su repositorio privado de Amazon ECR, debe crear una política de recursos para el repositorio. La política otorga permiso al HealthOmics servicio para usar el contenedor. Agrega esta política de recursos a cada repositorio privado al que haga referencia el flujo de trabajo.
nota
El repositorio privado y el flujo de trabajo deben estar en la misma región.
Si el flujo de trabajo y el repositorio son propiedad de AWS cuentas diferentes, debes configurar los permisos entre cuentas.
No necesitas conceder acceso adicional al repositorio para los flujos de trabajo compartidos. Sin embargo, puedes crear políticas que permitan o denieguen el acceso de flujos de trabajo específicos a la imagen del contenedor.
Para utilizar la función de caché de extracción de Amazon ECR, debe crear una política de permisos de registro.
En las siguientes secciones se describe cómo configurar los permisos de recursos de Amazon ECR para estos escenarios. Para obtener más información sobre los permisos en Amazon ECR, consulte Permisos de registro privado en Amazon ECR.
Temas
Cree una política de recursos para el repositorio de Amazon ECR
Cree una política de recursos que permita al HealthOmics servicio ejecutar un flujo de trabajo utilizando un contenedor del repositorio. La política concede permiso al director del HealthOmics servicio para acceder a las acciones de Amazon ECR requeridas.
Siga estos pasos para crear la política:
-
Abra la página de repositorios privados
en la consola de Amazon ECR y seleccione el repositorio al que va a conceder acceso. -
En la barra de navegación lateral, seleccione Permisos.
-
Seleccione Editar.
-
Selecciona Editar política (JSON).
-
Añada la siguiente declaración de política y, a continuación, seleccione Guardar.
Ejecutar flujos de trabajo con contenedores multicuenta
Si el flujo de trabajo y el contenedor son propiedad de diferentes AWS cuentas, debes configurar los siguientes permisos multicuenta:
-
Actualice la política de Amazon ECR del repositorio para conceder permiso de forma explícita a la cuenta propietaria del flujo de trabajo.
-
Actualice la función de servicio de la cuenta propietaria del flujo de trabajo para concederle acceso a la imagen del contenedor.
El siguiente ejemplo muestra una política de recursos de Amazon ECR que concede acceso a la cuenta propietaria del flujo de trabajo.
En este ejemplo:
-
ID de cuenta de flujo de trabajo: 111122223333
-
ID de cuenta del repositorio de contenedores: 444455556666
-
Nombre del contenedor: samtools
Para completar la configuración, agrega la siguiente declaración de política al rol de servicio de la cuenta propietaria del flujo de trabajo. La política concede permiso al rol de servicio para acceder a la imagen del contenedor «samtools». Asegúrese de reemplazar los números de cuenta, el nombre del contenedor y la región por sus propios valores.
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
Políticas de Amazon ECR para flujos de trabajo compartidos
nota
HealthOmics permite automáticamente que un flujo de trabajo compartido acceda al repositorio de Amazon ECR en la cuenta del propietario del flujo de trabajo, mientras el flujo de trabajo se ejecuta en la cuenta del suscriptor. No es necesario que concedas acceso adicional al repositorio para los flujos de trabajo compartidos. Para obtener más información, consulta Cómo compartir HealthOmics flujos de trabajo.
De forma predeterminada, el suscriptor no tiene acceso al repositorio de Amazon ECR para usar los contenedores subyacentes. Si lo desea, puede personalizar el acceso al repositorio de Amazon ECR añadiendo claves de condición a la política de recursos del repositorio. En las siguientes secciones se proporcionan ejemplos de políticas.
Restrinja el acceso a flujos de trabajo específicos
Puede enumerar los flujos de trabajo individuales en una declaración de condición, de modo que solo estos flujos de trabajo puedan utilizar los contenedores del repositorio. La clave de SourceArncondición especifica el ARN del flujo de trabajo compartido. En el siguiente ejemplo, se concede permiso al flujo de trabajo especificado para utilizar este repositorio.
Restrinja el acceso a cuentas específicas
Puede enumerar las cuentas de los suscriptores en una declaración de condiciones, de modo que solo estas cuentas tengan permiso para usar los contenedores del repositorio. La clave de SourceAccountcondición especifica la Cuenta de AWS del suscriptor. En el siguiente ejemplo, se concede permiso a la cuenta especificada para utilizar este repositorio.
También puede denegar los permisos de Amazon ECR a suscriptores específicos, como se muestra en el siguiente ejemplo de política.
Las políticas de Amazon ECR acceden a la memoria caché
Para utilizar la caché de extracción de Amazon ECR, debe crear una política de permisos de registro. También puede crear una plantilla de creación de repositorios, que define los permisos para los repositorios creados por la caché de extracción de Amazon ECR.
En las siguientes secciones se incluyen ejemplos de estas políticas. Para obtener más información sobre la extracción de caché, consulte Sincronizar un registro ascendente con un registro privado de Amazon ECR en la Guía del usuario de Amazon Elastic Container Registry.
Política de permisos de registro
Para utilizar la caché de extracción de Amazon ECR, cree una política de permisos de registro. La política de permisos de registro permite controlar los permisos de replicación y extracción de la memoria caché.
Para la replicación entre cuentas, debes permitir de forma explícita Cuenta de AWS que cada una de ellas pueda replicar sus repositorios en tu registro.
De forma predeterminada, al crear una regla de extracción de caché, cualquier responsable de IAM que tenga permiso para extraer imágenes de un registro privado también puede usar la regla de extracción de memoria caché. Puede usar los permisos de registro para restringir aún más estos permisos a repositorios específicos.
Agrega una política de permisos de registro a la cuenta propietaria de la imagen del contenedor.
En el siguiente ejemplo, la política permite al HealthOmics servicio crear repositorios para cada registro ascendente e iniciar solicitudes de extracción ascendentes desde los repositorios creados.
Plantilla de creación de repositorios
Para utilizar pull through cache in HealthOmics, el repositorio de Amazon ECR debe tener una plantilla de creación de repositorios. La plantilla define los ajustes de configuración de los repositorios privados creados para un registro anterior.
Cada plantilla contiene un prefijo de espacio de nombres de repositorio, que Amazon ECR utiliza para hacer coincidir los nuevos repositorios con una plantilla específica. Las plantillas pueden especificar la configuración de todos los ajustes del repositorio, incluidas las políticas de acceso basadas en los recursos, la inmutabilidad de las etiquetas, el cifrado y las políticas de ciclo de vida. Para obtener más información, consulte las plantillas de creación de repositorios en la Guía del usuario de Amazon Elastic Container Registry.
En el siguiente ejemplo, la política permite al HealthOmics servicio iniciar solicitudes de extracción ascendentes desde los repositorios ascendentes.
Políticas de acceso multicuenta a Amazon ECR
Para el acceso multicuenta, el propietario del repositorio privado actualiza la política de permisos de registro y la plantilla de creación del repositorio para permitir el acceso de la otra cuenta y de la función de ejecución de esa cuenta.
En la política de permisos de registro, añade una declaración de política para permitir que la función de ejecución de la otra cuenta acceda a las acciones de Amazon ECR:
En la plantilla de creación del repositorio, añade una declaración de política para permitir que el rol de ejecución de la otra cuenta acceda a las nuevas imágenes del contenedor. Si lo desea, puede añadir declaraciones de condiciones para limitar el acceso a flujos de trabajo específicos:
Agregue permisos para dos acciones adicionales (CreateRepository y BatchImportUpstreamImage) en la función de ejecución y especifique el recurso al que puede acceder la función de ejecución.