> ## Documentation Index
> Fetch the complete documentation index at: https://siderolabs-fe86397c-1-11-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Workspace ONE Access for Omni

Workspace ONE Access

This section describes how to create a *Web App* inside Workspace ONE Acces (WSOA).

First, login to the WSOA user interface and browse to ***Resources -> Web Apps -> New***

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-web-apps-resources.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=abdf2170ee05df3b7aa1b88fcacbc1ee" alt="" width="730" height="330" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-web-apps-resources.png" />

Next, enter values for the following options before clicking on *Next*.

| Option      | Value       | Description                              |
| ----------- | ----------- | ---------------------------------------- |
| Name        | Omni        | A descriptive name for the Web App       |
| Description | Sidero Omni | A description for the Web App            |
| Icon        | Image       | An icon to be displayed on the dashboard |

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-definition.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=0cac8e01b5439633a3416fb0356d910e" alt="" width="1026" height="844" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-definition.png" />

On the ***Single Sign-On*** page, enter the following values:

| Option              | Value                               | Description                                       |
| ------------------- | ----------------------------------- | ------------------------------------------------- |
| Authentication Type | SAML 2.0                            | The Authentication type. Options are SAML or OIDC |
| Configuration       | Manual                              | We will use manual to specify the fields          |
| Single Sign-On URL  | `https://{omni-host}/saml/acs`      | The SSO URL for Omni                              |
| Recipient URL       | `https://{omni-host}/saml/acs`      | The Recipient URL for Omni                        |
| Application ID      | `https://{omni-host}/saml/metadata` | The Omni metadata URL                             |
| Username format     | Unspecified                         | The username format is unspecified                |
| Username value      | `${user.userName}`                  | The username sent in the SAML assertion           |
| Relay State URL     | Blank                               | Leave this empty                                  |

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-single-sign-on-authentication-type-settings.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=679a32e6b32e5bd55e56d554550f29d1" alt="" width="1026" height="1493" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-single-sign-on-authentication-type-settings.png" />

Still on the ***Single Sign-On*** page, in the ***Advanced Properties*** section, set the following toggle buttons;

| Option                      | Value            | Description                      |
| --------------------------- | ---------------- | -------------------------------- |
| Sign Response               | False            | Sign the SAML response.          |
| Sign Assertion              | True             | Sign the SAML assertion.         |
| Encrypt Assertion           | False            | Encrypt the SAML assertion.      |
| Include Assertion Signature | False            | Include the assertion signature. |
| Device SSO Response         | False            | Enable Device SSO response.      |
| Enable Force Authn Request  | False            | Enable Force Authn Request.      |
| Signature Algorithm         | SHA-256 with RSA | The signature algorithm.         |
| Digest Algorithm            | SHA-256          | The digest algorithm.            |
| Assertion Lifetime          | 200              | The assertion lifetime.          |

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-single-sign-on-relay-state-url.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=24f7b9824c6f6c52625a0efb684f2270" alt="" width="1026" height="1493" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-single-sign-on-relay-state-url.png" />

At the bottom of the ***Single Sign-On*** page, in the ***Custom Attribute Mapping*** section, add the following attributes:

| Name      | Format      | Namespace | Value               | Description              |
| --------- | ----------- | --------- | ------------------- | ------------------------ |
| email     | Unspecified |           | `${user.email}`     | The user’s email address |
| firstName | Unspecified |           | `${user.firstName}` | The user’s first name    |
| lastName  | Unspecified |           | `${user.lastName}`  | The user’s last name     |
| groups    | Unspecified |           | `${groupNames}`     | The user’s groups        |

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-custom-attribute-mapping.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=0c9e3072e07f7bf122344c7320d6ca2f" alt="" width="1032" height="344" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-custom-attribute-mapping.png" />

Click ***Next*** to continue and select the access policy as required by your organization.

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-access-policies.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=1025f08f2a3f4a1af8647cf691cbc3c9" alt="" width="1044" height="329" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-access-policies.png" />

Now it’s time to click the ***Save & Assign*** button and permit the Users and Groups allowed to login to Omni.

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-cancel-back-save.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=3b68da133e0d231880b0b2710725ec0c" alt="" width="509" height="94" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-cancel-back-save.png" />

On the ***Assign*** screen, enter the following:

* Select the permitted group from your backing Active Directory or LDAP server.
* Set the ***Deployment Type*** to ***Automatic***.

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-application-omni-updated.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=0bf11dc88a69e73b66e530ed5c8b42b0" alt="" width="1427" height="526" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-application-omni-updated.png" />

Finally, obtain the ***IdP*** Metadata URL by clicking on ***Settings*** and then the ***Copy URL*** link.

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-web-apps-new.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=0bd5dcd03722ec10b60d098085e43807" alt="" width="919" height="197" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-web-apps-new.png" />

<Info>
  This is the URL that will be used by Omni in the command line arguments in the next section.
</Info>

<img src="https://mintcdn.com/siderolabs-fe86397c-1-11-reference/U_SN-wgEoJ5FectN/omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-settings-download-saml-metadata.png?fit=max&auto=format&n=U_SN-wgEoJ5FectN&q=85&s=e3a944b20fc8469f42107e8282948911" alt="" width="873" height="417" data-path="omni/security-and-authentication/using-saml-with-omni/images/configure-workspace-one-access-settings-download-saml-metadata.png" />

### Omni <a href="#omni" id="omni" />

Provide the following flags to the Omni container on launch.

| Flag                                             | Description                                                                                                       |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| `--auth-saml-enabled`                            | Enable SAML authentication.                                                                                       |
| `--auth-saml-url`                                | The URL to the IdP metadata file.                                                                                 |
| `--auth-saml-label-rules='{"groups": "groups"}'` | This extracts the `groups` attribute from the SAML assertion into the label `saml.omni.sidero.dev/groups/<value>` |

For example;

```bash
--auth-saml-enabled=true
--auth-saml-url=https://{workspace-one-host}/SAAS/API/1.0/GET/metadata/idp.xml
--auth-saml-label-rules='{"groups": "groups"}'
```

Now that you have started Omni with the correct flags, refer to the [Auto-assign roles to SAML users](https://omni.siderolabs.com/docs/how-to-guides/how-to-auto-assign-roles-to-saml-users/) guide for information on how to automatically assign roles to users based on their SAML attributes.

Note that when using groups, the group name is prefixed with `saml.omni.sidero.dev/groups/` instead of role. For example;

```yaml
metadata:
  namespace: default
  type: SAMLLabelRules.omni.sidero.dev
  id: assign-admin-to-platform-admins-label
spec:
  assignroleonregistration: Operator
  matchlabels:
    - saml.omni.sidero.dev/groups/omni-platform-administrators
```
