{"meta":{"title":"Usando atestados de artefatos e fluxos de trabalho reutilizáveis para alcançar o SLSA v1 Build Level 3","intro":"A criação de software com fluxos de trabalho reutilizáveis e atestados de artefatos pode simplificar a segurança da sua cadeia de fornecedores e ajudar você a alcançar o SLSA v1.0 Build Level 3.","product":"GitHub Actions","breadcrumbs":[{"href":"/pt/actions","title":"GitHub Actions"},{"href":"/pt/actions/how-tos","title":"Instruções"},{"href":"/pt/actions/how-tos/secure-your-work","title":"Proteja seu trabalho"},{"href":"/pt/actions/how-tos/secure-your-work/use-artifact-attestations","title":"Usar atestados de artefatos"},{"href":"/pt/actions/how-tos/secure-your-work/use-artifact-attestations/increase-security-rating","title":"Aumentar a classificação de segurança"}],"documentType":"article"},"body":"# Usando atestados de artefatos e fluxos de trabalho reutilizáveis para alcançar o SLSA v1 Build Level 3\n\nA criação de software com fluxos de trabalho reutilizáveis e atestados de artefatos pode simplificar a segurança da sua cadeia de fornecedores e ajudar você a alcançar o SLSA v1.0 Build Level 3.\n\n## Pré-requisitos\n\nAntes de começar este guia, você deve ter familiaridade com:\n\n* Os benefícios de uso e segurança dos atestados de artefato. Confira [Atestados de artefatos](/pt/actions/concepts/security/artifact-attestations).\n* Gerando atestados de artefatos Confira [Usar atestados de artefatos para estabelecer a procedência de compilações](/pt/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).\n* Escrever e usar fluxos de trabalho reutilizáveis. Confira [Reutilizar fluxos de trabalho](/pt/actions/using-workflows/reusing-workflows).\n\n## Etapa 1: Configurando suas compilações\n\nPrimeiro, precisamos compilar com atestados de artefatos e um fluxo de trabalho reutilizável.\n\n### Construir com um fluxo de trabalho reutilizável\n\nSe você ainda não estiver usando fluxos de trabalho reutilizáveis para compilar seu software, precisará executar suas etapas de build e movê-las para um fluxo de trabalho reutilizável.\n\n### Compilar com atestados de artefatos.\n\nO fluxo de trabalho reutilizável que você usa para criar seu software também deve gerar atestados de artefato para estabelecer a procedência do build.\n\nQuando você usa um fluxo de trabalho reutilizável para gerar atestados de artefatos, o fluxo de trabalho de chamada e o fluxo de trabalho reutilizável precisam ter as permissões a seguir.\n\n```yaml copy\npermissions:\n  attestations: write\n  contents: read\n  id-token: write\n```\n\nSe você estiver compilando imagens de contêiner, também precisará incluir a permissão `packages: write`.\n\n## Etapa 2: Verificar atestados de artefato compilados com um fluxo de trabalho reutilizável\n\nPara verificar as certificações de artefatos geradas com suas compilações, você pode usar [`gh attestation verify`](https://cli.github.com/manual/gh_attestation_verify) a partir da CLI do GitHub.\n\nO comando `gh attestation verify` exige o uso de um sinalizador `--owner` ou `--repo`. Esses sinalizadores fazem duas coisas.\n\n* Eles informam a `gh attestation verify` o local em que o atestado deve ser buscado. Isso será sempre o seu fluxo de trabalho de chamador.\n* Eles informam a `gh attestation verify` o local de origem do fluxo de trabalho que fez a assinatura. Esse sempre será o fluxo de trabalho que usa a [ação`attest`](https://github.com/actions/attest), que pode ser um fluxo de trabalho reutilizável.\n\nVocê pode usar sinalizadores opcionais com o comando `gh attestation verify`.\n\n* Se o fluxo de trabalho reutilizável não estiver no mesmo repositório que o fluxo de trabalho do chamador, use o sinalizador `--signer-repo` para especificar o repositório que contém o fluxo de trabalho reutilizável.\n* Se você quiser exigir que um fluxo de trabalho específico assine um atestado de artefato, use o sinalizador `--signer-workflow` para indicar o arquivo de fluxo de trabalho que deve ser usado.\n\nPor exemplo, se o fluxo de trabalho de chamada for `ORGANIZATION_NAME/REPOSITORY_NAME/.github/workflows/calling.yml` e usar `REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml`, poderá fazer o seguinte:\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\nSe você quiser especificar o fluxo de trabalho exato:\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```"}