How‑to — App registrations, RBAC et service connections
Nous créons des identités techniques par environnement et relions Azure DevOps via des connexions de service.
Étapes Azure AD (Entra ID)
- Créer deux app registrations :
pp-devops-devetpp-devops-prod. - Ajouter un client secret avec expiration 6–12 mois.
- Attribuer le rôle applicatif Dataverse minimal via PPAC (ou un security role d’exécution d’API).
Manifest JSON (extrait)
Le manifeste fixe les types d’app et autorisations.
{
"signInAudience": "AzureADMyOrg",
"requiredResourceAccess": [
{
"resourceAppId": "00000007-0000-0000-c000-000000000000", // Dataverse
"resourceAccess": [ { "id": "scope-guid-here", "type": "Scope" } ]
}
]
}
RBAC Azure DevOps
Nous limitons les actions par rôle.
- Readers : lecture pipelines et artefacts.
- Contributors : push sur
feature/*, créer PR. - Build Service : exécuter pipelines.
- Release managers : approuver PROD.
Service connections (Azure DevOps)
Chaque environnement a sa connexion sécurisée.
Project Settings > Service connections > New > Generic.- Stocker
TENANT_ID,APP_ID,APP_SECRET,ENV_URLen variables. - Restreindre l’usage de la connexion aux pipelines nécessaires.
Variable group exemple
Variables centralisées et liées à Key Vault.
variables:
- group: pp-customapi-dev
# Inclut: TENANT_ID, ENV_URL, APP_ID_DEV, APP_SECRET_DEV
Politique de rotation
Nous programmons un renouvellement et des alertes.
- Rotation 90 jours avant expiration.
- Alertes dans Azure DevOps et backlog d’action.