Sobre segredos
Os segredos permitem que você armazene informações confidenciais na sua organização, repositório ou em ambientes do repositório. Segredos são variáveis que você cria para usar em fluxos de trabalho do GitHub Actions em uma organização, repositório ou ambiente de repositório.
GitHub Actions só poderá ler um segredo se você incluí-lo explicitamente em um fluxo de trabalho.
Como os segredos funcionam
Os segredos usam caixas lacradas do Libsodium para que sejam criptografadas antes de chegar ao GitHub. Isso ocorre quando o segredo é enviado pela interface do usuário ou pela API REST. Esta criptografia do lado do cliente ajuda a minimizar os riscos relacionados ao registro acidental (por exemplo, registros de exceções e de solicitação, entre outros) dentro da infraestrutura do GitHub. Uma vez carregado o segredo, o GitHub poderá descriptografá-lo para que possa ser injetado no tempo de execução do fluxo de trabalho.
Segredos no nível da organização
Segredos no nível da organização permitem que você compartilhe segredos entre vários repositórios, o que reduz a necessidade de criar segredos duplicados. A atualização de um segredo de organização em um único local também garante que a alteração tenha efeito em todos os fluxos de trabalho do repositório que usam esse segredo.
Ao criar um segredo para uma organização, você poderá usar uma política para limitar o acesso por repositório. Por exemplo, você pode conceder acesso a todos os repositórios ou limitar o acesso a apenas repositórios privados ou a uma lista específica de repositórios.
Para segredos de ambiente, você pode habilitar os revisores necessários para controlar o acesso aos segredos. Um trabalho de fluxo de trabalho não pode acessar segredos de ambiente até que a aprovação seja concedida por aprovadores necessários.
Para disponibilizar um segredo para uma ação, você deve configurá-lo como uma entrada ou variável de ambiente no arquivo do fluxo de trabalho. Revise o arquivo README da ação para saber quais entradas e variáveis de ambientes a ação exige. Confira Sintaxe de fluxo de trabalho para o GitHub Actions.
Permissões limitadas de credenciais
Ao gerar credenciais, recomendamos que você conceda as permissões mínimas possíveis. Por exemplo, em vez de usar credenciais pessoais, use chaves de implantação ou uma conta de serviço. Considere conceder permissões somente leitura se isso o necessário e limite o acesso tanto quanto possível.
Ao gerar um personal access token (classic), selecione o menor número de escopos necessário. Ao gerar um fine-grained personal access token, selecione as permissões e o acesso ao repositório mínimos necessários.
Em vez de usar um personal access token, considere usar um GitHub App, que usa permissões refinadas e tokens de curta duração, similar a um fine-grained personal access token. Ao contrário de um personal access token, um GitHub App não está vinculado a um usuário, portanto, o fluxo de trabalho continuará funcionando mesmo que o usuário que instalou o aplicativo saia da organização. Para saber mais, confira Fazer solicitações de API autenticadas com um Aplicativo do GitHub em um fluxo de trabalho do GitHub Actions.
Segredos ocultados automaticamente
O GitHub Actions oculta automaticamente o conteúdo de todos os segredos do GitHub que são gravados nos logs dos fluxos de trabalho.
Além disso, o GitHub Actions oculta informações que são identificadas como confidenciais, mas que não estão armazenadas como um segredo. Para obter uma lista de segredos redigidos automaticamente, confira Referência de segredos.
Como há várias maneiras de transformar o valor de um segredo, essa anulação não é garantida. Além disso, o executor só pode editar segredos usados no trabalho atual. Como resultado, existem certas etapas proativas de segurança que você deve seguir para ajudar a garantir que os segredos sejam redigidos, e para limitar outros riscos associados aos segredos. Para obter uma lista de referência das práticas recomendadas de segurança com segredos, consulte Referência de segredos.