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.
Preparación para utilizar el Catálogo de paquetes de software
La siguiente sección proporciona una descripción general del ciclo de vida de la versión del paquete e información para usar AWS IoT Device Management Software Package Catalog.
Ciclo de vida de la versión de paquete
La versión de un paquete puede evolucionar a través de los siguientes estados del ciclo de vida: draft
, published
ydeprecated
. También puede ser deleted
.
Borrador
Al crear una versión de paquete, se encuentra en un
draft
estado. Este estado indica que el paquete de software se está preparando o está incompleto.Mientras la versión del paquete esté en este estado, no podrá desplegarla. Puede editar la descripción, los atributos y las etiquetas de la versión del paquete.
Puedes hacer la transición de una versión de paquete que se encuentre en ese
draft
estadopublished
o estédeleted
utilizando la consola o ejecutando DeletePackageVersionAPIlas operaciones UpdatePackageVersiono.Publicado
Cuando la versión del paquete esté lista para su implementación, pase la versión del paquete a un
published
estado. Mientras se encuentre en este estado, puede elegir identificar la versión del paquete como la versión predeterminada editando el paquete de software en la consola o mediante la UpdatePackageAPIoperación. En este estado, solo puede editar la descripción y las etiquetas.Puede realizar la transición de una versión de paquete que se encuentre
deprecated
en elpublished
estado actualdeleted
mediante la consola o mediante DeletePackageVersionAPIlas operaciones UpdatePackageVersiono.Obsoleto
Si hay disponible una nueva versión del paquete, puede realizar la transición a una versión anterior del paquete a
deprecated
. Aún puedes implementar trabajos con una versión de paquete obsoleta. También puede nombrar una versión de paquete obsoleta como versión predeterminada y editar solo la descripción y las etiquetas.Considere la posibilidad de hacer la transición de una versión de paquete a
deprecated
una versión que esté desactualizada, pero aún tenga dispositivos en el campo que usen la versión anterior o necesiten mantenerla debido a la dependencia del tiempo de ejecución.Puedes realizar la transición de una versión de paquete que esté
deleted
en esedeprecated
estadopublished
o a través de la consola o ejecutando las operaciones UpdatePackageVersiono DeletePackageVersionAPI.Eliminado
Si ya no desea utilizar una versión de paquete, puede eliminarla mediante la consola o ejecutar la DeletePackageVersionAPIoperación.
nota
Si elimina una versión de paquete mientras hay trabajos pendientes que hacen referencia a ella, recibirá un mensaje de error cuando el trabajo finalice con éxito e intente actualizar la sombra con nombre reservado.
Si la versión del paquete de software que desea eliminar aparece como la versión del paquete por defecto, primero debe actualizar el paquete para nombrar otra versión como predeterminada o dejar el campo sin nombre. Puede hacerlo mediante la consola o la UpdatePackageVersionAPIoperación. (Para eliminar cualquier versión de paquete con nombre predeterminado, defina el unsetDefaultVersionparámetro en true cuando ejecute la UpdatePackageAPIoperación).
Si elimina un paquete de software a través de la consola, se eliminan todas las versiones del paquete asociadas a ese paquete, a menos que una de ellas se nombre como versión por defecto.
Convenciones de nomenclatura de versiones de paquetes
Al asignar nombres a las versiones de los paquetes, es importante planificar y aplicar una estrategia de nomenclatura lógica para que usted y los demás puedan identificar fácilmente la última versión del paquete y su progresión. Debe proporcionar un nombre de versión al crear la versión del paquete, pero la estrategia y el formato dependen en gran medida de su modelo de negocio.
Como práctica recomendada, se recomienda utilizar el formato de control de versiones SemVer1.2.3
donde 1
es la versión principal para los cambios funcionalmente incompatibles, 2
la versión principal para los cambios compatibles desde el punto de vista funcional y 3
la versión de parche (para las correcciones de errores) Para obtener más información, consulte Semantic Versioning 2.0.0
Versión predeterminada
Establecer una versión como predeterminada es opcional. Puede agregar o eliminar versiones de paquete predeterminadas. También puede implementar una versión de paquete que no figure como la versión predeterminada.
Al crear una versión de paquete, se coloca en un estado draft
y no se le puede asignar el nombre de versión predeterminada hasta que se haga la transición de la versión del paquete a publicada. El catálogo de paquetes de software no selecciona automáticamente una versión como predeterminada ni actualiza una versión de paquete más reciente como predeterminada. Debe asignar intencionadamente un nombre a la versión del paquete que elija a través de la consola o ejecutando la UpdatePackageVersionAPIoperación.
Atributos de la versión
Los atributos de versión y sus valores contienen información importante sobre las versiones de los paquetes. Se recomienda definir los atributos de uso general para un paquete o una versión del paquete. Por ejemplo, puede crear un par nombre-valor para la plataforma, la arquitectura, el sistema operativo, la fecha de lanzamiento, el autor o Amazon S3. URL
Al crear un AWS IoT trabajo con un documento de trabajo, también puede optar por utilizar una variable de sustitución ($parameter
) que haga referencia al valor de un atributo. Para obtener más información, consulte Preparación AWS IoT de trabajos.
Los atributos de versión que se utilizan en las versiones de paquetes no se añadirán automáticamente a la sombra reservada denominada y no se podrán indexar ni consultar directamente a través de la indexación de flotas. Para indexar o consultar los atributos de la versión del paquete mediante la indexación de flotas, puede rellenar el atributo de la versión en la sombra reservada con nombre.
Se recomienda que el parámetro del atributo de versión de la reserva se llame Shadow Capture las propiedades informadas por el dispositivo, como el sistema operativo y el tiempo de instalación. También se pueden indexar y consultar mediante la indexación de flotas.
No es necesario que los atributos de la versión sigan una convención de nomenclatura específica. Puede crear pares de nombre-valor para satisfacer las necesidades de su empresa. El tamaño combinado de todos los atributos de una versión de paquete está limitado a 3 KB. Para obtener más información, consulte Límites de paquetes de software y versiones de paquetes del Catálogo de paquetes de software.
Utilizar todos los atributos de un documento de trabajo
Puede hacer que todos los atributos de la versión del paquete se agreguen automáticamente a la implementación de su trabajo para los dispositivos seleccionados. Para utilizar automáticamente todos los atributos de la versión del paquete mediante programación en un CLI comando API o, consulte el siguiente ejemplo de documento de trabajo:
"
TestPackage
": "${aws:iot:package:TestPackage
:version:PackageVersion
:attributes}"
Lista de materiales del software
La lista de materiales del software (SBOM) proporciona un repositorio central para todos los aspectos de su paquete de software. Además de almacenar los paquetes de software y las versiones de los paquetes, puede almacenar la lista de materiales del software (SBOM) asociada a cada versión del paquete en AWS IoT Device Management Software Package Catalog. Un paquete de software contiene una o más versiones de paquetes y cada versión del paquete consta de uno o más componentes. Cada uno de esos componentes que sirven de base a la composición de una versión de paquete específica se puede describir y catalogar mediante una lista de materiales de software. Los estándares del sector para la lista de materiales de software compatibles son SPDX CyclonedX. Cuando se crea por primera vez, SBOM se valida con el formato estándar del sector SPDX y con el formato CyclonedX. Para obtener más información sobreSPDX, consulte System Package Data Exchange
La lista de materiales del software describe todos los aspectos de los componentes de una versión de paquete específica, como la información del paquete, la información del archivo y otros metadatos pertinentes. Consulte el siguiente ejemplo de la estructura de un documento de una lista de materiales de software en este SPDX formato:
Beneficios de la lista de materiales del software
Una de las principales ventajas de añadir la lista de materiales de software para una versión de paquete en Software Package Catalog es la gestión de vulnerabilidades.
Gestión de vulnerabilidades
Evaluar y mitigar la vulnerabilidad ante los aparentes riesgos de seguridad de los componentes de software sigue siendo fundamental para proteger la integridad de su flota de dispositivos. Con la adición de la lista de materiales de software almacenada en el Catálogo de Paquetes de Software para cada versión del paquete, puede exponer de forma proactiva las brechas de seguridad al saber qué dispositivos están en riesgo en función de la versión del paquete y SBOM utilizar su propia solución interna de gestión de vulnerabilidades. Puede implementar soluciones en los dispositivos afectados y proteger su flota de dispositivos.
Almacenamiento de la lista de materiales del software
La lista de materiales del software (SBOM) de cada versión del paquete de software se almacena en un bucket de Amazon S3 mediante la función de control de versiones de Amazon S3. El bucket de Amazon S3 que almacena el SBOM debe estar ubicado en la misma región en la que se creó la versión del paquete. Un bucket de Amazon S3 que utilice la función de control de versiones mantiene varias variantes de un objeto en el mismo bucket. Para obtener más información sobre el uso del control de versiones en un bucket de Amazon S3, consulte Uso del control de versiones en buckets de Amazon S3.
nota
Cada versión del paquete de software solo tiene un SBOM archivo almacenado como archivo zip.
La clave de Amazon S3 y el ID de versión específicos de su bucket se utilizan para identificar de forma exclusiva cada versión de una lista de materiales de software para una versión de paquete.
nota
Para una versión de paquete con un solo SBOM archivo, puede almacenar ese SBOM archivo en su bucket de Amazon S3 como un archivo zip.
Para una versión de paquete con varios SBOM archivos, debe colocar todos los SBOM archivos en un único archivo zip y, a continuación, almacenar ese archivo zip en su bucket de Amazon S3.
En ambos casos, todos los SBOM archivos almacenados en un único archivo zip tienen el formato de archivos.json SPDX o de CyclonedX.
Política de permisos
Para poder AWS IoT actuar como el principal especificado para acceder a los archivos SBOM zip almacenados en el bucket de Amazon S3, necesita una política de permisos basada en los recursos. Consulte el siguiente ejemplo para ver la política de permisos basada en los recursos correcta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iot.amazonaws.com" ] }, "Action": "s3:*", "Resource": "arn:aws:s3:::bucketName/*" } ] }
Para obtener más información sobre las políticas de permisos basadas en recursos, consulte Políticas de AWS IoT basadas en recursos
Actualización del SBOM
Puede actualizar la lista de materiales del software tantas veces como sea necesario para proteger y mejorar su flota de dispositivos. Cada vez que se actualiza la lista de materiales del software en su bucket de Amazon S3, el identificador de la versión cambia, Software Package Catalog recibe una notificación de la actualización y usted debe asociar el nuevo bucket URL de Amazon S3 a la versión del paquete correspondiente. Verá el nuevo ID de versión en la columna Amazon S3 Object version ID de la página de la versión del paquete en AWS Management Console. Además, puede utilizar la API operación GetPackageVersion
o el CLI comando get-package-version
para ver el ID de la nueva versión.
nota
La actualización de la lista de materiales del software, que generará un nuevo identificador de versión, no provocará la creación de una nueva versión del paquete.
Para obtener más información sobre las claves de objeto de Amazon S3, consulte Creación de nombres de claves de objetos.
Habilitar la indexación de AWS IoT flotas
Para aprovechar la indexación de AWS IoT flotas con Software Package Catalog, establezca el nombre reservado shadow ($package
) como fuente de datos para cada dispositivo en el que desee indexar y recopile métricas. Para obtener más información sobre las sombras con nombre reservadas, consulteSombra con nombre reservado.
La indexación de flotas proporciona un soporte que permite agrupar AWS IoT las cosas mediante grupos de cosas dinámicos que se filtran por versión de paquete de software. Por ejemplo, la indexación de flotas puede identificar elementos que tienen o no una versión de paquete específica instalada, que no tienen ninguna versión de paquete instalada o que coinciden con pares de nombre y valor específicos. Por último, la indexación de flotas proporciona métricas estándar y personalizadas que puede utilizar para obtener información sobre el estado de su flota de dispositivos. Para obtener más información, consulte Preparación para la indexación de flotas.
nota
Habilitar la indexación de flotas para el Catálogo de Paquetes de Software incurre en costes de servicio estándar. Para obtener más información, consulte Precios de AWS IoT Device Management
Sombra con nombre reservado
El nombre reservado shadow, $package
, refleja el estado de los paquetes de software y las versiones de los paquetes instalados en el dispositivo. La indexación de flotas utiliza la sombra con nombre reservado como origen de datos para crear métricas estándar y personalizadas que le permitan consultar el estado de su flota. Para más información, consulte Preparación de la indexación de flotas.
Una sombra con nombre reservado es similar a una sombra con nombre, con la excepción de que su nombre está predefinido y no se puede cambiar. Además, la sombra reservada con nombre asignado no se actualiza con los metadatos y solo usa las palabras clave version
y attributes
.
Las solicitudes de actualización que incluyan otras palabras clave, por ejemplo description
, recibirán una respuesta de error en relación con el tema rejected
. Para más información, consulte Mensajes de error de Device Shadow.
Se puede crear cuando creas AWS IoT algo a través de la consola, cuando un AWS IoT trabajo se completa correctamente y actualiza la sombra y si ejecutas la UpdateThingShadow
APIoperación. Para obtener más información, consulta UpdateThingShadowla guía para AWS IoT Core desarrolladores.
nota
La indexación de la sombra con nombre reservada no cuenta para el número de sombras con nombre que la indexación de flotas puede indexar. Para más información, consulte Límites y cuotas de indexación de flotas AWS IoT Device Management. Además, si decides que AWS IoT Jobs actualice el nombre reservado Shadow cuando un trabajo se complete correctamente, la API llamada se tendrá en cuenta para tus operaciones de Device Shadow y registro, y puede tener un coste. Para obtener más información, consulta los límites y cuotas de los AWS IoT Device Management trabajos y el tipo IndexingFilterAPIde datos.
Estructura de la sombra $package
La sombra reservada con el nombre contiene lo siguiente:
{
"state": {
"reported": {
"<packageName>
": {
"version": "",
"attributes": {
}
}
}
},
"version" : 1
"timestamp" : 1672531201
}
Las propiedades de la sombra se actualizan con la siguiente información:
-
<packageName>
: el nombre del paquete de software instalado, que se actualiza con el packageNameparámetro. -
version
: el nombre de la versión del paquete instalado, que se actualiza con el versionNameparámetro. -
attributes
: metadatos opcionales almacenados por el dispositivo e indexados mediante la indexación de flotas. Esto permite a los clientes consultar sus índices en función de los datos almacenados. -
version
: El número de versión de la sombra. Se incrementa automáticamente cada vez que se actualiza la sombra y comienza en1
. -
timestamp
: Indica cuándo se actualizó por última vez la sombra y se registra en tiempo Unix.
Para obtener más información sobre el formato y el comportamiento de una sombra con nombre, consulte Orden de los mensajes Servicio de sombra de dispositivo de AWS IoT.
Eliminar un paquete de software y sus versiones
Antes de eliminar un paquete de software, haga lo siguiente:
Confirme que el paquete y sus versiones no se estén implementando activamente.
Elimine primero todas las versiones asociadas. Si una de las versiones está designada como la versión predeterminada, debe eliminar la versión predeterminada nombrada del paquete. Como la designación de una versión predeterminada es opcional, no hay ningún conflicto al eliminarla. Para eliminar la versión predeterminada del paquete de software, edite el paquete a través de la consola o utilice la UpdatePackageVersionAPIoperación.
Mientras no haya una versión de paquete predeterminada con nombre, puede usar la consola para eliminar un paquete de software y también se eliminarán todas sus versiones del paquete. Si utiliza una API llamada para eliminar paquetes de software, primero debe eliminar las versiones del paquete y, a continuación, el paquete de software.