Configuring a Global Identity Provider
Integrating with an Identity Provider enables single sign on and auto-assignment for Access Reviews.
For organizations with many users and access reviewers, enabling a global Identity Provider (IdP) eliminates the need to manually specify additional reviewers by email, or create additional Veza user accounts for reviewers. When enabled:
Administrators and Operators can create reviews and assign reviews for any IdP user in a domain.
Any IdP user able to log in to Veza with single sign-on (SSO) can authenticate without the need to provision an account beforehand. See Sign-In Settings to enable SSO.
Managers and Resource Owners can be auto-assigned as reviewers.
At present, Veza support must make the API call to customize global IdP settings. See the following sections for prerequisites and the request format.
Before you start
The authorization graph must contain entities for an integrated provider data source. See the integration guides for:
Use Query Builder to search for a user from your identity provider, and retrieve the provider’s
datasource_id
.Single Sign-On should be enabled to allow external users to log in to Veza.
Veza support will supply an
auth_provider_id
for the Veza SSO connection.
Update global identity provider settings request
PUT workflows/access/global_settings/idp_settings
Enable Veza to suggest reviewers from the graph, by specifying the SSO auth provider id
and the identity provider data source instance id
:
enabled
Set true
to enable the provider as a Global IdP.
auth_provider_id
Internal UID for the single sign-on provider instance.
user_type
Graph entity type to search for users, such as CustomIDPUser
or OktaUser
.
instance_id
The UID for a provider in the data catalog.
user_identity_property
Unique entity property used to identify the IdP, typically idp_unique_id
.
instance_id_property
The user entity property used to identify the IdP instance (e.g. instance_id
).
manager_identity_property
The user entity property used to identify the manager.
active_user_conditions
Filter string for identifying inactive users e.g. {"fn": "EQ", "property": "is_active", "value": true}
`user_identity_property` should be a globally unique value. Setting this to a name or email should be avoided as a best practice.
Notes:
auth_provider_id
identifies users with entries in the local user database and will also map correlated graph entities.There can be several instances of an identity provider for a given
user_type
.instance_id
ensures the user info is pulled from the correct instance and domain.Veza will populate the user list by searching for nodes of type
user_type
withinstance_id_property
equal toinstance_id
.Setting
"instance_id_property": "datasource_id"
will typically achieve the correct behavior.
Examples
Okta:
Microsoft Azure AD:
Custom Identity Provider:
Validating global identity provider settings
You can confirm changes are working as intended by starting a review and selecting reviewers:
If the
user_type
,instance_id
, andinstance_id_property
are correct, identities from the graph will appear in the suggestions.If
auth_provider_id
is correct, SSO users should only appear once in the scenario above. The local user entry is filtered from the list. Only the user record from the graph entity will appear.
Last updated