{"meta":{"title":"Uso de atestaciones de artefactos y flujos de trabajo reutilizables para lograr el nivel de compilación 3 de SLSA v1","intro":"La creación de software con flujos de trabajo reutilizables y atestaciones de artefactos puede simplificar la seguridad de la cadena de suministro y ayudarle a lograr el nivel de compilación 3 de SLSA v1.0.","product":"GitHub Actions","breadcrumbs":[{"href":"/es/actions","title":"GitHub Actions"},{"href":"/es/actions/how-tos","title":"Procedimientos"},{"href":"/es/actions/how-tos/secure-your-work","title":"Protege tu trabajo"},{"href":"/es/actions/how-tos/secure-your-work/use-artifact-attestations","title":"Uso de atestaciones de artefactos"},{"href":"/es/actions/how-tos/secure-your-work/use-artifact-attestations/increase-security-rating","title":"Aumento de la calificación de seguridad"}],"documentType":"article"},"body":"# Uso de atestaciones de artefactos y flujos de trabajo reutilizables para lograr el nivel de compilación 3 de SLSA v1\n\nLa creación de software con flujos de trabajo reutilizables y atestaciones de artefactos puede simplificar la seguridad de la cadena de suministro y ayudarle a lograr el nivel de compilación 3 de SLSA v1.0.\n\n## Requisitos previos\n\nAntes de iniciar esta guía, debe conocer lo siguiente:\n\n* Ventajas de uso y seguridad de las atestaciones de artefactos. Consulta [Atestaciones de artefactos](/es/actions/concepts/security/artifact-attestations).\n* Generación de atestaciones de artefactos. Consulta [Uso de atestaciones de artefactos para establecer la procedencia de las compilaciones](/es/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations).\n* Escritura y uso de flujos de trabajo reutilizables. Consulta [Reutilización de flujos de trabajo](/es/actions/how-tos/reuse-automations/reuse-workflows).\n\n## Paso 1: Configurar tus builds\n\nEn primer lugar, es necesario compilar con atestaciones de artefactos y un flujo de trabajo reutilizable.\n\n### Construcción con un flujo de trabajo reutilizable\n\nSi aún no usa flujos de trabajo reutilizables para compilar el software, deberá realizar los pasos de compilación y moverlos a un flujo de trabajo reutilizable.\n\n### Compilación con atestaciones de artefactos.\n\nEl flujo de trabajo reutilizable que se usa para compilar el software también debe generar atestaciones de artefactos para establecer la procedencia de la compilación.\n\nCuando se usa un flujo de trabajo reutilizable para generar atestaciones de artefactos, tanto el flujo de trabajo que realiza la llamada como el flujo de trabajo reutilizable deben tener los permisos siguientes.\n\n```yaml copy\npermissions:\n  attestations: write\n  contents: read\n  id-token: write\n```\n\nSi va a compilar imágenes de contenedor, también deberá incluir el permiso `packages: write`.\n\n## Paso 2: Comprobación de las atestaciones de artefacto creadas con un flujo de trabajo reutilizable\n\nPara comprobar las atestaciones de artefacto generadas con las compilaciones, puede usar [`gh attestation verify`](https://cli.github.com/manual/gh_attestation_verify) desde la CLI de GitHub.\n\nEl comando `gh attestation verify` requiere que se usen marcas `--owner` o `--repo` con él. Estas banderas hacen dos cosas.\n\n* Indican a `gh attestation verify` dónde obtener la atestación. Siempre será el flujo de trabajo del autor de llamada.\n* Indican a `gh attestation verify` de dónde procede el flujo de trabajo que realizó la firma. Siempre será el flujo de trabajo que usa la [`attest` acción](https://github.com/actions/attest), que puede ser un flujo de trabajo reutilizable.\n\nPuede usar marcas opcionales con el comando `gh attestation verify`.\n\n* Si el flujo de trabajo reutilizable no está en el mismo repositorio que el flujo de trabajo del autor de llamada, use la marca `--signer-repo` para especificar el repositorio que contiene el flujo de trabajo reutilizable.\n* Si desea requerir que se firme una atestación de artefacto con un flujo de trabajo específico, use la marca `--signer-workflow` para indicar el archivo de flujo de trabajo que se debe usar.\n\nPor ejemplo, si el flujo de trabajo de llamada es `ORGANIZATION_NAME/REPOSITORY_NAME/.github/workflows/calling.yml` y usa `REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml`, puede hacer lo siguiente:\n\n```bash copy\ngh attestation verify -o ORGANIZATION_NAME --signer-repo REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME PATH/TO/YOUR/BUILD/ARTIFACT-BINARY\n```\n\nO bien, si desea especificar el flujo de trabajo exacto:\n\n```bash copy\ngh attestation verify -o ORGANIZATION_NAME --signer-workflow REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml PATH/TO/YOUR/BUILD/ARTIFACT-BINARY\n```"}