From f7770d7ef474b1fda6f774ac28bc28a7fcd228b8 Mon Sep 17 00:00:00 2001 From: Bartosz Piekarski Date: Fri, 19 Jun 2026 12:18:57 +0200 Subject: [PATCH] RDoc-3880 RavenDB SSO --- .../assets/certificates-list.png | Bin 0 -> 57094 bytes .../assets/certificates-manage-dropdown.png | Bin 0 -> 85671 bytes .../assets/register-sso-server-modal.png | Bin 0 -> 74755 bytes .../assets/register-sso-user-modal.png | Bin 0 -> 46609 bytes .../authentication/sso-certificates.mdx | 200 ++++++++++ docs/server/security/overview.mdx | 15 + docs/server/security/sso/_category_.json | 4 + .../sso/assets/clusters-page-multiple.png | Bin 0 -> 37377 bytes .../sso/assets/login-page-all-providers.png | Bin 0 -> 45499 bytes .../sso/configuring-ravendb-for-sso.mdx | 44 ++ .../server/security/sso/deploying-sso-app.mdx | 375 ++++++++++++++++++ docs/server/security/sso/overview.mdx | 71 ++++ .../server/security/sso/sso-configuration.mdx | 149 +++++++ 13 files changed, 858 insertions(+) create mode 100644 docs/server/security/authentication/assets/certificates-list.png create mode 100644 docs/server/security/authentication/assets/certificates-manage-dropdown.png create mode 100644 docs/server/security/authentication/assets/register-sso-server-modal.png create mode 100644 docs/server/security/authentication/assets/register-sso-user-modal.png create mode 100644 docs/server/security/authentication/sso-certificates.mdx create mode 100644 docs/server/security/sso/_category_.json create mode 100644 docs/server/security/sso/assets/clusters-page-multiple.png create mode 100644 docs/server/security/sso/assets/login-page-all-providers.png create mode 100644 docs/server/security/sso/configuring-ravendb-for-sso.mdx create mode 100644 docs/server/security/sso/deploying-sso-app.mdx create mode 100644 docs/server/security/sso/overview.mdx create mode 100644 docs/server/security/sso/sso-configuration.mdx diff --git a/docs/server/security/authentication/assets/certificates-list.png b/docs/server/security/authentication/assets/certificates-list.png new file mode 100644 index 0000000000000000000000000000000000000000..ad504427a547e6dbc1b1d7bcb8517ddd08c8d034 GIT binary patch literal 57094 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 BiM9X$ literal 0 HcmV?d00001 diff --git a/docs/server/security/authentication/assets/certificates-manage-dropdown.png b/docs/server/security/authentication/assets/certificates-manage-dropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..8c5c54298a0bfcca7c785e61a5ac61c59ebd295c GIT binary patch literal 85671 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%0D_o!NjOKKjWL5V0p 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 literal 0 HcmV?d00001 diff --git a/docs/server/security/authentication/assets/register-sso-server-modal.png b/docs/server/security/authentication/assets/register-sso-server-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..d3041f1ef1923fcaea6db55e1719d36c7b03c62a GIT binary patch literal 74755 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

ZkvFn%N{_}nW{0`EnjsK%RJ5`xt9n> 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 literal 0 HcmV?d00001 diff --git a/docs/server/security/authentication/assets/register-sso-user-modal.png b/docs/server/security/authentication/assets/register-sso-user-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..9f6fdf4f3b784203f9cb9553ae73ddbfd1ac79de GIT binary patch literal 46609 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 Qg}#7LyQi9e`(fZe0LbEXZvX%Q literal 0 HcmV?d00001 diff --git a/docs/server/security/authentication/sso-certificates.mdx b/docs/server/security/authentication/sso-certificates.mdx new file mode 100644 index 0000000000..94269c338c --- /dev/null +++ b/docs/server/security/authentication/sso-certificates.mdx @@ -0,0 +1,200 @@ +--- +title: "Authentication: SSO Certificates and Users" +sidebar_label: SSO Certificates & Users +description: "Register an SSO server certificate and SSO user entries in RavenDB, and keep SSO authentication working across certificate renewals by reusing the same key." +sidebar_position: 6 +--- + +import Admonition from '@theme/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +# Authentication: SSO Certificates and Users + +RavenDB can authenticate users who arrive through an [SSO reverse-proxy application](../sso/overview.mdx) +— GitHub, Google, Microsoft/Entra ID, or Windows/Kerberos — instead of issuing one X.509 client certificate +per user. The cluster needs to know two things to do this: + +- **Which SSO servers to trust** — registered as certificates with `Usage = SsoServer`. +- **How to map an SSO identity to RavenDB permissions** — stored as **SSO user entries** with + `Usage = SsoClient`. + +Both are managed from **Manage Server → Certificates** in the Studio, and live in the same certificate +list as your regular server and client certificates. + + +SSO is a commercial feature gated by the RavenDB license. Registering an SSO server certificate requires +**Cluster Admin** clearance; SSO user entries can be managed by **Operator** clearance and above. + + +For end-to-end deployment of the SSO application itself, see the +[SSO section](../sso/overview.mdx). This page focuses on the certificate-management side of the workflow. + +## Register an SSO server certificate + +The SSO server presents its public certificate to clients on `https://`. Registering that +certificate in RavenDB tells the cluster "trust SSO identities forwarded by this server." Identification +is by **public-key pinning hash**, not by the certificate file itself. + +### Studio + +1. Open **Manage Server → Certificates**. +2. Click **Register SSO server**. +3. Either upload the certificate (PEM/PFX) or paste the SSO URL — the cluster will fetch the certificate + from `https:///api/certificate`, validate it, and show the parsed details for confirmation. +4. Give it a name and save. + +Open the **Manage user access** dropdown to find the SSO actions: + +![Manage user access dropdown with SSO actions](./assets/certificates-manage-dropdown.png) + +**Upload SSO certificate** opens the registration modal — either fetch the certificate from the SSO URL or +upload a file directly: + +![Register SSO server certificate modal](./assets/register-sso-server-modal.png) + +Once registered, the SSO server certificate appears under a dedicated **SSO** section of the certificates +list, alongside any existing SSO user entries: + +![Certificates list with SSO entries](./assets/certificates-list.png) + +### HTTP API + +```http +PUT /admin/certificates +Content-Type: application/json + +{ + "Name": "production-sso", + "Certificate": "", + "Usage": "SsoServer", + "SecurityClearance": "ValidUser", + "Permissions": {} +} +``` + +To let the cluster fetch the certificate for you: + +```http +GET /admin/certificates/sso/server/fetch?url=https://sso.example.com +``` + +This downloads `https://sso.example.com/api/certificate`, validates it, and returns the base64 bytes — +hand them to `PUT /admin/certificates` above. The fetch is limited to **1 MB** and times out after +**10 seconds**. + + +SSO server certificates cannot be generated by RavenDB — they belong to the SSO deployment and must be +imported. `POST /admin/certificates` with `Usage = SsoServer` is rejected. + + +## Register an SSO user entry + +An SSO user entry is a mapping from one or more **SSO identities** to a RavenDB security clearance and +database permissions. Each identity is a `(Provider, Domain, Identifier)` tuple: + +| Field | Type | Example | +|---|---|---| +| `Provider` | `Github` | `Google` | `Microsoft` | `Windows` | `Windows` | +| `Domain` | string | Kerberos realm — only used when `Provider = Windows`; leave empty otherwise. | +| `Identifier` | string | `alice@example.com`, GitHub username, etc. | + +Each entry must trust the SSO servers it accepts identities from. You can either: + +- list one or more `SsoServerPublicKeyPinningHashes` from registered SSO servers, **or** +- set `AllowAnySsoServer = true` to accept the identity from any SSO server registered in the cluster. + +Listing multiple pinning hashes is how you give one user access through several SSO deployments +(production + staging, for example) without duplicating the entry. + +### Studio + +1. **Manage Server → Certificates → Register SSO user**. +2. Enter a **Name**, choose a **Security Clearance**, and pick the **Permissions** per database. +3. Add one or more SSO identifiers (provider + identifier, plus a domain when the provider is + Windows — the Kerberos realm). +4. Pick the trust model — either tick **Allow any SSO server**, or select the SSO servers you registered + above. +5. Save. + +The modal collects all the entry's fields on one screen — display name, identifiers, security clearance, +trust scope (per-server pinning or any SSO server), and per-database permissions: + +![Add SSO user modal](./assets/register-sso-user-modal.png) + +### HTTP API + +```http +PUT /admin/certificates/sso/user +Content-Type: application/json + +{ + "Name": "alice", + "Usage": "SsoClient", + "SsoIdentifiers": [ + { "Provider": "Google", "Domain": "", "Identifier": "alice@example.com" } + ], + "SsoServerPublicKeyPinningHashes": [""], + "AllowAnySsoServer": false, + "SecurityClearance": "ValidUser", + "Permissions": { "Northwind": "ReadWrite" } +} +``` + +Validation rules enforced by the endpoint: + +- `Name` and at least one entry in `SsoIdentifiers` are required. +- Either `AllowAnySsoServer = true` **or** at least one pinning hash. +- Every pinning hash must reference a previously registered SSO server. Otherwise the request fails with + a message pointing you back to the SSO server registration step. +- Each `(Provider, Domain, Identifier)` tuple is **unique cluster-wide** — edit the existing entry instead + of creating a second one for the same identity. + +## Renewing the SSO server certificate + + +RavenDB identifies trusted SSO servers by their **public key pinning hash**, not by the certificate file. +Every SSO user entry that doesn't have `AllowAnySsoServer = true` is pinned to one or more specific +hashes. **If you renew the SSO server certificate with a new key pair, the hash changes and every +non-`AllowAnySsoServer` entry stops accepting logins through that server until you re-register the new +certificate and update each user entry's pinning list.** + +To keep SSO authentication working continuously across renewals, always renew the SSO server certificate +with **the same private key** (the same Certificate Signing Request). The public key — and therefore the +pinning hash — stays identical, and every existing SSO user entry keeps working without any change in +RavenDB. + + +This is the same mechanism RavenDB uses for [implicit trust between server and client certificates](./certificate-renewal-and-rotation.mdx#implicit-trust-by-public-key-pinning-hash) — see that section +for the underlying details. + +Practical guidance: + +- **Let's Encrypt via the bundled SSO `certbot`** — already pins `--key-type rsa` and `--reuse-key`, + so renewals automatically keep the public key stable. No action is needed on the RavenDB side. +- **Manually managed certificates** — when generating a renewal, re-use the existing CSR or private key + rather than creating a fresh key pair. Most ACME clients and CAs accept a CSR-based renewal explicitly + for this reason. +- **If you must rotate the key** — register the new SSO server certificate as a second `SsoServer` entry + before retiring the old one. Update every SSO user entry to include the new pinning hash alongside the + old one. Once all clients are on the new certificate, you can remove the old `SsoServer` entry and the + old hash from the user entries. + +## Supported providers + +| `SsoProvider` | Typical `Identifier` | When to set `Domain` | +|---|---|---| +| `Github` | GitHub username | Not used — leave empty. | +| `Google` | Email address | Not used — leave empty. | +| `Microsoft` | Email or object id | Not used — leave empty. | +| `Windows` | `user@DOMAIN` | **Required** — set to the Kerberos realm. | + +`Domain` is only consulted when `Provider = Windows`. For the OAuth providers it is ignored — leave it +empty (or omit it from the JSON payload). + +## Related reading + +- [SSO Overview](../sso/overview.mdx) — what the SSO application does and how the auth flow works. +- [Deploying the SSO application](../sso/deploying-sso-app.mdx) — installer and Docker Compose setup. +- [Certificate Renewal & Rotation](./certificate-renewal-and-rotation.mdx#implicit-trust-by-public-key-pinning-hash) — the public-key pinning hash mechanism that underpins SSO server trust. diff --git a/docs/server/security/overview.mdx b/docs/server/security/overview.mdx index 8f3c0d6489..3d35841c12 100644 --- a/docs/server/security/overview.mdx +++ b/docs/server/security/overview.mdx @@ -47,6 +47,21 @@ In Studio, administrators can use the [Certificates View](../../server/security/ +## Single Sign-On (SSO) + +RavenDB can accept users authenticated by GitHub, Google, Microsoft/Entra ID, or Windows/Kerberos through a +dedicated SSO reverse-proxy application. The cluster maps each SSO identity to a security clearance and per-database +permissions, without distributing X.509 client certificates per user. + +**Read more:** + +- [SSO Overview](../../server/security/sso/overview.mdx) +- [Deploying the SSO Application](../../server/security/sso/deploying-sso-app.mdx) +- [SSO Configuration Reference](../../server/security/sso/sso-configuration.mdx) +- [Configuring RavenDB for SSO](../../server/security/sso/configuring-ravendb-for-sso.mdx) + + + ## Authorization Authorization in RavenDB is based on the same X.509 certificates. diff --git a/docs/server/security/sso/_category_.json b/docs/server/security/sso/_category_.json new file mode 100644 index 0000000000..24d142addc --- /dev/null +++ b/docs/server/security/sso/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 5, + "label": "SSO" +} diff --git a/docs/server/security/sso/assets/clusters-page-multiple.png b/docs/server/security/sso/assets/clusters-page-multiple.png new file mode 100644 index 0000000000000000000000000000000000000000..67f789d71ba05635d079c606a641c08b518598ed GIT binary patch literal 37377 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 IGr!;X52MqKQvd(} literal 0 HcmV?d00001 diff --git a/docs/server/security/sso/configuring-ravendb-for-sso.mdx b/docs/server/security/sso/configuring-ravendb-for-sso.mdx new file mode 100644 index 0000000000..d3f7dc31a5 --- /dev/null +++ b/docs/server/security/sso/configuring-ravendb-for-sso.mdx @@ -0,0 +1,44 @@ +--- +title: "SSO: Configuring RavenDB" +sidebar_label: Configuring RavenDB +description: "Where to find the cluster-side configuration steps for SSO — registering the SSO server certificate and creating SSO user entries." +sidebar_position: 4 +--- + +import Admonition from '@theme/Admonition'; + +# SSO: Configuring RavenDB + +Once the [SSO application](./deploying-sso-app.mdx) is deployed, a RavenDB cluster needs two things to +accept users coming through it: + +1. The **SSO server's public certificate**, registered with `Usage = SsoServer`. +2. One or more **SSO user entries** (`Usage = SsoClient`) that map an upstream identity to a security + clearance and database permissions. + +Both are managed from **Manage Server → Certificates** in the Studio (or through the admin certificates +HTTP API), alongside the cluster's regular server and client certificates. The full procedure — Studio +flow, HTTP payloads, validation rules, supported providers, and the certificate-renewal caveat — is +documented on a single page: + + +[Authentication: SSO Certificates and Users](../authentication/sso-certificates.mdx) + + +## End-to-end checklist + +1. Deploy the SSO application (see [Deploying the SSO Application](./deploying-sso-app.mdx)). +2. As a **Cluster Admin**, [register the SSO server certificate](../authentication/sso-certificates.mdx#register-an-sso-server-certificate) — + either by fetching it from the SSO URL or by uploading it directly. +3. As an **Operator** or higher, [create SSO user entries](../authentication/sso-certificates.mdx#register-an-sso-user-entry) + for each user or group, choosing the right provider, identifier, and database permissions. +4. Users now log in at `https://./studio/`. They authenticate through the + provider; the SSO server issues a short-lived client certificate carrying their SSO identity; RavenDB + matches that identity against the registered SSO user entry and applies its permissions. + + +SSO server trust is pinned by **public key**. Renewing the SSO certificate with a new key pair changes +the pinning hash and breaks every SSO user entry pinned to the old hash. See +[Renewing the SSO server certificate](../authentication/sso-certificates.mdx#renewing-the-sso-server-certificate) +for the rationale and the key-rotation workaround. + diff --git a/docs/server/security/sso/deploying-sso-app.mdx b/docs/server/security/sso/deploying-sso-app.mdx new file mode 100644 index 0000000000..f15d102958 --- /dev/null +++ b/docs/server/security/sso/deploying-sso-app.mdx @@ -0,0 +1,375 @@ +--- +title: "SSO: Deploying the SSO Application" +sidebar_label: Deploying the SSO Application +description: "Deploy the RavenDB SSO reverse proxy with Docker — DNS, TLS via Let's Encrypt, OAuth2 provider registration, and Kerberos/AD setup." +sidebar_position: 2 +--- + +import Admonition from '@theme/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +# SSO: Deploying the SSO Application + +The SSO application is distributed as a single Docker image (`ravendb/sso`) that bundles Nginx, the +authentication sidecar, and `oauth2-proxy`. The [ravendb/sso](https://github.com/ravendb/sso) repository +ships with an **interactive installer** (`install.sh` for Linux/macOS, `install.ps1` for Windows) that +asks all the questions, pre-flights DNS and host permissions, generates a complete deployment directory, +and optionally starts the stack. This is the recommended way to set up a new SSO server. + + +Unless you have a specific reason to assemble the deployment by hand (for example because you're +integrating into existing automation), run `install.sh` / `install.ps1`. It produces the same artifacts +that the manual setup below describes, but with secrets generated for you, file permissions set, and DNS +sanity-checked. + + +## Prerequisites + +- Docker (Compose v2). +- A public domain you control, with the ability to create DNS records. +- At least one of: + - OAuth credentials for **GitHub**, **Google**, or **Microsoft/Entra ID**, or + - A Kerberos keytab for an Active Directory service principal. +- For the bundled Let's Encrypt option: an **AWS account** with **Route53** hosting the SSO domain and an + IAM user authorized to create TXT records (DNS-01 challenge). The installer can also wire up a + manually-supplied certificate instead. + +## DNS setup + +The SSO server is reached at a base domain (e.g. `sso.example.com`). Each RavenDB cluster behind it is +exposed at `.` — for example `my-cluster.sso.example.com`. You therefore need +both an apex record and a wildcard for sub-aliases: + +| Type | Name | Value | +|---|---|---| +| `A` | `sso.example.com` | your server's public IP | +| `CNAME` | `*.sso.example.com` | `sso.example.com` | + +The installer probes both records before continuing and will warn (but not block) if they are missing. + +## Recommended: interactive installer + +The installer is a single self-contained script — every template it writes (including `nlog.config` and +the `docker-compose.yml`) is embedded inline, so you can download and run it directly without cloning the +repository. + + + + +Download and run: + +```bash +curl -fsSL https://raw.githubusercontent.com/ravendb/sso/main/install.sh -o install.sh +chmod +x install.sh +./install.sh +``` + +Or pipe directly into Bash: + +```bash +bash <(curl -fsSL https://raw.githubusercontent.com/ravendb/sso/main/install.sh) +``` + + + + +Download and run: + +```powershell +Invoke-WebRequest -Uri https://raw.githubusercontent.com/ravendb/sso/main/install.ps1 -OutFile install.ps1 +.\install.ps1 +``` + +Or run directly from the URL: + +```powershell +iex (irm https://raw.githubusercontent.com/ravendb/sso/main/install.ps1) +``` + + + + +If you'd rather have the rest of the repository (for the manual `example/` deployment, source, or tests), +clone it and run the script from there instead: + +```bash +git clone https://github.com/ravendb/sso.git && cd sso && ./install.sh +``` + +The script walks through the following steps: + +1. **Output directory** — defaults to `./sso-deploy`. Must be empty. +2. **Host user check** *(Linux only)* — verifies that UID `10000` exists; offers to create the + `ravendb-sso` system user (the SSO container runs as `10000:10000`). +3. **SSO URL** — your public `https://sso.example.com`. +4. **DNS sanity check** — resolves the apex `A` record and probes a random subdomain to confirm the + wildcard `CNAME` is in place. +5. **TLS certificate strategy** — pick `certbot-route53` (automated Let's Encrypt via Route53 DNS-01) or + `manual` (you supply `fullchain.pem` and `privkey.pem`). +6. **Authentication providers** — multi-select between GitHub, Google, Microsoft/Entra ID, and Kerberos. + Each selected provider expands into its own credential prompts. +7. **Kerberos files** *(if Kerberos was chosen)* — paths to `krb5.conf` and `krb5.keytab`. On Linux the + script verifies that UID `10000` can read both files and offers to apply an ACL (`setfacl -m u:10000:r`) + if not. +8. **Clusters** — for each RavenDB cluster, an alias (lowercase letters, digits, hyphens) and one or more + node URLs (HTTPS only). +9. **Summary and confirmation**, then file generation. + +### What the installer produces + +``` +sso-deploy/ + sso.env # SSO secrets — mode 600 + certbot.env # AWS creds + LE email (only if cert mode = certbot) — mode 600 + docker-compose.yml # Two services if certbot, one if manual certs + config/ + settings.json # Generated cluster topology + nlog.config # Copied from the example + certs/ # Pre-created, owned by UID 10000 (populated by certbot or pre-staged) + logs/ # Pre-created, owned by UID 10000 + README-deploy.md # Per-deployment quick reference +``` + +`OAUTH2_PROXY_COOKIE_SECRET` is generated automatically (32 hex chars). `config/`, `certs/`, and `logs/` +are chowned to `10000:10000` so the container can write to them. After the script finishes, start the +stack from the generated directory: + +```bash +cd sso-deploy +docker compose up -d +``` + +The script also offers to run that command for you as its final step. + +## Manual deployment with Docker Compose + +If you can't or don't want to run the installer, the example under `Raven.Sso/example/` in the +[ravendb/sso](https://github.com/ravendb/sso) repository is the same layout the installer generates, just +filled in by hand. It runs two containers: + +- **`certbot`** — `certbot/dns-route53`. Obtains the wildcard certificate on first start and renews every 12 hours. +- **`sso`** — `ravendb/sso:latest`. Starts once `certbot` has produced a valid certificate, and reloads Nginx + every 6 hours to pick up renewals. + +### 1. Copy and fill the environment files + +The example splits environment variables into two files so AWS credentials aren't exposed to the SSO container: + +```bash +cp sso.env.example sso.env +cp certbot.env.example certbot.env +``` + +Edit each file with your domain, OAuth credentials, and AWS keys. The complete list of variables is on the +[SSO application configuration](./sso-configuration.mdx) page. + +### 2. (Optional) Configure clusters via `settings.json` + +The list of RavenDB clusters the SSO server should proxy can live in `config/settings.json`: + +```json +{ + "Clusters": [ + { + "ClusterUrls": ["https://a.my-cluster.example.com"], + "ClusterAlias": "my-cluster" + } + ] +} +``` + +Alternatively, set `RAVENDBSSO_Clusters` in `sso.env` to the same JSON array — environment variables override +file values. + +### 3. Start the stack + +```bash +docker compose up -d +``` + +On first run, `certbot` requests the wildcard certificate from Let's Encrypt; this can take 1–2 minutes +while the DNS TXT record propagates. The SSO container's `depends_on` waits for `certbot` to report healthy +before starting Nginx. + + +The example's `certbot` entrypoint pins `--key-type rsa`. RavenDB's certificate utilities only support RSA; +do not switch this to ECDSA. + + +### 4. Volumes and on-host layout + +``` +example/ + sso.env # SSO env vars + certbot.env # certbot env vars + docker-compose.yml + config/ + settings.json # optional — clusters can come from env vars instead + nlog.config # optional — logging configuration (autoReload) + certs/ # populated by certbot + live// + fullchain.pem + privkey.pem + logs/ # SSO + Nginx logs +``` + +## Quick start (single container) + +For local testing without Let's Encrypt, build the image directly and pass credentials on the command line: + +```bash +docker build -t auth-proxy . + +docker run --rm -it \ + -p 8080:8080 \ + -e OAUTH2_PROXY_COOKIE_SECRET=$(openssl rand -base64 32) \ + -e GITHUB_CLIENT_ID=... \ + -e GITHUB_CLIENT_SECRET=... \ + -e GOOGLE_CLIENT_ID=... \ + -e GOOGLE_CLIENT_SECRET=... \ + -e MICROSOFT_CLIENT_ID=... \ + -e MICROSOFT_CLIENT_SECRET=... \ + -e MICROSOFT_TENANT=common \ + -v /path/to/app.keytab:/etc/nginx/app.keytab:ro \ + -v /path/to/krb5.conf:/etc/krb5.conf:ro \ + auth-proxy +``` + +Any combination of providers can run concurrently. Volumes for the keytab and `krb5.conf` are only needed +when using Kerberos. + +After login, the SSO portal lists the clusters the user can reach — each cluster is exposed under its own +sub-alias of the SSO domain: + +![SSO cluster picker](./assets/clusters-page-multiple.png) + +## Registering OAuth providers + +For every OAuth provider you enable, the redirect URI is +`https:///oauth2//callback`. + +### GitHub + +1. Open [GitHub Settings → Developer settings → OAuth Apps](https://github.com/settings/developers). +2. **New OAuth App**. +3. Set **Homepage URL** to your SSO URL and **Authorization callback URL** to + `https:///oauth2/github/callback`. +4. Generate a client secret. Set `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`. + +### Google + +1. In [Google Cloud Console](https://console.cloud.google.com/) → **APIs & Services → Credentials**, create + an **OAuth 2.0 Client ID** of type **Web application**. +2. Add `https:///oauth2/google/callback` to **Authorized redirect URIs**. +3. Set `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET`. + +### Microsoft / Entra ID + +The SSO image uses oauth2-proxy's `entra-id` provider, which supports both single-tenant and multi-tenant +apps. + +1. In [Azure Portal → App registrations](https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade), + click **New registration**. +2. Pick **Supported account types** — single-tenant, multi-tenant, or multi-tenant + personal accounts. + This must match the `MICROSOFT_TENANT` value you choose. +3. Set **Redirect URI** (Web) to `https:///oauth2/microsoft/callback`. +4. Under **Token configuration**, add `email` as an **optional claim** for the ID token — organizational + accounts don't emit it by default, and the SSO server uses it as the username. +5. Under **Certificates & secrets**, create a client secret. +6. Set `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET`, and `MICROSOFT_TENANT`: + - **Single-tenant**: your tenant GUID. + - **Multi-tenant (orgs only)**: `organizations`. + - **Multi-tenant + personal accounts**: `common`. +7. For multi-tenant apps, scope access by setting `MICROSOFT_ALLOWED_TENANTS` (comma-separated tenant + GUIDs) and / or `MICROSOFT_ALLOWED_EMAIL_DOMAINS`. Without these allowlists a multi-tenant app accepts + **any** organization's users. + +### Cookie secret + +`oauth2-proxy` requires an encryption key for its session cookie. + +```bash +# Single-container quick-start (32-byte base64): +openssl rand -base64 32 + +# docker-compose example (16/24/32-char hex): +openssl rand -hex 16 +``` + +Set the result as `OAUTH2_PROXY_COOKIE_SECRET`. + +## Kerberos / Active Directory + +On a domain controller (or with delegated rights): + +```powershell +# 1. Create a service account, e.g. svc_docker, then map an SPN to it: +setspn -A HTTP/app.domain.com svc_docker + +# 2. Export a keytab: +ktpass /princ HTTP/app.domain.com@DOMAIN.COM ` + /mapuser DOMAIN\svc_docker ` + /pass YourPassword123 ` + /out C:\temp\app.keytab ` + /crypto All ` + /ptype KRB5_NT_PRINCIPAL +``` + +Mount the keytab at `/etc/nginx/app.keytab` and supply a Kerberos client config at `/etc/krb5.conf`: + +```ini +[libdefaults] + default_realm = DOMAIN.COM + dns_lookup_kdc = true + dns_lookup_realm = false + +[realms] + DOMAIN.COM = { + kdc = dc01.domain.com + admin_server = dc01.domain.com + } + +[domain_realm] + .domain.com = DOMAIN.COM + domain.com = DOMAIN.COM +``` + +If Kerberos auth fails or isn't available, Nginx falls back to OAuth automatically. + +## Logs + +All logs are written under `/app/logs/` inside the container — mount the directory to keep them on the host: + +| File | Source | Content | +|---|---|---| +| `app.log` | NLog (rotating, 7-day retention) | Startup, certificate generation, cluster polling, errors | +| `audit.log` | NLog (rotating, 30-day retention) | Login success/failure, access denied, logout — with user and client IP | +| `app.out.log` | stdout | Raw .NET process stdout | +| `app.err.log` | stderr | Raw .NET process stderr | +| `nginx-access.log` | Nginx | Standard combined access log | +| `nginx-error.log` | Nginx | Errors and warnings | +| `nginx-audit.log` | Nginx | Per-request audit log — real client IP, authenticated user, target host, status, response time | + +`nlog.config` is loaded from `/app/config/nlog.config` at startup with `autoReload="true"`, so log levels +can be changed without restarting the container. + +## Troubleshooting + +| Symptom | Likely cause | +|---|---| +| `certbot` fails with a Route53 error | AWS credentials or the DNS zone isn't actually in Route53. | +| `sso` container exits immediately | `RAVENDBSSO_Url` not set in `sso.env`. | +| `502 Bad Gateway` shortly after startup | The .NET sidecar on `127.0.0.1:3000` is still warming up — retry. | +| Login loops back to the provider | Wrong callback URL registered, or `OAUTH2_PROXY_COOKIE_SECRET` length is invalid (must be 16, 24, or 32 chars). | + +```bash +docker logs ravendb-sso # nginx + .NET app +docker logs certbot # certificate issues +``` + +## Next steps + +Once the SSO server is up, register its certificate and create SSO user entries in your RavenDB cluster +following [Configuring RavenDB for SSO](./configuring-ravendb-for-sso.mdx). diff --git a/docs/server/security/sso/overview.mdx b/docs/server/security/sso/overview.mdx new file mode 100644 index 0000000000..c122199dbb --- /dev/null +++ b/docs/server/security/sso/overview.mdx @@ -0,0 +1,71 @@ +--- +title: "SSO: Overview" +sidebar_label: Overview +description: "Authenticate RavenDB users through GitHub, Google, Microsoft/Entra ID, or Kerberos/AD via the RavenDB SSO reverse proxy." +sidebar_position: 1 +--- + +import Admonition from '@theme/Admonition'; + +# SSO: Overview + +RavenDB SSO lets users access a cluster using their existing identity provider — GitHub, Google, +Microsoft/Entra ID, or Windows/Kerberos — instead of distributing X.509 client certificates per user. +Authentication is handled by a dedicated **SSO application** (an authenticating reverse proxy) that sits +in front of one or more RavenDB clusters. RavenDB itself only needs to know which SSO servers it trusts +and how to map an SSO identity to a security clearance and database permissions. + +![SSO login page](./assets/login-page-all-providers.png) + +## Components + +| Component | Role | +|---|---| +| **SSO application** | Nginx + .NET 10 sidecar packaged as `ravendb/sso`. Terminates TLS, runs OAuth2 / Kerberos, issues a per-user ECDSA client certificate, and proxies to RavenDB over mTLS. | +| **`oauth2-proxy`** | Bundled inside the SSO image. Handles the OAuth2 dance for GitHub, Google, and Microsoft. | +| **RavenDB cluster** | Trusts the SSO server's certificate and resolves the SSO identity (embedded in the per-user cert) to a registered SSO user entry. | + +## Authentication flow + +1. The browser hits the SSO URL — for example `https://my-cluster.sso.example.com/studio/`. +2. Nginx checks for a valid JWT cookie. If none is present, it redirects to upstream auth: + - `/auth` — Kerberos/AD (`auth_gss`), or + - `/oauth` — `oauth2-proxy` for GitHub, Google, or Microsoft. +3. After upstream auth succeeds, Nginx forwards the authenticated username to the .NET sidecar at `/auth` + via the `X-Auth-User` header. +4. The sidecar generates a unique ECDSA client certificate for that user (cached by thumbprint) and issues + a JWT cookie containing the certificate and key paths. +5. Nginx validates the JWT and uses the referenced certificate to open an mTLS connection to RavenDB. +6. RavenDB sees a client certificate whose subject carries an **SSO identity extension** + (`Provider`, `Domain`, `Identifier` — `Domain` is only populated when `Provider = Windows`, where it + carries the Kerberos realm). It looks up a matching **SSO user entry** in the cluster and applies that + entry's security clearance and database permissions. + +## Trust model + +Two new certificate kinds are stored in the cluster: + +- **`Usage = SsoServer`** — the public certificate of a trusted SSO deployment. Registered once per SSO server. +- **`Usage = SsoClient`** — an **SSO user entry**: one or more `SsoIdentifier` tuples + (`Provider` + `Domain` + `Identifier`, where `Domain` is only used for Windows/Kerberos) plus the + RavenDB permissions to grant. Each entry either: + - pins to specific SSO servers via `SsoServerPublicKeyPinningHashes`, or + - sets `AllowAnySsoServer = true` to accept the identity from any trusted SSO server. + +This means a single SSO user entry can grant the same RavenDB permissions to a user who logs in through +multiple SSO deployments (production and staging, for example) by listing several pinning hashes. + +## Licensing + + +SSO is gated by the RavenDB license. Both registering an SSO server certificate and creating an SSO user +entry will fail with a license error if your license does not permit SSO. Registering an SSO server +certificate also requires the **Cluster Admin** security clearance — creating SSO user entries only requires +**Operator** clearance. + + +## Next steps + +- [Deploying the SSO application](./deploying-sso-app.mdx) — interactive `install.sh` / `install.ps1` installer (recommended), plus the equivalent manual Docker Compose setup. +- [SSO application configuration](./sso-configuration.mdx) — full reference of `settings.json` keys and `RAVENDBSSO_*` environment variables. +- [Configuring RavenDB for SSO](./configuring-ravendb-for-sso.mdx) — registering SSO server certificates and SSO user entries in your cluster. diff --git a/docs/server/security/sso/sso-configuration.mdx b/docs/server/security/sso/sso-configuration.mdx new file mode 100644 index 0000000000..65759be073 --- /dev/null +++ b/docs/server/security/sso/sso-configuration.mdx @@ -0,0 +1,149 @@ +--- +title: "SSO: Configuration Reference" +sidebar_label: Configuration Reference +description: "Full reference of settings.json keys and RAVENDBSSO_* environment variables consumed by the RavenDB SSO application." +sidebar_position: 3 +--- + +import Admonition from '@theme/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# SSO: Configuration Reference + +The SSO application reads its configuration from two sources, layered in this order (later sources override +earlier ones): + +1. `config/settings.json` (optional). +2. Environment variables prefixed with `RAVENDBSSO_` (or `RAVENDBSSO.`). + +In addition, the bundled `oauth2-proxy` and `certbot` containers read their own environment variables. + +## Environment-variable convention + +Every SSO setting can be expressed as a `RAVENDBSSO_*` environment variable. The mapping rules are: + +- Strip the `RAVENDBSSO_` (or `RAVENDBSSO.`) prefix. +- Each remaining underscore becomes a `:` to denote a nested configuration key. +- If the value parses as a JSON object or array, it is automatically flattened into nested keys. + +For example, `RAVENDBSSO_Clusters` containing a JSON array is equivalent to a top-level `Clusters` entry in +`settings.json`. + +## SSO application settings + +These map to properties on `SsoSettings`: + +| Setting | Environment variable | Default | Required | Description | +|---|---|---|---|---| +| `Url` | `RAVENDBSSO_Url` | — | **Yes** | Public SSO URL, e.g. `https://sso.example.com`. Used as the CORS origin and as the basis for the host log messages. | +| `CertificatePath` | `RAVENDBSSO_CertificatePath` | _falls back to Let's Encrypt certs in `./certs`_ | No | Path to the TLS certificate (PEM, full chain). | +| `CertificateKeyPath` | `RAVENDBSSO_CertificateKeyPath` | _falls back to Let's Encrypt certs in `./certs`_ | No | Path to the TLS private key. | +| `CertificateFlags` | `RAVENDBSSO_CertificateFlags` | — | No | `X509KeyStorageFlags` to use when loading the certificate. | +| `Clusters` | `RAVENDBSSO_Clusters` | `[]` | **At least one** | List of clusters to proxy. Each entry: `{ ClusterUrls: ["https://a.host", ...], ClusterAlias: "alias" }`. Each cluster is exposed at `.`. | +| `UserCertsDir` | `RAVENDBSSO_UserCertsDir` | `/app/users-certs` | No | Directory where per-user ECDSA client certificates are written. | +| `JwtKeyPath` | `RAVENDBSSO_JwtKeyPath` | `/app/certs/jwt/jwt.key` | No | Path to the JWT signing (private) key. | +| `JwtPubPath` | `RAVENDBSSO_JwtPubPath` | `/app/certs/jwt/jwt.pub` | No | Path to the JWT verification (public) key. | +| `InternalAuthSecret` | `RAVENDBSSO_InternalAuthSecret` | _injected by `start.sh`_ | No | Shared secret that Nginx attaches as the `X-Internal-Auth` header on internal mint/validate endpoints. When set, the sidecar rejects requests that don't present it; left empty in local/dev/test runs without Nginx, in which case the check is skipped. Generated automatically inside the container — you don't normally set this yourself. | + +### Defining clusters + + + + +```bash +# single cluster +RAVENDBSSO_Clusters=[{"ClusterUrls":["https://a.my-cluster.example.com"],"ClusterAlias":"my-cluster"}] + +# multiple clusters +RAVENDBSSO_Clusters=[{"ClusterUrls":["https://a.prod.example.com"],"ClusterAlias":"prod"},{"ClusterUrls":["https://a.dev.example.com"],"ClusterAlias":"dev"}] +``` + + + + +```json +{ + "Clusters": [ + { + "ClusterUrls": ["https://a.my-cluster.example.com"], + "ClusterAlias": "my-cluster" + } + ] +} +``` + + + + + +On Linux the SSO process rejects `JwtKeyPath`, `JwtPubPath`, `UserCertsDir`, `CertificatePath`, and +`CertificateKeyPath` if they resolve outside `/app` (the SSO image's working tree) or `/etc/nginx`. This +prevents environment-variable path injection — keep your customized paths under those directories. + + +### CLI flags + +| Flag | Purpose | +|---|---| +| `--generate-keys` | Generate the JWT keypair at `JwtKeyPath` / `JwtPubPath` and exit. Used once during initial setup or when rotating keys. | + +## OAuth2 / `oauth2-proxy` environment variables + +| Variable | Required | Description | +|---|---|---| +| `OAUTH2_PROXY_COOKIE_SECRET` | **Yes** | Cookie-encryption secret. **16, 24, or 32 characters** (or a 32-byte base64 value for the single-container quick-start). Generate with `openssl rand -hex 16` or `openssl rand -base64 32`. | +| `GITHUB_CLIENT_ID` / `GITHUB_CLIENT_SECRET` | One of three providers | GitHub OAuth app credentials. | +| `GITHUB_ALLOWED_ORGANIZATIONS` | No | Comma-separated GitHub org slugs (e.g. `my-org,another-org`). Users must be public org members, or the OAuth app must be approved via GitHub's *OAuth App Access Policy*. Empty = allow all. | +| `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` | One of three providers | Google OAuth credentials. | +| `GOOGLE_ALLOWED_EMAIL_DOMAINS` | No | Comma-separated permitted email domains (e.g. `example.com,corp.example.com`). Empty = allow all. | +| `MICROSOFT_CLIENT_ID` / `MICROSOFT_CLIENT_SECRET` | One of three providers | Azure AD / Entra ID app credentials. The SSO image uses oauth2-proxy's `entra-id` provider. | +| `MICROSOFT_TENANT` | One of three providers | A tenant GUID for **single-tenant** apps, or `common` / `organizations` / `consumers` for **multi-tenant**. `common` accepts any organization plus personal Microsoft accounts; `organizations` accepts any org but excludes personal accounts. Multi-tenant values automatically disable OIDC issuer verification (tokens come from many issuers). The Azure app registration's *Supported account types* must match, and `email` must be added as an optional ID-token claim so organizational accounts emit it (it becomes the username). | +| `MICROSOFT_ALLOWED_TENANTS` | No | Optional tenant allowlist for multi-tenant apps — comma-separated tenant GUIDs. Empty = allow all. The personal-accounts tenant id is `9188040d-6c67-4c5b-b112-36a304b66dad`. | +| `MICROSOFT_ALLOWED_EMAIL_DOMAINS` | No | Comma-separated permitted email domains for Microsoft sign-in. With a multi-tenant `MICROSOFT_TENANT` and an empty allowlist, **any organization's users can log in** — combine this with `MICROSOFT_ALLOWED_TENANTS` to scope access. | + +At least one OAuth provider must be configured unless you exclusively use Kerberos (see +[Deploying the SSO Application](./deploying-sso-app.mdx#kerberos--active-directory)). + +## Certbot environment variables (Let's Encrypt example) + +These are read by the bundled `certbot/dns-route53` container in `Raven.Sso/example/docker-compose.yml`. + +| Variable | Required | Description | +|---|---|---| +| `SSO_DOMAIN` | **Yes** | Must resolve to the same host as `RAVENDBSSO_Url`. | +| `CERT_EMAIL` | **Yes** | Email registered with Let's Encrypt. | +| `AWS_ACCESS_KEY_ID` | **Yes** | AWS access key for the Route53 DNS-01 challenge. | +| `AWS_SECRET_ACCESS_KEY` | **Yes** | Matching secret key. | +| `AWS_SESSION_TOKEN` | No | Only for temporary AWS credentials. | +| `AWS_REGION` | No | Default `us-east-1`. | +| `LETSENCRYPT_STAGING` | No | Set to `true` to use Let's Encrypt's staging issuer for testing (avoids production rate limits). | + +## Putting it together + +A minimal `sso.env` for a production deployment using Google and Microsoft sign-in: + +```bash +RAVENDBSSO_Url=https://sso.example.com +RAVENDBSSO_Clusters=[{"ClusterUrls":["https://a.my-cluster.example.com"],"ClusterAlias":"my-cluster"}] + +OAUTH2_PROXY_COOKIE_SECRET=$(openssl rand -hex 16) + +GOOGLE_CLIENT_ID=... +GOOGLE_CLIENT_SECRET=... +GOOGLE_ALLOWED_EMAIL_DOMAINS=example.com + +MICROSOFT_CLIENT_ID=... +MICROSOFT_CLIENT_SECRET=... +MICROSOFT_TENANT=common +MICROSOFT_ALLOWED_EMAIL_DOMAINS=example.com +``` + +And the matching `certbot.env`: + +```bash +SSO_DOMAIN=https://sso.example.com +CERT_EMAIL=ops@example.com +AWS_ACCESS_KEY_ID=... +AWS_SECRET_ACCESS_KEY=... +```