This codebase stores the IaC for authentication and common IAM roles used for the MAAP STAC infrastructure.
Note : Managing individual cognito users should be done via the console.
First, ensure you have uv installed. You can install it using one of the official commands:
- pip: Suggested:
pipx install uvorpip install uv - Homebrew:
brew install uv - macOS/Linux:
curl -LsSf https://astral.sh | sh - Windows:
powershell -c "irm https://astral.sh | iex"
-
Fork and clone the repository.
-
Install project dependencies (this automatically sets up a virtual environment):
uv sync
-
Install the pre-commit hooks so your code is automatically linted before every commit:
uv run pre-commit install
-
Manually run lints across all files:
uv run pre-commit run --all-files
This example script provides you with credentials based on service authentication.
uv run scripts/service-auth-example.pyThe codebase intends to be expandable to meet MAAP's needs as the project grows. Currently, the stack exposes two methods to facilitate customization.
A resource server is a service that is to be protected by auth.
The intention of this endpoint is to create a client for a user to make use of when authenticating in a programmatic environment (e.g. script, notebook).
Add a service that will be authenticating with the MAAP system. This utilizes the client_credentials flow, meaning that the credentials represent a service rather than any particular user.