docs(cloud-security): onboarding guide for every supported provider#319
Merged
Conversation
Provider Setup previously covered 3 of the 13 supported cloudsec providers (Google Workspace, Cloudflare, AWS). Turn it into a section with a step-by-step onboarding page for every platform. Each page documents, per provider: what it collects, the auth model, the exact required vs optional scopes/permissions (each mapped to the preflight check it satisfies and the concrete consequence of skipping it), the click-by-click steps to create the credential in that platform (with CLI equivalents where the vendor has one), the credential-secret JSON shape, the provider record, a full preflight check reference, and a troubleshooting table. New pages: Google Cloud, Azure, Entra ID, Okta, 1Password, Auth0, GitHub, OpenAI, Anthropic, LimaCharlie. AWS / Cloudflare / Google Workspace move into the section unchanged, gaining a check-reference table (and, for Cloudflare, the user-scoped-token surface). Also: link every connector in Connecting Providers to its setup page, and document the platform gotchas that cost real onboarding time — Okta requiring private-key JWT plus an admin role (and silently dropping ungranted scopes at mint), Azure/Entra needing Application rather than Delegated Graph permissions, OpenAI admin keys needing api.management.read selected at creation, and Okta's roles scope being fatal to the whole user collector rather than just role facets. The page URL is unchanged: provider-setup.md becomes provider-setup/index.md, which mkdocs renders at the same path.
lcbill
previously approved these changes
Jul 24, 2026
…tion Verification pass over all 13 provider pages against the official vendor docs. Corrections found: - Anthropic: the Console moved to platform.claude.com — the admin-key URL and path were stale (Settings > Admin keys, not console.anthropic.com > Organization settings). The Compliance key is also self-service now (claude.ai > Organization settings > API), not a request to an account contact; document who can create one, that scopes are fixed at creation, that the Compliance/Analytics APIs must be enabled first, and the read:org_audit scope built for exactly this integration. - Cloudflare: the primary credential is an ACCOUNT-owned token, created under Manage Account > API Tokens — the page pointed at My Profile, which mints a user-owned token. Point the optional user_api_token there instead. The Security Center permission is named "Security Center Insights". - Azure/Entra: `az ad app credential reset` clears every existing password and certificate unless --append is passed. Added the flag and a warning. - Auth0: warn against the Management API Explorer's "Create & Authorize a Test Application" button, which grants every Management API scope. - GCP: drop the unverified claim that roles/viewer covers Vertex AI, and note why Google's console walkthrough for role recommendations asks for roles beyond the ones this connector needs. - Okta: frame the locked-on DPoP toggle as observed behaviour rather than vendor-documented; Okta's service-app guide does not mention it. - 1Password: the self-hosted SCIM bridge question is resolved — it serves SCIM at the root of the bridge domain, while hosted provisioning uses a /scim/v2 path. Both forms were already correct; explain why they differ. Confirmed correct and unchanged: every Microsoft Graph permission GUID and the az CLI syntax; all six Okta scope names, private_key_jwt being the only supported client-auth method, and the admin-role requirement; every GitHub App permission mapping; the Google Workspace domain-wide-delegation console path; the SecurityAudit policy ARN and its coverage of every optional AWS check; the policyanalyzer.activityAnalysisViewer role and its permissions; and the OpenAI admin-keys URL.
Contributor
Author
Verification pass against official vendor documentationRe-checked every claim on all 13 pages against the vendors' own docs. Seven corrections, pushed in Corrections
Resolved open questionThe self-hosted 1Password SCIM URL I flagged is settled: 1Password's own troubleshooting guide uses Confirmed correct, unchanged
|
lcbill
approved these changes
Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Provider Setup covered 3 of the 13 supported Cloud Security providers (Google Workspace, Cloudflare, AWS). This turns it into a section with a full, step-by-step onboarding guide for every platform.
provider-setup.mdbecomesprovider-setup/index.md— mkdocs renders it at the same URL, so no links break and no redirect is needed.Per-provider pages
New: Google Cloud, Microsoft Azure, Microsoft Entra ID, Okta, 1Password, Auth0, GitHub, OpenAI, Anthropic, LimaCharlie.
Moved into the section: AWS, Cloudflare, Google Workspace — content unchanged, each gaining a preflight check-reference table (plus, for Cloudflare, the user-scoped-token surface that covers account members and API-token enumeration).
Every page follows the same structure:
provider testcheck it satisfies and the concrete consequence of skipping itgcloud,az,aws,gh)provider testerrorGotchas now documented
These are the ones that cost real onboarding time and were nowhere in the docs:
private_key_jwt(client secrets are rejected forokta.*scopes); scopes and an admin role are both required; ungranted scopes are silently dropped at mint rather than erroring; DPoP is locked on for new API Services apps and is handled automatically;okta.roles.readis fatal to the entire user collector, not just role facets.azure_subscription_idis an anchor, not a scope limit.api.management.readmust be selected at key creation; scope-upgraded keys keep failing.user.ctrl/apikey.ctrlare broader than read-only because no read-only surface exists.Also
Every connector in Connecting Providers now links to its setup page, and the hub page gains a platform index, the shared-fields reference, and the credential-secret quick reference.
Verification
mkdocs build --strictpasses (exit 0, no warnings) — strict mode catches broken internal links and nav entriesmarkdownlint-cli2clean across all 360 files