Integration permissions and prerequisites

Checklist of provider scopes, IAM patterns, and Organisation roles before you connect Git, registries, or AWS.

Written By Zoro

Last updated 3 days ago

Use this page before you connect Git hosts, Docker registries, or AWS.

It complements provider guides (GitHub integration, Git source integrations, Docker registry integration, AWS integration) with a single checklist.

dFlow Organisation and roles

RequirementWhy it matters
You belong to the correct OrganisationIntegrations are tenant-scoped; connecting under the wrong workspace breaks deploys for teammates.
Your dFlow role allows managing integrationsOwners and admins typically can; other roles may be read-only. See Roles and permissions under Security and Team Management in the sidebar and Tenant access model under Security and Team Management in the sidebar.
You follow secret hygieneDo not paste provider tokens into public tickets or Git. Prefer integration storage and secret() on Service variables. See Security best practices under Security and Team Management in the sidebar.

GitHub (GitHub App)

RequirementDetail
Install permission on user or org accountSuspended installs or org third-party app restrictions block access.
Repository allow-listOnly select repositories means you must update the install when you add repos.
Branch existsApp Services point at a real branch or tag.

GitLab, Bitbucket, Gitea, Azure DevOps (tokens)

RequirementDetail
Token still validExpired tokens cause clone failures; rotate before expiry.
ScopesStart with read repository and read API where applicable; add write only if you push from dFlow.
HTTPS clone URLMatch the URL format the dFlow UI expects.
Bitbucket plan limitsWorkspace-level tokens may be unavailable on some plans; use repository tokens if required.

Docker registries

RequirementDetail
Read token or robot accountDeploy only needs pull; separate credentials if CI also pushes.
Correct registry hostdocker.io, ghcr.io, provider-specific host must match the image reference on the Docker Service.
Namespace accessToken must cover the repository or organisation that owns the image.

AWS

RequirementDetail
IAM principal with required EC2 (and related) APIsUnder-scoped policies return AccessDenied during provisioning.
Access key activeDisabled or deleted keys fail signature validation.
Regional quotas and networkingEven with IAM correct, limits or Security groups can block success. Security groups under Security and Team Management in the sidebar

Worker Nodes (related but not Git or registry)

SSH and host access use SSH keys under Security and Team Management in the sidebar. If builds fail with git errors, fixing SSH on the server will not help; if SSH fails during server onboarding, Git tokens will not fix it. Use Compute and worker node issues under Troubleshooting in the sidebar for compute path problems.

Permission error patterns (quick reference)

Message or symptomLikely layer
401, 403, permission denied on cloneGit token, GitHub App installation, or repo allow-list
unauthorized on image pullRegistry token, wrong username, or expired credential
AccessDenied on AWS APIIAM policy, SCP, or wrong account
Webhook never arrivesGit host app settings, org firewall, or branch filter

Deep fixes: Integration troubleshooting and Integration issues under Troubleshooting in the sidebar.

Related