Replies: 2 comments 1 reply
-
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
O problema que você está enfrentando ocorre devido às permissões específicas necessárias para o evento workflow_dispatch, que é usado para disparar workflows em um repositório diferente. Quando o evento workflow_dispatch é acionado via repository-dispatch (como no seu caso, com a ação peter-evans/repository-dispatch), o token de acesso granular precisa da permissão contents:write porque o GitHub trata esse evento como uma ação que pode envolver alterações no conteúdo do repositório. Embora disparar um workflow seja uma operação de leitura, o GitHub exige contents:write para garantir que a API consiga disparar o workflow e interagir com ele de forma completa. Essa exigência pode parecer contra-intuitiva, já que disparar workflows geralmente não envolve modificar o conteúdo do repositório. No entanto, o GitHub usa contents:write como uma permissão mais ampla para invocar workflows via API, mesmo que o workflow em si não modifique diretamente o conteúdo. Isso garante que o token tenha permissões suficientes para lidar tanto com o disparo do workflow quanto com qualquer ação relacionada ao conteúdo dentro dos workflows. Infelizmente, isso representa um trade-off entre segurança (o princípio de menor privilégio) e funcionalidade. O GitHub poderia refinar esse escopo de permissões, mas por enquanto, a permissão contents:write é necessária para disparar workflows via workflow_dispatch. Se você está buscando uma abordagem mais restrita, pode ser necessário explorar alternativas, como usar escopos mais limitados dentro dos próprios workflows (por exemplo, restringir ações dentro do workflow disparado) para manter um equilíbrio entre segurança e funcionalidade. |
Beta Was this translation helpful? Give feedback.
-
Select Topic Area
Product Feedback
Body
We have a configuration where a microservice's repo builds an image, then triggers a deployment via
workflow_dispatch
in our GitOps repo. As the defaultGITHUB_TOKEN
can't be used to access other repos in our org (which would be a nice feature, given/settings/actions > Access
implies this ability), we instead use a distinct Org-owned fine-grained Access Token, which we pass topeter-evans/repository-dispatch@v3
.The concern is that this token is required to have
contents:write
permissions. Read-only is not sufficient, nor isactions:write
. This is a violation of the least-privilege security principle.Without
contents:write
, the user encountersError: Resource not accessible by personal access token
.Beta Was this translation helpful? Give feedback.
All reactions