GCP - Artifact Registry Enum
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
O Google Cloud Artifact Registry é um serviço totalmente gerenciado que permite gerenciar, armazenar e proteger seus artefatos de software. É essencialmente um repositório para armazenar dependências de build, como imagens Docker, Maven, pacotes npm e outros tipos de artefatos. É comumente usado em pipelines de CI/CD para armazenar e versionar os artefatos produzidos durante o processo de desenvolvimento de software.
As principais características do Artifact Registry incluem:
Repositório Unificado: Suporta múltiplos tipos de artefatos, permitindo que você tenha um único repositório para imagens Docker, pacotes de linguagem (como Maven do Java, npm do Node.js) e outros tipos de artefatos, possibilitando controles de acesso consistentes e uma visão unificada de todos os seus artefatos.
Totalmente Gerenciado: Como um serviço gerenciado, cuida da infraestrutura subjacente, escalabilidade e segurança, reduzindo a sobrecarga de manutenção para os usuários.
Controle de Acesso Granular: Integra-se com o Gerenciamento de Identidade e Acesso (IAM) do Google Cloud, permitindo que você defina quem pode acessar, fazer upload ou baixar artefatos em seus repositórios.
Geo-replicação: Suporta a replicação de artefatos em várias regiões, melhorando a velocidade de downloads e garantindo disponibilidade.
Integração com Serviços do Google Cloud: Funciona perfeitamente com outros serviços do GCP, como Cloud Build, Kubernetes Engine e Compute Engine, tornando-se uma escolha conveniente para equipes que já trabalham dentro do ecossistema do Google Cloud.
Segurança: Oferece recursos como análise de vulnerabilidades e análise de contêineres para ajudar a garantir que os artefatos armazenados sejam seguros e livres de problemas de segurança conhecidos.
Ao criar um novo repositório, é possível selecionar o formato/tipo do repositório entre vários como Docker, Maven, npm, Python... e o modo que geralmente pode ser um destes três:
Repositório Padrão: Modo padrão para armazenar seus próprios artefatos (como imagens Docker, pacotes Maven) diretamente no GCP. É seguro, escalável e se integra bem dentro do ecossistema do Google Cloud.
Repositório Remoto (se disponível): Atua como um proxy para armazenar artefatos de repositórios externos, públicos. Ajuda a prevenir problemas de dependências que mudam a montante e reduz a latência ao armazenar em cache artefatos frequentemente acessados.
Repositório Virtual (se disponível): Fornece uma interface unificada para acessar múltiplos repositórios (padrão ou remoto) através de um único endpoint, simplificando a configuração do lado do cliente e o gerenciamento de acesso para artefatos espalhados por vários repositórios.
Para um repositório virtual, você precisará selecionar repositórios e dar a eles uma prioridade (o repositório com a maior prioridade será usado).
Você pode misturar repositórios remotos e padrão em um virtual, se a prioridade do remoto for maior que a padrão, pacotes do remoto (PyPi, por exemplo) serão usados. Isso pode levar a uma Confusão de Dependência.
Observe que na versão Remota do Docker é possível fornecer um nome de usuário e token para acessar o Docker Hub. O token é então armazenado no Secret Manager.
Como esperado, por padrão, uma chave gerenciada pelo Google é usada, mas uma chave gerenciada pelo cliente pode ser indicada (CMEK).
Excluir artefatos: Os artefatos serão excluídos de acordo com a política de limpeza.
Execução de teste: (Padrão) Os artefatos não serão excluídos. As políticas de limpeza serão avaliadas e eventos de teste de exclusão enviados para o Cloud Audit Logging.
É possível habilitar o scanner de vulnerabilidades que verificará vulnerabilidades dentro das imagens de contêiner.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)