Neste documento, descrevemos as permissões do IAM necessárias para visualizar os insights de segurança do Software Delivery Shield. O Software Delivery Shield é uma solução totalmente gerenciada de segurança da cadeia de suprimentos de software no Google Cloud.
Funções exigidas
Para conferir os insights do Software Delivery Shield no console do Google Cloud, é necessário ter os papéis a seguir ou um com permissões equivalentes:
- Leitor do Cloud Build
(
roles/cloudbuild.builds.viewer
): ver insights de um build. - Leitor de ocorrências do Artifact Analysis
(
roles/containeranalysis.occurrences.viewer
): visualização de vulnerabilidades, procedência de build e outras informações de dependência. - Leitor do Cloud Run (
roles/run.viewer
): veja os insights de uma revisão do Cloud Run. - Leitor de cluster do Kubernetes Engine (
roles/container.clusterViewer
): visualize insights de um cluster do GKE.
Com essas permissões, você tem acesso a insights, mas não para executar outras ações, como executar builds no Cloud Build.
- Para detalhes sobre as permissões necessárias para um serviço específico, consulte a documentação desse serviço.
- Para saber mais sobre como conceder permissões, consulte a documentação do Identity and Access Management sobre como conceder permissões a projetos.
Por padrão, muitos serviços têm permissões padrão para outros serviços no mesmo projeto, mas não podem acessar recursos em outro projeto. Se você estiver executando serviços em diferentes projetos do Google Cloud ou usando papéis ou contas de serviço personalizadas, conceda você mesmo as permissões apropriadas.
Como conceder permissões quando os serviços estão no mesmo projeto
Se o Cloud Build, o Artifact Registry, o Artifact Analysis e o Cloud Run estiverem em execução no mesmo projeto, cada serviço usará a conta de serviço padrão para agir em nome do serviço, e as permissões padrão não serão alteradas. Os serviços podem funcionar juntos sem alterações nas permissões, mas você precisa conceder permissões aos usuários que precisam ver insights no projeto.
- Permissões entre serviços
Nenhuma mudança é necessária:
- A conta de serviço padrão do Cloud Build tem permissões para fazer upload e download com o Artifact Registry e ler dados de insights do Artifact Analysis para que o serviço possa assinar imagens de contêiner com procedência do build e enviá-las ao Artifact Registry.
- As revisões do Cloud Run usam a conta de serviço padrão do Compute Engine para implantações, que tem permissões para fazer o download de imagens do Artifact Registry e ler dados de insights do Artifact Analysis.
- Permissões do usuário para ver insights
Você precisa conceder aos usuários do Cloud Build e do Cloud Run os papéis necessários para visualizar os insights.
Como conceder permissões quando os serviços estão em projetos diferentes
Quando o Artifact Registry e o Artifact Analysis estiverem em execução em um projeto separado de outros serviços do Google Cloud, será necessário conceder permissões explicitamente para toda a atividade entre projetos. Considere a seguinte configuração do projeto:
- O Cloud Build é executado no projeto A
- O Artifact Registry e o Artifact Analysis foram executados no projeto B
- O Cloud Run é executado no projeto C
- Permissões entre serviços
O Cloud Build e o Cloud Run não acessam recursos em outros projetos sem conceder explicitamente o acesso às contas de serviço que atuam em nome desses serviços. Você precisa conceder as permissões do Artifact Registry e do Artifact Analysis adequadas no projeto B em que os artefatos e metadados do artefato são armazenados.
Para o Cloud Build, você precisa conceder estes papéis no projeto B:
- O gravador do Artifact Registry (
roles/artifactregistry.writer
) concede permissões para upload e download. - O Leitor de ocorrências do Artifact Analysis
(
roles/containeranalysis.occurrences.viewer
) concede permissões para exibir insights.
- O gravador do Artifact Registry (
Para o Cloud Run, conceda estes papéis no projeto B:
- O leitor do Artifact Registry (
roles/artifactregistry.reader
) concede permissões de download para implantações. - O Leitor de ocorrências do Artifact Analysis
(
roles/containeranalysis.occurrences.viewer
) concede permissões para exibir insights.
- O leitor do Artifact Registry (
- Permissões do usuário para ver insights
No projeto B, você precisa conceder aos usuários do Cloud Build e do Cloud Run os papéis necessários para visualizar os insights.
A seguir
- Saiba mais sobre os serviços do Software Delivery Shield na visão geral
- Saiba mais sobre as práticas de segurança da cadeia de suprimentos de software e como o Software Delivery Shield pode ajudar você a implementá-las.