feat(okta): add provider to the SDK with 1 security check#11079
feat(okta): add provider to the SDK with 1 security check#11079danibarranqueroo wants to merge 6 commits intomasterfrom
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
✅ Conflict Markers Resolved All conflict markers have been successfully resolved in this pull request. |
Compliance Mapping ReviewThis PR adds new checks. Please verify that they have been mapped to the relevant compliance framework requirements. New checks not mapped to any compliance framework in this PR
Use the |
|
✅ All necessary |
| def is_finding_muted( | ||
| self, | ||
| finding: CheckReportOkta, | ||
| org_url: str, | ||
| ) -> bool: |
🔒 Container Security ScanImage: 📊 Vulnerability Summary
4 package(s) affected
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #11079 +/- ##
==========================================
+ Coverage 85.16% 87.16% +1.99%
==========================================
Files 961 1638 +677
Lines 32652 49599 +16947
==========================================
+ Hits 27808 43231 +15423
- Misses 4844 6368 +1524
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Context
Adds Okta as a new Prowler provider following the established SDK pattern. This is the first PR in a planned multi-PR Okta rollout.
Phase 1 scope (this PR):
signonsignon_global_session_idle_timeout_15min(DISA STIG V-273186)Deferred to follow-up PRs: additional services and checks, the
stig_v1_oktacompliance framework, API integration, UI integration.Description
prowler/providers/okta/package with provider class,signonservice, and the first check.okta.policies.read). Identity is synthesized fromorg_url+client_id; credentials are validated at provider init via alist_policies(limit=1)probe.okta==3.4.2(the OpenAPI-generated v3 SDK).CheckReportOktaadded toprowler/lib/check/models.py.prowler/lib/cli/parser.pyusage/epilog.audit_config.get("okta_max_session_idle_minutes", 15).docs/user-guide/providers/okta/getting-started-okta.mdx(service-app setup, scope grants, "Public client app admins" warning, env-var configuration, troubleshooting).Steps to review
prowler/providers/okta/okta_provider.pyfor the auth flow (validate_arguments→setup_session→setup_identitywith credential probe).prowler/providers/okta/services/signon/signon_service.pyfor the SDK call shape (list_policies(type="OKTA_SIGN_ON")) and link-header pagination.prowler/providers/okta/services/signon/signon_global_session_idle_timeout_15min/signon_global_session_idle_timeout_15min.py.poetry run pytest tests/providers/okta/ --cov=prowler/providers/okta— expect 38 passed, ~95% coverage.poetry run python prowler-cli.py okta --list-checksand--list-services— expect the bundled check andsignonservice.OKTA_ORG_URL,OKTA_CLIENT_ID,OKTA_PRIVATE_KEY_FILEagainst a real Identity Engine org and run--check signon_global_session_idle_timeout_15minChecklist
Community Checklist
SDK/CLI
UI
API
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.