GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale

di Matteo Tumiati, in DevOps,

Gestire una organizzazione aziendale è complesso, anche se si tratta di averla all'interno di GitHub. Sono molte, infatti, le policy e le impostazioni varie che possono essere applicate a utenti, gruppi, repository, runner e così via: proprio per questo motivo, è difficile tenere traccia di tutto e la tanto osannata documentazione, ahimè, non sempre scala a sufficienza.

Microsoft ha rilasciato un tool, ghqr (GitHub Quick Review), che ci viene incontro e permette di fare una scansione di tutte le nostre impostazioni e confrontarle con le best-practice di GitHub, proprio per vedere se ci stiamo perdendo qualcosa o se ci sono alcuni setting che dovremo impostare e di cui non siamo a conoscenza.

Il processo di installazione è molto semplice e si compone di una sola riga di codice:

Altrettanto semplice è l'avvio del processo di scansione, che di fatto varia in base a cosa dobbiamo controllare e richiede solo il token di autenticazione verso la nostra istanza di GitHub:

# 1. Set your GitHub token
export GITHUB_TOKEN=<your-personal-access-token>

# 2. Scan an organization
ghqr scan -o my-org

# 3. Scan a GitHub Enterprise (Cloud)
ghqr scan -e my-enterprise

# 4. Scan a GitHub Enterprise Server (GHES) instance
export GH_TOKEN=<your-ghes-personal-access-token>
ghqr scan --ghes ghes.example.com

Attenzione soltanto che se stiamo facendo uso di GitHub Enterprise Cloud con la Data Residency (perché vogliamo avere i dati in Europa, per esempio), allora l'endpoint sarà leggermente differente (es. mycompany.ghe.com).

L'output della scansione sarà un file JSON che conterrà informazioni relative a:

  • Security (Org, Repo): Dependabot alerts, secret scanning, code scanning, GitHub Advanced Security (GHAS)
  • Access Control (Org, Repo): 2FA enforcement, member privileges, SAML SSO, CODEOWNERS
  • Branch Protection (Repo): Required reviews, status checks, admin enforcement
  • Copilot (Org): numero di licenze, content exclusions, policy configuration, settings server MCP
  • Governance (Org): IP allow lists, repository creation policies, fork policies
  • Audit Log (Enterprise, Org): Audit log streaming, suspicious event detection
  • Community (Repo): Contributing guide, issue templates, code of conduct
  • Actions (Org, Repo): Workflow permissions, allowed actions, self-hosted runners
  • Dependencies (Repo): Dependabot version updates, security updates
  • Metadata (Repo): Descrizioni, topics, visibility, archival status

Commenti

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi