Controle el descubrimiento y el uso de las AMI en Amazon EC2 con las AMI permitidas
Para controlar el descubrimiento y el uso de las Imágenes de máquina de Amazon (AMI) por parte de los usuarios de la Cuenta de AWS, puede utilizar la característica AMI permitidas. Usted especifica los criterios que las AMI deben cumplir para estar visibles y disponibles en la cuenta. Cuando los criterios están habilitados, los usuarios que lancen instancias solo verán las AMI que cumplan con los criterios especificados, y únicamente tendrán acceso a estas. Por ejemplo, puede especificar una lista de proveedores de AMI de confianza como criterio y solo las AMI de estos proveedores estarán visibles y disponibles para ser utilizadas.
Antes de habilitar la configuración de AMI permitidas, puede habilitar el modo de auditoría para obtener una vista previa de las AMI que estarán o no visibles y disponibles para ser utilizadas. Esto permite ajustar los criterios según sea necesario para garantizar que solo las AMI previstas estén visibles y disponibles para los usuarios de la cuenta. Además, utilice el comando describe-instance-image-metadata para buscar las instancias que se hayan lanzado con AMI que no cumplan los criterios especificados. Esta información puede fundamentar su decisión para determinar si actualizar las configuraciones de lanzamiento para usar AMI compatibles (por ejemplo, especificar una AMI diferente en una plantilla de lanzamiento) o ajustar los criterios para permitir estas AMI.
Especifica la configuración de AMI permitidas a nivel de cuenta, ya sea directamente en la cuenta o mediante una política declarativa. Estos ajustes se deben configurar en cada Región de AWS en la que desee controlar el uso de AMI. El uso de una política declarativa permite aplicar la configuración en varias regiones simultáneamente, así como en varias cuentas simultáneamente. Cuando se utiliza una política declarativa, no se puede modificar la configuración directamente en una cuenta. En este tema se describe cómo configurar el ajuste directamente dentro de una cuenta. Para obtener información sobre el uso de políticas declarativas, consulte Políticas declarativas en la Guía del usuario de AWS Organizations.
nota
La característica AMI permitidas solo controla la detección y el uso de las AMI públicas o las AMI compartidas con la cuenta. No restringe las AMI propiedad de la cuenta. Independientemente de los criterios que establezca, los usuarios de la cuenta siempre pueden detectar y utilizar las AMI creadas por la cuenta.
Principales ventajas de la característica AMI permitidas
-
Cumplimiento y seguridad: los usuarios solo pueden descubrir y utilizar las AMI que cumplan los criterios especificados, lo que reduce el riesgo del uso no conforme de las AMI.
-
Administración eficiente: al reducir la cantidad de AMI permitidas, resulta más fácil y eficiente administrar las restantes.
-
Implementación centralizada a nivel de cuenta: configure los ajustes de AMI permitidas a nivel de cuenta, ya sea directamente dentro de la cuenta o mediante una política declarativa. Esto proporciona una forma centralizada y eficiente de controlar el uso de AMI en toda la cuenta.
Contenido
Cómo funciona la característica AMI permitidas
Para controlar qué AMI se pueden descubrir y usar en la cuenta, se define un conjunto de criterios con los cuales evaluar las AMI. Los criterios se componen de uno o más ImageCriterion, como se muestra en el siguiente diagrama. A continuación del diagrama se presenta una explicación.
La configuración tiene tres niveles:
-
1: valores de parámetros
-
Parámetros con varios valores:
-
ImageProviders -
ImageNames -
MarketplaceProductCodesUna AMI puede coincidir con cualquiera de los valores dentro de un parámetro para que se permita.
Ejemplo:
ImageProviders=amazonO cuenta111122223333O cuenta444455556666(La lógica de evaluación de los valores de los parámetros no se muestra en el diagrama).
-
-
Parámetros de un solo valor:
-
CreationDateCondition -
DeprecationTimeCondition
-
-
-
2:
ImageCriterion-
Agrupa varios parámetros con la lógica AND.
-
Una AMI debe coincidir con todos los parámetros dentro de una
ImageCriterionpara que se permita. -
Ejemplo:
ImageProviders=amazonANDCreationDateCondition= 300 días o menos
-
-
3:
ImageCriteria-
Agrupa varios
ImageCriterioncon lógica OR. -
Una AMI puede coincidir con cualquier
ImageCriterionpara que se permita. -
Constituye la configuración completa con la cual se evalúan las AMI.
-
Temas
Parámetros de AMI permitidas
Los siguientes parámetros se pueden configurar para crear ImageCriterion:
ImageProviders-
Los proveedores de AMI cuyas AMI están permitidas.
Los valores válidos son los alias definidos por AWS, y los ID de Cuenta de AWS, de la siguiente manera:
-
amazon: un alias que identifica las AMI creadas por Amazon o proveedores verificados -
aws-marketplace: un alias que identifica las AMI creadas por proveedores verificados en el AWS Marketplace -
aws-backup-vault: un alias que identifica las AMI de copia de seguridad que residen en cuentas de almacenes aislados lógicamente de AWS Backup. Si utiliza la característica de almacén aislado lógicamente de AWS Backup, asegúrese de incluir este alias como proveedor de AMI. -
Identificadores de Cuenta de AWS: uno o más identificadores de Cuenta de AWS de 12 dígitos
-
none: indica que solo se pueden descubrir y utilizar las AMI creadas por la cuenta. Las AMI públicas o compartidas no se pueden detectar ni utilizar. Cuando se especifica, no se puede especificar ningún otro criterio.
-
ImageNames-
Los nombres de las AMI permitidas, con coincidencias exactas o caracteres comodín (
?o*). MarketplaceProductCodes-
Los códigos de producto de AWS Marketplace de las AMI permitidas.
CreationDateCondition-
La antigüedad máxima de las AMI permitidas.
DeprecationTimeCondition-
El período máximo desde la obsolescencia de las AMI permitidas.
Para conocer los valores válidos y las restricciones de cada criterio, consulte ImageCriterionRequest en la Referencia de la API de Amazon EC2.
Configuración de AMI permitidas
La configuración principal de las AMI permitidas es la configuración de ImageCriteria que define los criterios para las AMI permitidas. La siguiente estructura JSON muestra los parámetros que se pueden especificar:
{ "State": "enabled" | "disabled" | "audit-mode", "ImageCriteria" : [ { "ImageProviders": ["string",...], "MarketplaceProductCodes": ["string",...], "ImageNames":["string",...], "CreationDateCondition" : { "MaximumDaysSinceCreated": integer }, "DeprecationTimeCondition" : { "MaximumDaysSinceDeprecated": integer } }, ... }
Ejemplo de ImageCriteria
En el siguiente ejemplo de ImageCriteria se configuran cuatro ImageCriterion. Se permite una AMI si coincide con alguno de estos ImageCriterion. Para obtener información sobre cómo se evalúan los criterios, consulte Cómo se evalúan los criterios.
{ "ImageCriteria": [ // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890" { "MarketplaceProductCodes": [ "abcdefg1234567890" ] }, // ImageCriterion 2: Allow AMIs from providers whose accounts are // "123456789012" OR "123456789013" AND AMI age is less than 300 days { "ImageProviders": [ "123456789012", "123456789013" ], "CreationDateCondition": { "MaximumDaysSinceCreated":300} }, // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" // AND with names following the pattern "golden-ami-*" { "ImageProviders": [ "123456789014" ], "ImageNames": [ "golden-ami-*" ] }, // ImageCriterion 4: Allow AMIs from Amazon or verified providers // AND which aren't deprecated { "ImageProviders": [ "amazon" ], "DeprecationTimeCondition": { "MaximumDaysSinceDeprecated":0} } ] }
Cómo se evalúan los criterios
La siguiente tabla explica las reglas de evaluación que determinan si una AMI está permitida, y muestra cómo se aplica el operador AND o OR en cada nivel:
| Nivel de evaluación | Operador | Requisito para que se permita una AMI |
|---|---|---|
Valores de parámetros para ImageProviders, ImageNames y MarketplaceProductCodes |
OR |
La AMI debe coincidir con al menos un valor en cada lista de parámetros |
ImageCriterion |
AND |
La AMI debe coincidir con todos los parámetros en cada ImageCriterion |
ImageCriteria |
OR |
La AMI debe coincidir con cualquiera de los ImageCriterion |
Utilicemos las reglas de evaluación anteriores para ver cómo aplicarlas a Ejemplo de ImageCriteria:
-
ImageCriterion1: permite las AMI que tienen el código de productoabcdefg1234567890de AWS MarketplaceOR -
ImageCriterion2: permite las AMI que cumplen estos dos criterios:-
Propiedad de cualquiera de las cuentas
123456789012OR123456789013-
AND
-
-
Creada en los últimos 300 días
OR -
-
ImageCriterion3: permite las AMI que cumplen estos dos criterios:-
Propiedad de la cuenta
123456789014-
AND
-
-
Nombrada con el patrón
golden-ami-*
OR -
-
ImageCriterion4: permite las AMI que cumplen estos dos criterios:-
Publicada por Amazon o proveedores verificados (especificados por el alias
amazon)-
AND
-
-
No está en desuso (el número máximo de días transcurridos desde la obsolescencia es
0)
-
Límites
El ImageCriteria puede incluir hasta:
-
10
ImageCriterion
Cada ImageCriterion puede incluir hasta:
-
200 valores para
ImageProviders -
50 valores para
ImageNames -
50 valores para
MarketplaceProductCodes
Ejemplo de límites
Si utilizamos el Ejemplo de ImageCriteria anterior:
-
Hay 4
ImageCriterion. Se pueden agregar hasta 6 más a la solicitud para alcanzar el límite de 10. -
En el primer
ImageCriterion, hay 1 valor paraMarketplaceProductCodes. Se pueden agregar hasta 49 más a esteImageCriterionpara alcanzar el límite de 50. -
En el segundo
ImageCriterion, hay 2 valores paraImageProviders. Se pueden agregar hasta 198 más a esteImageCriterionpara alcanzar el límite de 200. -
En el tercer
ImageCriterion, hay 1 valor paraImageNames. Se pueden agregar hasta 49 más a esteImageCriterionpara alcanzar el límite de 50.
Operaciones de AMI permitidas
La característica de AMI permitidas tiene tres estados operativos para administrar los criterios de imágenes: habilitada, desactivada y modo auditoría. Con estos es posible habilitar o desactivar los criterios de imágenes, así como revisarlos según sea necesario.
Habilitado
Cuando AMI permitidas se encuentra habilitada:
-
Se aplican los
ImageCriteria. -
Solo se pueden detectar AMI permitidas en la consola de EC2 y por las API que utilizan imágenes (por ejemplo, que describen, copian, almacenan o realizan otras acciones que utilizan imágenes).
-
Las instancias solo se pueden lanzar con las AMI permitidas.
Deshabilitado
Cuando AMI permitidas se encuentra desactivada:
-
No se aplican los
ImageCriteria. -
No se imponen restricciones a la capacidad de detección o uso de las AMI.
Modo de auditoría
En el modo de auditoría:
-
Los
ImageCriteriase aplican, pero no se imponen restricciones a la capacidad de detección o uso de las AMI. -
En la consola de EC2, para cada AMI, el campo Imagen permitida muestra Sí o No para indicar si la AMI se podrá detectar y estará disponible para los usuarios de la cuenta cuando la característica AMI permitidas esté habilitada.
-
En la línea de comandos, la respuesta a la operación
describe-imageincluye"ImageAllowed": trueo"ImageAllowed": falsepara indicar si la AMI podrá ser detectada y estará disponible para los usuarios de la cuenta cuando si la característica AMI permitidas está habilitada. -
En la consola de EC2, el catálogo de AMI muestra No permitida junto a las AMI que no podrán detectar los usuarios de la cuenta y no estarán disponibles para ellos cuando la característica AMI permitidas esté habilitada.
Prácticas recomendadas para implementar la característica AMI permitidas
Al implementar AMI permitidas, tenga en cuenta estas prácticas recomendadas para garantizar una transición fluida y minimizar las posibles interrupciones en el entorno de AWS.
-
Cómo habilitar el modo de auditoría
Comience por habilitar la característica AMI permitidas en el modo de auditoría. Este estado permite ver qué AMI se verían afectadas por los criterios sin restringir realmente el acceso, lo que proporciona un período de evaluación sin riesgos.
-
Establezca los criterios de AMI permitidas
Establezca cuidadosamente qué proveedores de AMI se alinean con las políticas de seguridad, los requisitos de cumplimiento y las necesidades operativas de la organización.
nota
Cuando utilice servicios administrados de AWS como Amazon ECS o Amazon EKS, le recomendamos que especifique el alias
amazonpara permitir las AMI creadas por AWS. Estos servicios dependen de las AMI publicadas por Amazon para ejecutar instancias.Tenga cuidado cuando establezca restricciones de
CreationDateConditionpara cualquier AMI. Establecer condiciones de fecha demasiado restrictivas (por ejemplo, las AMI deben tener menos de 5 días de antigüedad) puede provocar errores en la ejecución de las instancias si las AMI, ya sean de AWS o de otros proveedores, no se actualizan en el plazo especificado.Recomendamos combinar
ImageNamesconImageProviderspara mejorar el control y la especificidad. Es posible que el uso deImageNamespor sí solo no identifique exclusivamente una AMI. -
Compruebe el impacto en los procesos empresariales esperados
Puede usar la consola o la CLI para identificar cualquier instancia que se haya lanzado con AMI que no cumplan los criterios especificados. Esta información puede fundamentar su decisión para determinar si actualizar las configuraciones de lanzamiento para usar AMI compatibles (por ejemplo, especificar una AMI diferente en una plantilla de lanzamiento) o ajustar los criterios para permitir estas AMI.
Consola: utilice la regla de AWS Config ec2-instance-launched-with-allowed-ami para comprobar si las instancias en ejecución o detenidas se lanzaron con AMI que cumplen los criterios de las AMI permitidas. La regla es NON_COMPLIANT si una AMI no cumple los criterios de las AMI permitidas y COMPLIANT si los cumple. La regla solo funciona cuando la configuración de las AMI permitidas está establecida en habilitada o en modo de auditoría.
CLI: ejecute el comando describe-instance-image-metadata y filtre la respuesta para identificar cualquier instancia que se haya lanzado con AMI que no cumplan los criterios especificados.
Para obtener instrucciones sobre la consola y la CLI, consulte Búsqueda de instancias lanzadas desde AMI no permitidas.
-
Cómo habilitar AMI permitidas
Una vez que haya confirmado que los criterios no afectarán negativamente a los procesos empresariales esperados, habilite AMI permitidas.
-
Supervise los lanzamientos de instancias
Continue con la supervisión de los lanzamientos de instancias desde AMI en las aplicaciones y los servicios administrados por AWS que utilice, como Amazon EMR, Amazon ECR, Amazon EKS y AWS Elastic Beanstalk. Compruebe si hay algún problema inesperado y realice los ajustes necesarios en los criterios de la característica AMI permitidas.
-
Prueba piloto de AMI nuevas
Para probar las AMI de terceros que no cumplan con la configuración actual de las AMI permitidas, AWS sugiere los siguientes métodos:
-
Utilice una Cuenta de AWS distinta: cree una cuenta que no tenga acceso a los recursos fundamentales para la empresa. Asegúrese de que la configuración de las AMI permitidas no esté habilitada en esta cuenta o de que las AMI que desee probar estén permitidas de forma explícita para poder probarlas.
-
Realice la prueba en otra Región de AWS: utilice una región en la que estén disponibles las AMI de terceros, pero en la que aún no haya habilitado la configuración de las AMI permitidas.
Estos métodos ayudan a garantizar la seguridad de los recursos fundamentales para la empresa mientras se prueban las nuevas AMI.
-
Permisos de IAM necesarios
Para utilizar la característica AMI permitidas, necesitará los siguientes permisos de IAM:
-
GetAllowedImagesSettings -
EnableAllowedImagesSettings -
DisableAllowedImagesSettings -
ReplaceImageCriteriaInAllowedImagesSettings