Coleta automatizada das evidências
Um pipeline agendado lê as APIs abaixo, grava um snapshot JSON por auditoria e calcula os níveis; o snapshot é a evidência reproduzível.
| Evidência | Fonte (REST, base dev.azure.com/{org} salvo indicação) | Indicadores |
|---|---|---|
| Projetos, processo | _apis/projects, _apis/work/processes | D1.2, D1.3 |
| Iterations por time | {project}/{team}/_apis/work/teamsettings/iterations | D1.5 |
| Repositórios e atividade | {project}/_apis/git/repositories, .../commits | População, D2.5 |
| Branch policies | {project}/_apis/policy/configurations | D2.1 |
| Pull requests e work items | {project}/_apis/git/pullrequests, .../pullRequests/{id}/workitems | D2.3, D2.4 |
| Definições de pipeline | {project}/_apis/build/definitions (process.type: 1 classic, 2 YAML) + YAML no repo | D3.1, D3.2, D3.5 |
| Release classic | vsrm.dev.azure.com/{org}/{project}/_apis/release/definitions | D3.2 |
| Runs e duração | {project}/_apis/pipelines/{id}/runs, _apis/build/builds | D2.6, D3.6 |
| Checks de recursos protegidos | {project}/_apis/pipelines/checks/configurations | D3.1, D5.1, D7.5 |
| Environments e deploys | {project}/_apis/distributedtask/environments + .../environmentdeploymentrecords | D3.3, D5.1, D8.1, D8.2 |
| Agent pools | _apis/distributedtask/pools, _apis/distributedtask/elasticpools (recycleAfterEachUse) | D5.2, D5.3 |
| Service connections | {project}/_apis/serviceendpoint/endpoints (authorization.scheme) | D6.2 |
| Variable groups | {project}/_apis/distributedtask/variablegroups (tipo Key Vault) | D6.7 |
| Grupos, membros e ACLs | vssps.dev.azure.com/{org}/_apis/graph/groups, .../graph/memberships, _apis/accesscontrollists | D6.1, D6.3, D6.6 |
| PATs | vssps.dev.azure.com/{org}/_apis/tokenadmin/personalaccesstokens | D6.4 |
| Audit log e streams | auditservice.dev.azure.com/{org}/_apis/audit/auditlog, .../audit/streams | D2.2, D8.6 |
| Alertas de segurança | advsec.dev.azure.com/{org}/{project}/_apis/alert/repositories/{repo}/alerts (com Advanced Security) | D4.1, D4.2, D4.3 |
| SBOM e vulnerabilidades | API do Dependency-Track (/api/v1/project, /api/v1/finding) | D4.2, D4.4, D9.1 |
| Assinatura e provenance | Registry + cosign verify / cosign verify-attestation | D4.5 |
| IaC e drift | Estado do Terraform × inventário | D1.4, D5.4, D5.5 |
| Incidentes | Ferramenta de ITSM / incident management | D8.3, D8.4 |
Limites da automação
- Algumas políticas de organização (D6.5) e registros do ARB (D9.5) não têm API pública completa: a evidência é captura de tela datada ou ata, anexada ao snapshot.
- Confira a versão das APIs (
api-version) na documentação antes de implementar o coletor. - O ADO Security Scanner (módulo PowerShell
ADOScanner, do projeto AzSK) cobre parte dos controles de D2, D3 e D6 e pode acelerar a primeira versão.