arrow-left

All pages
gitbookPowered by GitBook
1 of 8

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

OpenID Connect (OIDC)

hashtag
Configure CISO Assistant with OpenID Connect (OIDC)

Once you've retrieved the IdP Entity ID, the Metadata URL and the Entity ID from your provider (see the list of providers for specific details), the configuration on CISO Assistant is pretty simple.

  1. Log in into CISO Assistant as an administrator > Extra > Settings

  2. Navigate to SSO settings

  3. Enable SSO

  4. Select the OpenID Connect provider

  5. Enter the Client ID

  6. Enter the Client secret

  7. Enter the Server URL

  8. And that's it! Don't forget to click the 'Save' button

  9. You should now be able to see the Login with SSO button

circle-exclamation

Be aware that the user needs to be created on CISO Assistant to be authenticated with SSO.

Identity providers

circle-check

You can log into CISO Assistant with any identity provider (IdP), given that it supports either SAML or OpenID Connect (OIDC).

Don't find documentation on how to set up SSO with your identity provider? Feel free to reach out to us on Discordarrow-up-right, or contribute to the docsarrow-up-right.

Microsoft Entra ID

Configure Microsoft Entra ID as an Identity Provider for CISO Assistant

Go into your Azure portal home

  1. Open the sidebar menu and click on Microsoft Entra ID

  2. Click on Add button > Entreprise application

  3. Click on Create your own application

  4. Enter a name and then click Integrate any other application you don’t find in the gallery (Non-gallery)

  5. Click on Single sign-on from the sidebar menu or on Set up single sign on bellow Getting Started and choose SAML

  6. In the first box Basic SAML Configuration, specify the Entity ID, it has to be the same than SP Entity ID in CISO Assistant (see next screenshot)

  7. Add the Reply URL: <base_url>/api/accounts/saml/0/acs/ (for example with localhost: https://localhost:8443/api/accounts/saml/0/acs/)

  8. In the third box SAML Certificates, copy the App Federation Metadata Url as it is the Metadata URL in CISO Assistant (see next screenshot)

  9. In the fourth box Set up <App_name>, copy the Microsoft Entra Identifier as it is the IdP Entity ID in CISO Assistant

  10. Make sure you use the same Identifier (Entity ID) that you've set earlier and appear on block 1, on CISO Assistant SP Entity ID:

  11. Click on Users and groups in the sidebar menu, and Add user/group to give them access to CISO Assistant with SSO. The matching key will be the email and you'll be able to grant their permissions on the applications.

  12. You can now with the 3 parameters you've retrieved.

hashtag
1. Introduction

Go to your Microsoft Azure Portal

hashtag
2. Navigate to App Registrations

circle-exclamation

Adding a user in your Entra application doesn't automatically create the user on CISO Assistant

Okta

Configure Okta as an Identity Provider for CISO Assistant

Go into your Okta admin console (it should look like this: https://<your_url>.okta.com/admin/dashboard)

  1. In the sidebar menu, click on Applications > Applications

  2. Click now on Create App Integration

  3. Select SAML 2.0 and click on Next

  4. Choose an App name and click on Next

  5. Add the Single sign-on URL: <base_url>/api/accounts/saml/0/acs/ (for example with localhost: https://localhost:8443/api/accounts/saml/0/acs/) (see screenshot below)

  6. Add the Audience URI (SP Entity ID), it has to be the same than SP Entity ID in CISO Assistant (see screenshot below)

  7. Choose Email as the Application username

  8. Add Attribute Statements

    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname for user's first name

    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname for user's last name

  9. Click on Next and fill in the Feedback page as you wish then click on Finish

  10. In the Settings box inside SAML 2.0:

    • Copy the Metadata URL and paste it into the Metadata URL field in CISO Assistant

    • Copy the Issuer url and paste it into the IdP Entity ID

  11. Go to the Assignments tab

  12. Click on Assign and choose whether you want to assign users or specific groups

circle-exclamation

Add a user in your application doesn't automatically create the user on CISO Assistant

You can now with the 3 parameters you've retrieved.

Click the App registrations section to add a new application for OIDC configuration. You can also use the search bar if you don't find it in the suggestions.
Navigate to App Registrations

hashtag
3. Start New Application Registration

Start New Application Registration

hashtag
4. Name your application

Name your application

hashtag
5. Select Web Platform in Redirect URI options

Select Web Platform in Redirect URI options

hashtag
6. Enter the callback URL of your instance

The callback URL is: <ciso_assistant_url>/api/accounts/oidc/openid_connect/login/callback/ for

for instance, for localhost: http://localhost:8000/api/accounts/oidc/openid_connect/login/callback/

Enter the callback URL of your instance

hashtag
7. Complete Application Registration

Complete Application Registration

hashtag
8. Copy the Application Client ID

Copy the Application Client ID

hashtag
9. Past it into the Client ID field

Past it into the Client ID field

hashtag
10. Open Certificates & Secrets

Open Certificates & Secrets

hashtag
11. Create a New Client Secret

Create a New Client Secret

hashtag
12. Add your Client Secret

Add your Client Secret

hashtag
13. Copy the fresh Client Secret Value

Copy the fresh Client Secret Value

hashtag
14. Past it into the Secret field

Past it into the Secret field

hashtag
15. Go back to your App Overview

Go back to your App Overview

hashtag
16. Inside Endpoints copy the OpenID Connect metadata URL

Inside Endpoints copy the OpenID Connect metadata URL

hashtag
17. Paste it into the Server URL field

Paste it into the Server URL field

hashtag
18. Save your configuration

Save your configuration
circle-check

You have successfully configured OpenID Connect (OIDC) integration with EntraID.

configure CISO Assistant
Introduction
field in CISO Assistant

configure CISO Assistantarrow-up-right

SAML

triangle-exclamation

Please note: if OIDC mode has ben configured before, you must reset the Client ID field to 0 in the OIDC tab and save before proceeding.

Failure to do so will prevent proper SAML configuration. This behavior is known and will be addressed in future releases.

hashtag
Configure CISO Assistant with SAML

Once you've retrieved the IdP Entity ID, the Metadata URL and the Entity ID from your provider (see the list of providers for specific details), the configuration on CISO Assistant is pretty simple.

  1. Log in into CISO Assistant as an administrator > Extra > Settings

circle-exclamation

Be aware that the user needs to be created on CISO Assistant to be authenticated with SSO.

SSO

Configure Single Sign-On with different SAML or OpenID Connect providers

hashtag
Documented providers

  • Microsoft Entra ID

Okta
Keycloak
Google Workspace
  • Enable SSO

  • Enter the Idp Entity ID

  • Choose the option 1 or 2 depending of your provider and fill Metadata URL or SSO URL, SLO URL, x509 certificate retrieved from your provider

  • Check that the SP Entity ID is similar to the Entity/Client ID specified on your provider

  • And that's it! Don't forget to save changes

  • You should now be able to see the Login with SSO button

    • Allow single label domains: This allows you to authenticate through SAML on a single-label domain (e.g. https://ciso-assistant:8443). If this is left unchecked, the only host forms allowed are:

      • IPv4

      • IPv6

      • FQDN (e.g. https://www.example.com/)

      • localhost

    Keycloak

    Configure Keycloak as an Identity Provider for CISO Assistant

    triangle-exclamation

    If Keycloak and CISO Assistant are both deployed locally with docker, you'll need to make sure that both containers can communicate together. You can do this with a bridge networkarrow-up-right.

    Go into your Keycloak admin console

    1. Open the sidebar menu > Clients and Create client

    2. Choose SAML client type and name it ciso-assistant or with your custom SP Entity ID

    3. Fill the Home URL with your <base_url> and Valid redirect URIs with <backend_url/*>

      If you have some problems to configure these urls you can ask for help on or by emailing us

    4. Go into Keys and disable Signing keys config

    5. Go into Advanced and fill ACS field with <backend_url/api/accounts/saml/0/acs/> (on a cloud instance it is simply <base_url/api/accounts/saml/0/acs/>)

    6. Go to Client scopes and click on ciso-assistant-dedicated

    7. Add a predefined mapper and check all X500 ones

    8. Click on X500 surname and replace SAML Attribute name with http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname

    9. Click on X500 givenName and replace SAML Attribute name with http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

    10. Go into Realm settings > General, you will find the Metadata URL

    11. You'll find inside the Metadata URL the Entity ID

    Go into your Keycloak admin console

    1. Open the sidebar menu > Clients and Create client

    2. Choose OpenID Connect client type and give it a Client ID, then click Next

    circle-exclamation

    Adding a user in your application doesn't automatically create the user on CISO Assistant

    You can now with the parameters you've retrieved.

    Enable Client authentication, make sure Standard flow is selected, then click Next

  • Enter your deployment's Root URL. It is the URL of your frontend.

    1. Set it to <frontend_url>

    2. For cloud deployments, you must set it to <base_url>

  • Set the Home URL to /

  • Enter your Valid redirect URIs

    1. Set it to <backend_url>/api/accounts/oidc/openid_connect/login/callback/

    2. For cloud deployments, you must set it to <base_url>/api/accounts/oidc/openid_connect/login/callback/

  • Once your client is created, you can find its Client secret under the Credentials tab. You can copy it from there

  • Go into Realm settings > General to find the OpenID Endpoint Configuration, which you will have to paste into CISO Assistant's Server URL SSO parameter

  • Discordarrow-up-right
    configure CISO Assistantarrow-up-right

    Google Workspace

    Configure Google Workspace as an Identity Provider for CISO Assistant

    triangle-exclamation

    Google Workspace doesn't allow callbacks to urls containing http or localhost so it can be tricky to test it locally. You should deploy CISO Assistant with a FQDN to bypass these restrictions.

    Go into Google Workspace Admin console

    On the sidebar menu, go to Applications > Web and mobile applications

  • Click on Add an application > Add a custom SAML Application

  • Enter ciso-assistant or the name of your choice and click on continue

  • You can copy the SSO URL, Entity Id and x509 certificate here but you'll be able to retreive them later

  • Fill ACS URL with <base_url>/api/accounts/saml/0/acs/, enter the Entity ID which has to be the same than SP entity Id in CISO Assistant (ciso-assistant by default) and choose Email in Name ID Format

  • Add two mappings for First name and Last Name, fill them with those two values: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname

  • On application home page, you can now find the Entity ID, SSO URL and x509 certificate

  • circle-exclamation

    Add a user in your application doesn't automatically create the user on CISO Assistant

    You can now with the 3 parameters you've retrieved.

    configure CISO Assistantarrow-up-right