IBM Security Verify
You can configure IBM Security Verify as the identity and access management (IAM) solution for applications that are developed for IBM Enterprise Application Runtimes. IBM Security Verify is a managed, highly available identity as a service (IDaaS) provider that protects applications that are deployed across multiple clouds.
Before you begin
- A deployed IBM Enterprise Application Runtimes environment.
- An IBM Security Verify tenant. If you don't already have a tenant, you can create a free tenant.
Configuration steps
The configuration steps are divided into two sections. In the first section, an organization administrator sets up the OIDC IdP. In the second section, developers build application images with the OIDC details provided by the administrators.
- For identity provider administrators:
-
- Log in to IBM Security Verify. If you cannot find your IBM Security Verify tenant URL, the welcome email from
ibmacct@iam.ibm.comcontains your tenant details. Your IBM Security Verify tenant URL is https://<tenant-id>.ice.ibmcloud.com/ui/admin. - Navigate to the Configuration section.

- In the Configuration section, navigate to where you can add an API Client.

- Click Add API Client.

- Name and configure the new API Client.

- Select Manage OIDC client registration dynamically to ensure that applications are automatically registered with IBM Security Verify as the identity provider. This setting simplifies the experiences for application registration with product runtime operators.

Other API permissions can be configured. For more information, see Managing API access.
- Save the new API Client. Verify that it is added to the API access table.

- Click the edit button to enter the newly created API Client.

- When selecting the recently created API client, you can see the client ID and secret that are needed to configure IBM Security Verify with IBM Enterprise Application Runtimes. The copy buttons next to each field make it easier to grab the data to paste into IBM Enterprise Application Runtimes Custom Resource Definitions (CRDs).

- In addition to the Client ID and Secret that are associated with your API Client, you must add your Discovery Endpoint URL to your product custom resource definitions. To construct your Discovery Endpoint URL, append your IBM Security Verify Tenant ID to the beginning of the following generic Discovery Endpoint URL:
.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration.You can find your IBM Security Verify Tenant ID in the address bar of your browser when you are logged in to IBM Security Verify. Your IBM Security Verify Tenant ID is the leading text string in the address bar, directly preceding
.ice. For example, if the URL of your IBM Security Verify address istenant-id.ice.ibmcloud.com/ui/admin, your IBM Security Verify Tenant ID istenant-id, then your Discovery Endpoint URL istenant-id.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration.In the following example IBM Security Verify URL,
xxxxxxis the text that you append to the beginning of the generic tenant endpoint URL to construct the full tenant endpoint URL ofxxxxxx.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration.
- The data elements that you need when you configure the operator are:
- Discovery Endpoint URL, which can be constructed from the tenant ID from your IBM Security Verify URL, along with the other items defined in step #10.
- Client ID and secret, which can be found in step #9.
- Provide the details in step #9 and #10 to the corresponding developers that might need to configure their application images with an OIDC IdP.
- Log in to IBM Security Verify. If you cannot find your IBM Security Verify tenant URL, the welcome email from
- For developers:
-
- Open your Red Hat OpenShift portal or command line.
- Create an OpenLibertyApplication custom resource and enter your Discovery Endpoint URL. You will get your Discovery Endpoint URL from step #10 or from your administrator. For more information, see the OpenLiberty operator documentation.
apiVersion: openliberty.io/v1beta1 kind: OpenLibertyApplication metadata: name: test1-app spec: replicas: 1 applicationImage: image-registry.openshift-image-registry.svc:5000/test1/rp1 expose: true service: port: 9443 route: termination: passthrough sso: oidc: - discoveryEndpoint: <discovery-endpoint-url> autoRegisterSecret: my-autoreg-secret-olapp-ssoFor example:
apiVersion: openliberty.io/v1beta1 kind: OpenLibertyApplication metadata: name: test1-app spec: replicas: 1 applicationImage: image-registry.openshift-image-registry.svc:5000/test1/rp1 expose: true service: port: 9443 route: termination: passthrough sso: oidc: - discoveryEndpoint: <tenant-id>.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration autoRegisterSecret: my-autoreg-secret-olapp-sso - Create a Kubernetes secret that holds the client ID and secret that are associated with IBM Security Verify that you captured in step #9 or that is provided by your administrator. For more information, see the OpenLiberty operator documentation.
apiVersion: v1 kind: Secret metadata: name: my-autoreg-secret-olapp-sso # Secret must be created in the same namespace as the OpenLibertyApplication instance namespace: demo type: Opaque data: # base64 encode the data before entering it here. #IBM Security Verify requires a special clientId and clientSecret for registration, and the registration URL. clientId: <client_ID> clientSecret: <secret>For example:
apiVersion: v1 kind: Secret metadata: name: my-autoreg-secret-olapp-sso # Secret must be created in the same namespace as the OpenLibertyApplication instance namespace: demo type: Opaque data: # base64 encode the data before entering it here. #IBM Security Verify requires a special clientId and clientSecret for registration, and the registration URL. clientId: 4c94878a-ba69-44ae-a164-038j84b9022m clientSecret: y7fwHBvDBJ
What to do next
- To add your developers into the IBM Security Verify tenant, see the Managing users.
- To configure your application with IBM Security Verify, see Managing your applications.
- To configure the policies on your applications, see Managing access policies.
All tenants of IBM Security Verify (free or paid) are also entitled to IBM Application Gateway (IAG). This provides a proxy to help bridge the journey to cloud. IAG can help make the journey to cloud easier for legacy applications using non-OIDC authentication flows.