Entra ID - Secure Sign and Rooms integration
This is a guide on how to setup single sign on for Secure Sign and Secure Rooms. For setting up user syncing to Secure Mail, refer to Entra ID - Secure Mail integration guide
Go through Entra ID - Graph API setup first to setup Graph API and prepare the values required for the following steps.
You should have something like the following after the previous guide:
Step 6. Redirect URI: https://example.com/redirect_uri
Step 9. Application ID: 4290173a-9421-4eb6-acb4-03f2add15a5f
Step 15. Secret value: QOY8Q~PUfWKuZOiwUynuKWMvyvZOm4Ve-nMWkcE_
Step 15. Secret ID: db380eec-79aa-41d4-9e8a-3de5bd41238a
Step 23. Tenant ID: 6e518c62-cf72-4239-bf34-c47959d688ac
Step 26. OpenID Connect metadata document: https://login.microsoftonline.com/6e518c62-cf72-4239-bf34-c47959d688ac/v2.0/.well-known/openid-configuration
Step 27. OpenID Connect metadata document for OIDCProviderIssuer: https://login.microsoftonline.com/6e518c62-cf72-4239-bf34-c47959d688ac/v2.0/
Step 31. Group ID: fe6a70bc-00f4-4b60-8576-81bfae175578
After finishing preparations, first go through the installation according to the D-Center configuration section below. In case of issues during the installation, go through the “Manual installation” section
D-Center configuration
- The following two steps might need opening ports for yum:
nft insert rule filter OUTPUT ip daddr 0/0 tcp dport 80 ct state new accept - Access the server node 1 by ssh and run the following commands
yum install mod_auth_openidc
- Access the server node 2 by ssh and run the following commands
yum install mod_auth_openidc
- Close the ports with:
nft -a list chain filter OUTPUT
# Find the rule set above and remove it with:
nft delete rule filter OUTPUT handle [handle number]
- Add access to local firewall for contacting Microsoft service
#Access to login.microsoftonline.com
add rule filter OUTPUT tcp dport 443 meta skuid d3web ct state new accept
- Go to D-Center and log in
- Navigate to "Instance > Settings > secSigned > OpenID Connect"
- Switch "Enable OIDC" to "on" state
- Edit OIDC information based on your notes mentioned at the start of this guide
- Claim that contains username:
OIDC_CLAIM_email - OIDCClientID: Application id from Entra ID setup step 9.
- OIDCClientSecret: Client secret value from Entra ID setup step 15
- OIDCCryptoPassphrase: A long and server specific password. Create this by yourself.
- OIDCProviderIssuer: Same as OIDCProviderMetadataURL minus
/.well-known/openid-configurationfrom the end. From Entra ID setup step 27 - OIDCProviderMetadataURL: URL from Entra ID setup step 26
- OIDCProviderTokenEndpointAuth:
client_secret_post - OIDCRedirectURI: The URL from Entra ID setup step 6
- Claim that contains username:
- Navigate to "Instance > Settings > secSigned > Azure AD Integration"
- Fill input fields based on your notes mentioned at the start of this guide
- Go to "Groups" tab
- Add "linking" groups (These are groups where Secure Sign users should be in Entra ID).
- Repeat the steps from 6-12 for Secure Rooms
Manual installation
- In case the automatic installation doesn't work, access the server and make ensure that the following changes are setup properly
- The following two steps might need opening ports for yum:
nft insert rule filter OUTPUT ip daddr 0/0 tcp dport 80 ct state new accept - Access the server node 1 by
sshand Install Apache OIDC moduleyum install mod_auth_openidc - Access the server node 2 by
sshand Install Apache OIDC moduleyum install mod_auth_openidc - Close the ports with:
nft -a list chain filter OUTPUT
# Find the rule set above and remove it with:
nft delete rule filter OUTPUT handle [handle number]
- Enable OIDC in collabRoom/secSigned configurations:
/server/$instance/config/dboard.cfg USE_OIDC 1
/server/$instance/config/dsigning.cfg USE_OIDC 1 - Make the necessary apache configurations below:
Replace the values inside [] with the appropriate values from Entra ID and instance configurations according to the notes below:
- Claim that contains username:
OIDC_CLAIM_email - OIDCClientID: Application id from Entra ID setup step 9.
- OIDCClientSecret: Client secret value from Entra ID setup step 15
- OIDCCryptoPassphrase: A long and server specific password. Create this by yourself.
- OIDCProviderIssuer: Same as
OIDCProviderMetadataURLminus/.well-known/openid-configurationfrom the end. From Entra ID setup step 27 - OIDCProvederMetadataURL: URL from Entra ID setup step 26
- OIDCProviderTokenEndpointAuth:
client_secret_post - OIDCRedirectURI: The URL from Entra ID setup step 6
/etc/httpd/conf.d/collabroom_oidc
<Location "/collabroom.cgi">
AuthType openid-connect
Require valid-user
Require claim [OIDCRequiredClaim]
</Location>
/etc/httpd/conf.d/D-Signing_oidc
<Location "/stats.cgi">
AuthType openid-connect
Require valid-user
Require claim [OIDCRequiredClaim]
</Location>
<Location "/signing.cgi">
AuthType openid-connect
Require valid-user
Require claim [OIDCRequiredClaim]
</Location>
/etc/httpd/conf.d/[instance]_openidc
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCSSLValidateServer Off
OIDCClientID [OIDCClientID]
OIDCClientSecret [OIDCClientSecret]
OIDCCryptoPassphrase [OIDCCryptoPassphrase]
OIDCProviderTokenEndpointAuth [OIDCProviderTokenEndpointAuth]
OIDCProviderMetadataURL [OIDCProviderMetadataURL]
OIDCRedirectURI [OIDCRedirectURI]
OIDCScope "openid email"
OIDCSessionInactivityTimeout 7200
OIDCProviderIssuer [OIDCProviderIssuer]
OIDCSessionMaxDuration 7200
## Uncomment the used products
#Include conf.d/collabroom_oidc
#Include conf.d/D-Signing_oidc
<Location /redirect_uri>
AuthType openid-connect
Require valid-user
</Location>
Finally, add the following line to /etc/httpd/conf.d/[instance].conf
Include conf.d/[instance]_openidc
And run systemctl reload httpd