Okta collector for OpenHound
About
OpenHound is a standardized framework for building and running OpenGraph collectors and converters. It is built in Python and powered by the Data Load Tool (DLT) library, giving you a consistent workflow to collect, process, and convert data from any source into BloodHound-compatible graphs.
The openhound-okta extension collects Okta resources and transforms these into usable nodes and edges for BloodHound.
Getting Started
Follow the OpenHound docs to get started:
Rate-limit behavior
The collector coordinates requests by Okta API endpoint family. It limits concurrent requests, observes
X-Rate-Limit-Remaining and X-Rate-Limit-Reset on successful responses, and paces later requests before a bucket
is exhausted. HTTP 429 responses retry the same request and pagination cursor until a bounded elapsed-time budget is
reached. Transport failures and HTTP 5xx responses retain DLT's retry coverage.
Fan-out resources use explicit page sizes where Okta documents safe maxima. Application-user collection requests 500 rows per page, group-push mapping collection requests 1,000 rows per page, and identity-provider user collection requests 200 rows per page. Rows stream to DLT; an exhausted required request fails the collection so DLT does not publish an incomplete replacement.
The defaults can be adjusted with DLT source configuration environment variables:
| Environment variable | Default | Purpose |
|---|---|---|
SOURCES__SOURCE__OKTA__APPLICATION_USERS_PAGE_SIZE |
500 |
Application users per page, from 1 through 500 |
SOURCES__SOURCE__OKTA__GROUP_PUSH_MAPPINGS_PAGE_SIZE |
1000 |
Group push mappings per page, from 1 through 1,000 |
SOURCES__SOURCE__OKTA__IDENTITY_PROVIDER_USERS_PAGE_SIZE |
200 |
Identity-provider users per page, from 1 through 200 |
SOURCES__SOURCE__OKTA__ENDPOINT_CONCURRENCY |
2 |
Maximum simultaneous requests per endpoint family |
SOURCES__SOURCE__OKTA__RATE_LIMIT_MAX_ELAPSED_SECONDS |
900 |
Maximum elapsed retry window for an individual 429 request |
SOURCES__SOURCE__OKTA__RATE_LIMIT_REMAINING_RESERVE |
1 |
Requests held in reserve when pacing against a rate-limit window |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openhound_okta-0.2.2.tar.gz.
File metadata
- Download URL: openhound_okta-0.2.2.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20af3636155e2571465ede4dc353b0dcc0e3d01c67aadfedd4d162f9572df66d
|
|
| MD5 |
cf928794c2c4a985e3ebdfb8edb7ae48
|
|
| BLAKE2b-256 |
0f0558cea2def295925776a4f973db3d4927f22eb0836c125cd8e5df8456580e
|
File details
Details for the file openhound_okta-0.2.2-py3-none-any.whl.
File metadata
- Download URL: openhound_okta-0.2.2-py3-none-any.whl
- Upload date:
- Size: 102.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ec93f04024d34ecdff620a9a098ea1c5f13e70421fef324b3d4ca3f480655f3
|
|
| MD5 |
98178e5228d7c4cac9087110e76cda21
|
|
| BLAKE2b-256 |
69c10d54caab2d53096e98b127d93b049ae24ae76c7e22fdb2f9d6a041807720
|