Prerequisites
Permissions
Blitzy requires the following Azure DevOps permissions, scoped to the minimum level needed.Permission mapping reference
Permission mapping reference
Permission quick reference by level
Permission quick reference by level
Create the Service Identity User
Create a dedicated user account in Microsoft Entra ID for the Blitzy integration. This is a non-interactive account - it does not represent a real person.Navigate to Entra ID User Management
https://entra.microsoft.com. Expand Identity, then select Users > All users. Click + New user > Create new user.Configure the service user properties
Create the user
Add the Service User to Azure DevOps
Open organization user settings
https://dev.azure.com/{YourOrganization}. Click Organization settings (gear icon at the bottom-left), then Users under General.Add the service user
[email protected] and select the account when it appears.Set access level
Select projects
Set initial group and confirm
Create a Custom Security Group
To enforce the principle of least privilege, create a custom security group that grants Blitzy only the specific permissions needed.Create the group
Blitzy Service Access and description to Custom security group for Blitzy third-party vendor. Add [email protected] as a member. Click Create.Remove the service user from Contributors
[email protected] and click Remove.Configure Repository-Level Permissions
Restrict Blitzy to specific repositories by denying access at the top level, then explicitly allowing access on individual repos.Deny Access to All Repositories (Default)
- Navigate to Project settings > Repos > Repositories.
- Click the top-level Git repositories node.
- Click the Security tab.
- Click + Add and find the “Blitzy Service Access” group.
- Set all permissions to Deny. Click Save changes.
Allow Access on Specific Repositories
For each repository Blitzy should access, explicitly override the Deny with Allow.- Click the specific repository (e.g., “frontend-app”).
- Click the Security tab, then find or add the “Blitzy Service Access” group.
- Set permissions:
- Click Save changes. Repeat for each additional repository.
Branch-Level Security and Policies
Configure branch-level security (optional)
Configure branch-level security (optional)
- Navigate to Repos > Branches within the target project.
- Locate the branch (e.g., main), click … (More actions) > Branch security.
- In the Branch security panel, click + Add.
- Search for and select the “Blitzy Service Access” group.
- For protected branches like main, set Contribute to Deny. For working branches like develop, set Contribute to Allow.
- Click Save.
main, it can push to other branches but not main. This is the desired outcome.Set up branch policies (optional)
Set up branch policies (optional)
- Navigate to Project settings > Repos > Repositories > select the target repository.
- Click the Policies tab, then select the branch (e.g.,
main). - Enable the following recommended policies:
- Require a minimum number of reviewers - Set to at least 1 reviewer
- Check for linked work items - Optional but recommended for traceability
- Check for comment resolution - Require all comments resolved before merge
- Build validation - Add a build pipeline that must succeed before PR completion
- Automatically included reviewers - Add your team lead as an auto-reviewer for PRs
- Click Save.
Connect the Blitzy ADO Integration App
Blitzy’s Azure AD app uses OAuth to authenticate. Ensure third-party application access is enabled in your ADO organization settings.Verify OAuth settings
Install the Blitzy Azure AD application
[email protected] to connect.Share the integration
Verification and Testing
After completing the configuration, verify that the setup works correctly and that permissions are properly restricted.Pull request and integration tests
Pull request and integration tests
- Create a pull request from a permitted branch to
main. - Confirm the PR is created successfully.
- Verify that branch policies (required reviewers, build validation) are enforced.
- Log in to the Blitzy platform.
- Create a test project.
- Ensure that this project can only see the allowed repos and branches.
Ongoing Maintenance
- Quarterly reviews - Review Blitzy’s access level, repository permissions, and branch permissions every quarter
- Last access date - Check the Users page in Organization settings to see when the service user last accessed ADO
- Audit logs - Review ADO audit logs regularly (Organization settings > Auditing)
Offboarding Blitzy
Revoke ADO access
Disable the identity
[email protected]).Remove the app
Document
Troubleshooting
Service user not found when adding to ADO
Service user not found when adding to ADO
Clone fails with 403 Forbidden
Clone fails with 403 Forbidden
Push fails on an allowed branch
Push fails on an allowed branch
PR cannot be completed
PR cannot be completed
Permission changes not taking effect
Permission changes not taking effect
Security Checklist
Pre-handoff security verification
Pre-handoff security verification
- Dedicated service identity user created in Entra ID (not a personal account)
- Service user added to ADO with Basic access level
- Custom “Blitzy Service Access” security group created
- Service user removed from default Contributors group
- All repositories set to Deny at the top-level for the custom group
- Only authorized repositories have explicit Allow permissions
- Branch-level security configured: protected branches deny push access (optional)
- Branch policies enabled - required reviewers, build validation (optional)
- Third-party OAuth access enabled in Organization policies (if required)
- Clone, push, and PR tests passed for both allowed and denied repos/branches
- Access review schedule established (quarterly)
- Offboarding procedure documented