Skip to content

Commit 5d6d027

Browse files
authored
Merge branch 'main' into RHIDP-7849
2 parents e68acb3 + 5ae1e92 commit 5d6d027

18 files changed

+211
-189
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1+
cron
2+
Entra
3+
IdP
4+
Operator
5+
MSGraph
16
scaffolder

.vale.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ BasedOnStyles = RedHat,DeveloperHub,AsciiDocDITA
2323
AsciiDocDITA.AttributeReference = NO
2424
AsciiDocDITA.ShortDescription = NO
2525
AsciiDocDITA.CrossReference = NO
26+
AsciiDocDITA.ConditionalCode = NO

assemblies/assembly-authenticating-with-the-guest-user.adoc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
[id="authenticating-with-the-guest-user_{context}"]
44
= Authenticating with the Guest user
55

6-
To explore {product-short} features, you can skip configuring authentication and authorization.
7-
You can configure {product-short} to log in as a Guest user and access {product-short} features.
6+
For trial or non-production environments, you can enable guest access to skip configuring authentication and authorization and explore {product-short} features.
87

98
include::modules/authentication/proc-authenticationg-with-the-guest-user-on-an-operator-based-installation.adoc[leveloffset=+1]
109

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
:optional-steps: disable
3+
4+
[id='enabling-authentication-with-mandatory-steps-only']
5+
= Enabling authentication in {product} (with mandatory steps only)
6+
7+
include::modules/authentication/con-understanding-authentication-and-user-provisioning.adoc[leveloffset=+1]
8+
9+
10+
include::assembly-authenticating-with-the-guest-user.adoc[leveloffset=+1]
11+
12+
13+
include::modules/authentication/proc-enabling-user-authentication-with-rhbk.adoc[leveloffset=+1]
14+
15+
16+
include::modules/authentication/proc-enabling-user-authentication-with-github.adoc[leveloffset=+1]
17+
18+
19+
include::modules/authentication/proc-enabling-user-authentication-with-microsoft-azure.adoc[leveloffset=+1]
20+

assemblies/assembly-enabling-authentication.adoc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
:_mod-docs-content-type: ASSEMBLY
2+
:optional-steps: enable
23

34
[id='enabling-authentication']
45
= Enabling authentication in {product}
56

6-
7-
8-
97
include::modules/authentication/con-understanding-authentication-and-user-provisioning.adoc[leveloffset=+1]
108

119

assemblies/dynamic-plugins/assembly-configuring-rhdh-plugins.adoc

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,24 @@ include::assembly-enabling-configuring-jfrog.adoc[leveloffset=+1]
1515
// Keycloak - modularized
1616
include::assembly-enabling-configuring-keycloak.adoc[leveloffset=+1]
1717

18+
1819
// Nexus - modularized
1920
include::assembly-enabling-configuring-nexus.adoc[leveloffset=+1]
2021

2122
// Tekton - modularized
2223
include::../../modules/dynamic-plugins/proc-enabling-the-tekton-plugin.adoc[leveloffset=+1]
2324

24-
// Topology - no-change
25-
include::assembly-install-topology-plugin.adoc[leveloffset=+1]
25+
// Topology
26+
include::../dynamic-plugins/assembly-install-topology-plugin.adoc[leveloffset=+1]
27+
28+
// Bulk Importing
29+
include::../assembly-bulk-importing-from-github.adoc[leveloffset=+1]
2630

31+
// ServiceNow
2732
include::../assembly-using-servicenow.adoc[leveloffset=+1]
2833

34+
// Kubernetes Custom Actions
2935
include::../assembly-using-kubernetes-custom-actions.adoc[leveloffset=+1]
3036

31-
include::../../modules/dynamic-plugins/proc-overriding-core-backend-services.adoc[leveloffset=+1]
37+
// Overriding Core Backend Service Configuration
38+
include::../modules/dynamic-plugins/proc-overriding-core-backend-services.adoc[leveloffset=+1]

modules/authentication/con-understanding-authentication-and-user-provisioning.adoc

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
= Understanding authentication and user provisioning
44

5-
This module provides an overview of how authentication and user provisioning function within {product}.
6-
Learn about the process from creating user and group entities in the software catalog to user sign-in, and how authentication and catalog plugins enable each step.
5+
Learn about the authentication process from creating user and group entities in the software catalog to user sign-in, and how authentication and catalog plugins enable each step.
76
Understanding this process is essential for successfully configuring your {product-short} instance, securing access through authorization, and enabling features that rely on synchronized user and group data.
87

98
To fully enable catalog features, provision user and group data from the Identity Provider to the {product-short} software catalog.
@@ -18,21 +17,29 @@ On successful authentication, the {product-short} authentication plugin, configu
1817

1918
Configuring authentication and user provisioning is critical for several reasons.
2019

21-
* It secures your {product-short} instance by ensuring only authenticated users can gain access.
22-
* It enables authorization by allowing you to define access controls based on user and group memberships synchronized from your IdP.
20+
* Securing your {product-short} instance by ensuring only authenticated users can gain access.
21+
* Enabling authorization by allowing you to define access controls based on user and group memberships synchronized from your IdP.
2322
* Provisioning user and group data to the catalog is necessary for various catalog features that rely on understanding entity ownership and relationships between users, groups, and software components.
24-
Without this provisioning step, features like displaying who owns a component in the catalog may not function correctly.
23+
+
24+
[IMPORTANT]
25+
====
26+
Without this provisioning step, features such as displaying who owns a catalog entity might not function correctly.
27+
====
2528

2629
[TIP]
2730
====
2831
To explore {product-short} features in a non-production environment, you can:
2932
3033
* To use {product-short} without external IdP, enable the guest user to skip configuring authentication and authorization, log in as the guest user, and access all {product-short} features.
3134
32-
* To use {product-short} without authorization policies and features relying on the software catalog, you can enable the `dangerouslyAllowSignInWithoutUserInCatalog` resolver option. This setting bypasses the check requiring a user to be in the catalog but still enforces authentication.
35+
* To use {product-short} without authorization policies and features relying on the software catalog, you can enable the `dangerouslyAllowSignInWithoutUserInCatalog` resolver option.
36+
This setting bypasses the check requiring a user to be in the catalog but still enforces authentication.
3337
====
3438

3539
[IMPORTANT]
3640
====
37-
{product-short} uses a one-way synchronization model, where user and group data flow from your Identity Provider to the {product-short} software catalog. As a result, deleting users or groups manually through the {product-short} Web UI or REST API might be ineffective or cause inconsistencies, since those entities will be recreated during the next ingestion.
41+
{product-short} uses a one-way synchronization model, where user and group data flow from your Identity Provider to the {product-short} software catalog.
42+
As a result,
43+
deleting users or groups manually through the {product-short} Web UI or REST API might be ineffective or cause inconsistencies,
44+
since {product-short} will create those entities again during the next import.
3845
====

modules/authentication/proc-authenticationg-with-the-guest-user-on-a-helm-based-installation.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
[id="authenticating-with-the-guest-user-on-a-helm-based-installation_{context}"]
44
= Authenticating with the Guest user on a Helm-based installation
55

6-
On a Helm-based installation, you can configure {product-short} to log in as a Guest user and access {product-short} features.
6+
For trial or non-production environments installed by using the {product} Helm chart, you can enable guest access to skip configuring authentication and authorization and explore {product-short} features.
77

88
.Prerequisites
9-
* You {configuring-book-link}[added a custom {product-short} application configuration], and have sufficient permissions to modify it.
9+
* You {configuring-book-link}[added a custom {product-short} application configuration], and have enough permissions to change it.
1010
* You {configuring-book-link}#using-the-helm-chart-to-run-rhdh-with-your-custom-configuration[use the {product} Helm chart to run {product-short}].
1111

1212
.Procedure
13-
* To enable the guest user in your {product-short} custom configuration, {configuring-book-link}#using-the-helm-chart-to-run-rhdh-with-your-custom-configuration[configure your {product} Helm Chart] with following content:
13+
* Add following content to your {product} Helm Chart:
1414
+
15-
.{product} Helm Chart configuration fragment
1615
[source,yaml]
1716
----
1817
upstream:

modules/authentication/proc-authenticationg-with-the-guest-user-on-an-operator-based-installation.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
[id="authenticating-with-the-guest-user-on-an-operator-based-installation_{context}"]
44
= Authenticating with the Guest user on an Operator-based installation
55

6-
After an Operator-based installation, you can configure {product-short} to log in as a Guest user and access {product-short} features.
6+
For trial or non-production environments installed by using the {product} Operator, you can enable guest access to skip configuring authentication and authorization and explore {product-short} features.
77

88
.Prerequisites
9-
* You {configuring-book-link}[added a custom {product-short} application configuration], and have sufficient permissions to modify it.
9+
* You {configuring-book-link}[added a custom {product-short} application configuration], and have enough permissions to change it.
1010
* You {configuring-book-link}#using-the-operator-to-run-rhdh-with-your-custom-configurationn[use the {product} Operator to run {product-short}].
1111

1212
.Procedure
13-
* To enable the guest user in your {product-short} custom configuration, {configuring-book-link}#provisioning-your-custom-configuration[edit your {product-short} application configuration] with following content:
13+
* Add the following content to the `{my-app-config-file}` file:
1414
+
15-
.`{my-app-config-file}` fragment
1615
[source,yaml]
1716
----
1817
auth:

modules/authentication/proc-creating-a-custom-transformer-to-provision-users-from-rhbk-to-the-software-catalog.adoc

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
[id="creating-a-custom-transformer-to-provision-users-from-rhbk-to-the-software-catalog"]
44
= Creating a custom transformer to provision users from {rhbk-brand-name} ({rhbk}) to the software catalog
55

6-
To customize how {rhbk} users and groups are mapped to {product} entities, you can create a backend module that uses the `keycloakTransformerExtensionPoint` to provide custom user and group transformers for the Keycloak backend.
6+
Customize how {product} provisions users and groups to {product} software catalog entities,
7+
by creating a backend module that uses the `keycloakTransformerExtensionPoint` to offer custom user and group transformers for the Keycloak backend.
78

89
.Prerequisites
910
* You have xref:enabling-user-authentication-with-rhbk[enabled provisioning users from {rhbk-brand-name} ({rhbk}) to the software catalog].
@@ -14,9 +15,8 @@ To customize how {rhbk} users and groups are mapped to {product} entities, you c
1415
. Add your custom user and group transformers to the `keycloakTransformerExtensionPoint`.
1516

1617
+
17-
The following is an example of how the backend module can be defined:
18+
The following is an example `plugins/__<module_name>__/src/module.ts` file defining the backend module:
1819
+
19-
.`plugins/__<module-name>__/src/module.ts`
2020
[source,javascript]
2121
----
2222
import {
@@ -63,7 +63,7 @@ export const keycloakBackendModuleTransformer = createBackendModule({
6363
+
6464
[IMPORTANT]
6565
====
66-
The module's `pluginId` must be set to `catalog` to match the `pluginId` of the `keycloak-backend`; otherwise, the module fails to initialize.
66+
Set the module's `pluginId` to `catalog` to match the `pluginId` of the `keycloak-backend`; otherwise, the module fails to initialize.
6767
====
6868

6969
. Install this new backend module into your {product-short} backend.
@@ -76,16 +76,17 @@ backend.add(import(backstage-plugin-catalog-backend-module-keycloak-transformer)
7676
.Verification
7777

7878
* {product-short} imports the users and groups each time when started.
79-
Check the console logs to verify that the synchronization is completed.
79+
Check the console logs to verify the synchronization result.
80+
+
81+
Successful synchronization example:
8082
+
81-
.Successful synchronization example:
8283
[source,json]
8384
----
8485
{"class":"KeycloakOrgEntityProvider","level":"info","message":"Read 3 Keycloak users and 2 Keycloak groups in 1.5 seconds. Committing...","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}
8586
{"class":"KeycloakOrgEntityProvider","level":"info","message":"Committed 3 Keycloak users and 2 Keycloak groups in 0.0 seconds.","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}
8687
----
8788

88-
* After the first import is complete, navigate to the *Catalog* page and select **User** to view the list of users.
89+
* After the first import is complete, go to the *Catalog* page and select **User** to view the list of users.
8990

9091
* When you select a user, you see the information imported from {rhbk}.
9192

0 commit comments

Comments
 (0)