From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id E1FF71FF15E
	for <inbox@lore.proxmox.com>; Tue, 11 Feb 2025 07:06:35 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 9133D1B414;
	Tue, 11 Feb 2025 07:06:31 +0100 (CET)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1739253951; x=1739858751;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=1ipEMBp5iD5tqrTSg45mksSaMt49eitu2Mf1O4eqtbw=;
 b=SUd95yMUbTjtxhQtgBue/uVqaJpwU2zcnAGMKYOCeh32VA0Z41asCZGOfCfP8fXSEs
 Fhmd/iWp5Pk4dMDtgFjWnTQ8uv/UcEBlg5SHZol0nxVxVgO4yKw8eHlZRUJXaceYL2Er
 j9VVLuNQLGrviMOQPxspQwd4VaFHHiAOOos+YIv1gyGhNSAZCDKiPKtKzHLLwYuehuiR
 SEFoF/hSD5rFxH8+BXmp7kYcbAvk9VqGlcKHdzMaLwB2Qi+2fUPe27ibvamurQEWDToB
 NpbjSwgwOLVKaW1We5E0QAB+gLgCQyplB2AJLRHwfZsffUbtZYdJGBvmq7xKJkODigyJ
 mnGw==
X-Gm-Message-State: AOJu0Yw29WdBdSQ70Tmpy7cdvbWjIxhZBxASl04udslnAtmCjaeSp/M+
 ETtr58LbH34Q0YRn2ikrvioEb8De3TgODu3qAEEPOKW/qG4b765V9jQYoHci
X-Gm-Gg: ASbGncvQ7pgQGX2Z/Vd3HIkfHWUcrJ07+cXR6zwbhs73y6lj6qvmnoop/Zg2O7axt7D
 prbuHFB0a6mwT8TC51qmzPvyixx1n+XZPUlsIt3tlB4KMaMI+LjihA1F74g7wbzRbbCid2lp0+K
 WBwv9bFfo3X3U0jQ0BRLhyRIHdfS//Z/HJtGgS+MOMiBbHpXviPjaIEs9ho/SczlzyTR7dewz3/
 Tvh9eWHaF46krj1C7Pz5Yzuj/WO1J4BvooR5hUsNDyQ6XIL7vFXEgmMfltKVK37RGBoIksU6C++
 XDpUgFJqa9OoTs1TnyNGeTWUT7lIDA8JPDPhCXRSeN8rYfT49AeGe1S3HZUlp04MC1/GljSEAMZ
 XekIFZqrjRXn2STzi/94HBT3RZAZY
X-Google-Smtp-Source: AGHT+IFmaHfIIcbJ7Whxm0jtddepB3Kmp9SEZL+iqIh3qZXtHKTah/R3tFYbJWhgYWu5HZ9gZi59eg==
X-Received: by 2002:a05:690c:c96:b0:6f6:c95c:85b5 with SMTP id
 00721157ae682-6f9b29d8c44mr135712627b3.25.1739252436717; 
 Mon, 10 Feb 2025 21:40:36 -0800 (PST)
From: Thomas Skinner <thomas@atskinner.net>
To: pve-devel@lists.proxmox.com
Date: Mon, 10 Feb 2025 23:40:26 -0600
Message-Id: <20250211054029.1269099-2-thomas@atskinner.net>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250211054029.1269099-1-thomas@atskinner.net>
References: <20250211054029.1269099-1-thomas@atskinner.net>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.007 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 FREEMAIL_FORGED_FROMDOMAIN 0.001 2nd level domains in From and EnvelopeFrom
 freemail headers are different
 FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider
 HEADER_FROM_DIFFERENT_DOMAINS 0.001 From and EnvelopeFrom 2nd level mail
 domains are different
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_DNSWL_NONE     -0.0001 Sender listed at https://www.dnswl.org/,
 no trust RCVD_IN_MSPIKE_H3       0.001 Good reputation (+3)
 RCVD_IN_MSPIKE_WL       0.001 Mailspike good senders
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH docs v3 1/1] fix #4411: openid: add docs for
 openid groups support
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Thomas Skinner <thomas@atskinner.net>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

Signed-off-by: Thomas Skinner <thomas@atskinner.net>
---
 pveum.adoc | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/pveum.adoc b/pveum.adoc
index 81565ab..1166f17 100644
--- a/pveum.adoc
+++ b/pveum.adoc
@@ -456,6 +456,15 @@ use the `autocreate` option to automatically add new users.
 * `Username Claim` (`username-claim`): OpenID claim used to generate the unique
 username (`subject`, `username` or `email`).
 
+* `Autocreate Groups` (`groups-autocreate`): Create all groups in the claim
+instead of using existing PVE groups (default behavior).
+
+* `Groups Claim` (`groups-claim`): OpenID claim used to retrieve the groups from
+the ID token or userinfo endpoint.
+
+* `Overwrite Groups` (`groups-overwrite`): Overwrite all groups assigned to user
+instead of appending to existing groups (default behavior).
+
 Username mapping
 ^^^^^^^^^^^^^^^^
 
@@ -479,6 +488,41 @@ Another option is to use `email`, which also yields human readable
 usernames. Again, only use this setting if the server guarantees the
 uniqueness of this attribute.
 
+Groups mapping
+^^^^^^^^^^^^^^
+
+Specifying the `groups-claim` setting in the OpenID configuration enables group
+mapping functionality. The data provided in the `groups-claim` should be
+a list of strings that correspond to groups that a user should be a member of in
+{pve}. To prevent collisions, group names from the OpenID claim are suffixed 
+with `-<realm name>` (e.g. for the OpenID group name `my-openid-group` in the 
+realm `oidc`, the group name in {pve} would be `my-openid-group-oidc`).
+
+Any groups reported by the OpenID provider that do not exist in {pve} are
+ignored by default. If all groups reported by the OpenID provider should exist
+in {pve}, the `groups-autocreate` option may be used to automatically create
+these groups on user logins.
+
+By default, groups are appended to the user's existing groups. It may be 
+desirable to overwrite any groups that the user is already a member in {pve}
+with those from the OpenID provider. Enabling the `groups-overwrite` setting
+removes all groups from the user in {pve} before adding the groups reported by
+the OpenID provider.
+
+In some cases, OpenID servers may send groups claims which include invalid
+characters for {pve} group IDs. By default, each invalid character is replaced
+with an underscore (`'_'`). To adjust the character used for replacement, adjust 
+the `groups-replace-character` setting to any valid character for a {pve} group
+ID (i.e. includes alphanumeric characters and any of the following: `'-'`,
+`'_'`, `'.'`).
+
+Advanced settings
+^^^^^^^^^^^^^^^^^
+
+* `Groups Replacement Character` (`groups-replace-character`): Character to
+replace invalid characters in groups names from the OpenID provider. Default
+behavior is to replace each invalid character with an underscore (`'_'`).
+
 Examples
 ^^^^^^^^
 
-- 
2.39.5


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel