From a9c8ec32da68166241a9f3d990140a58411dea42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Hern=C3=A1n=20Carle?= Date: Fri, 8 Nov 2024 17:09:54 +0100 Subject: [PATCH 1/4] update x509 docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pablo Hernán Carle --- ...authenticating-with-client-certificates.md | 87 ++++++++++++------- ...authenticating-with-client-certificates.md | 45 +++++++--- 2 files changed, 88 insertions(+), 44 deletions(-) diff --git a/docs/user-guide/authenticating-with-client-certificates.md b/docs/user-guide/authenticating-with-client-certificates.md index 3245730850..7d0a477ae3 100644 --- a/docs/user-guide/authenticating-with-client-certificates.md +++ b/docs/user-guide/authenticating-with-client-certificates.md @@ -3,17 +3,18 @@ :::info Required roles: system administrator, security administrator ::: -Authentication for integration with API Mediation Layer (API ML) can also be performed by the client when the service endpoint is called through +Authentication for integration with API Mediation Layer (API ML) can also be performed by the client when the service endpoint is called through the API ML Gateway with client certificates. This method of authentication requires client certification to be enabled and configured. For details about this configuration, see [Enabling single sign on for clients via client certificate configuration](./api-mediation/configuration-client-certificates.md). :::note Notes: + * When calling the login endpoint with basic authentication credentials, as well as with client certificate, the basic - authentication credentials take precedence and the client certificate is ignored. + authentication credentials take precedence and the client certificate is ignored. * If you are calling a specific endpoint on one of the onboarded services, API Mediation Layer ignores Basic authentication. In this case, the Basic authentication is not part of the authenticated request. ::: -## How the Gateway resolves authentication +## How the Gateway resolves authentication When sending a request to a service with a client certificate, the Gateway performs the following process to resolve authentication: @@ -30,11 +31,12 @@ When sending a request to the login endpoint with a client certificate, the Gate 4. The Gateway then performs the login of the mapped user and returns a valid JWT token. :::note Notes: + * As of Zowe release 3.0.0, the Internal API ML Mapper is the default API that provides this mapping between the public part of the client certificate and SAF user ID. Alternatively, you can use Z Secure Services (ZSS) to provide this API for API ML, with the noted exception when using ACF2, although we recommend using the internal API ML mapper. * For information about ZSS, see the section Zowe runtime in the [Zowe server-side installation overview](./install-zos.md). ::: -The following diagram shows how routing works with ZSS, in the case where the ZSS API is used for the identity mapping. +The following diagram shows how routing works with ZSS, in the case where the ZSS API is used for the identity mapping. ![Zowe client certificate authentication diagram](../images/api-mediation/zowe-client-cert-auth.png) @@ -42,24 +44,41 @@ The following diagram shows how routing works with ZSS, in the case where the ZS For more information, see the Medium blog post [Zowe client certificate authentication](https://medium.com/zowe/zowe-client-certificate-authentication-5f1c7d4d579). ::: -## Configure your z/OS system to support client certificate authentication for a specific user +## Configure your z/OS system to support client certificate authentication for specific users + +Register the client certificate with the user IDs in your ESM. -Register the client certificate with the user ID in your ESM. The following commands apply to both the internal API ML mapper and ZSS. +The following commands show options for both the internal API ML mapper and ZSS. -**RACF** +:::note + +If using the internal API ML mapper (default from Zowe v3) and the MAP / CERTMAP option with distinguished name filters, use the `CHCKCERT` or equivalent command on the certificate to use the same order and format as displayed. +::: + +**RACF**
-Click here for an example command in RACF. +Click here for an example command in RACF. - ``` - RACDCERT ADD() ID() WITHLABEL('
@@ -69,11 +88,9 @@ Alternatively, if you are using the internal API ML mapper, use the following co
Click here for an example command in ACF2. - `INSERT . DSNAME('') LABEL(
+ Alternatively, if you disabled the internal API ML mapper, use the following command to add the certificate to an ACID + ```acf2 + INSERT . DSNAME('') LABEL(