Skip to main content

Add Roles and Permissions

Add Role-Based Access Control (RBAC) for organisations and users within an ecosystem. Define Roles, granting permissions to chosen participants within by using Role Metadata.

Prerequisites

  • Domains available and configured within the platform.

    Add a Domain if there is no available already.

  • Get an Access Token with the directory:website scope–if you want to create or manage Roles and their Metadata using Connect's APIs.

Create Role

Roles can be created only for an already existing authorization domain. A role cannot exist by itself–it needs to be associated with a domain.

  1. Select Reference Data > Domains and Roles.

  2. Use the dropdown to expand the Domain where you want to add a role.

  3. Select + Add Role.

  4. Fill in all the required fields and save.


Field NameDescription
Authorisation Domain NameCommon name of the associated Domain
Role NameName of the role
Role TypeType of the Role

Federation: Defining how an organisation client application's software statement is presented to the broader ecosystem.

Federation roles influence the interaction pattern between the client application and the ecosystem. It shapes the client endpoint behavior and its relations with Authorisation Servers.

Directory: Directory roles determine the manner in which an organisation's client applications communicate with the Connect's APIs. Modifications to Directory roles are applied across all client applications registered within a framework.
Is this role exclusive?Controls whether an organisation can have other roles assigned. If an organisation has an exclusive role assigned, it cannot have any other role assigned.
DescriptionDescription of the Role

Add Role Metadata

  1. Select Reference Data > Domains and Roles.

  2. Using the dropdown button, expand the Domain where you want to configure a role by defining its metadata.

  3. Select the role for which you wish to add metadata.

  4. Select New Metadata.

  5. Fill in the fields defining the role metadata.


    MetadataDescription
    Entity TypeType of the entity to which the metadata applies to. Read more about available entity types.
    Claim NameMetadata type - specific information the client application is able to request or the authorization server to support. Read more about metadata types.
    Policy OperatorAction on the metadata parameter: a value check, value modification, or both. Read more about policy operators.
    Data TypeType of the data stored in metadata.
    ValueValue of the role's metadata.
  6. Save new role metadata.

Available Entity Types

Entity TypeDescription
OpenID ProviderThe OP is the authorization server / identity provider, in an OpenID Connect flow. It authenticates the user and issues the ID Token and Access Token.
OAuth Authorization ServerThe authorization server is the system that handles user authentication and issues tokens (ID Tokens, Access Tokens, Refresh Tokens). It’s responsible for verifying the user’s identity and providing the client app with the information it needs.
OpenID Relying PartyThe RP is the client application that uses OIDC. It redirects the user to the OP for authentication and then relies on the returned ID/access token.
OAuth ClientThe client application is the app gets authorization from the user and authenticates to the authorization server. Uses the returned tokens to know who the user is and to call APIs.
Difference between OP/Authorization Server and RP/OAuth Client

While OpenID Provider and OAuth Authorization server or Relying Parties and OAuth clients seem the same, there are some subtle differences.


An OpenID Provider is always an OAuth Authorization Server, but an Authorization Server is not always an OpenID Provider. An OpenID Relying Party is always an OAuth client, but not all OAuth clients are Relying Parties.


In both cases, the difference lies in the metadata profile issued for the given entity type. On Raidiam Connect, there are no functional differences between both pairs of types but different sections of metadata being issued in case OpenID Federation is being used as the underlying Trust Scheme in the Trust Framework.


For example, OAuth Dynamic Client Registration Metadata is issued only for OpenID Relying Parties–which does not need to be a case for OAuth client. For OpenID Provider, the metadata defined in OpenID Connect Discovery will be issued, which may not be the case for an OAuth authorization server.

Available Metadata Types

claim

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerSpecific pieces of information the OP/Authorization Server may issue as parts of ID tokens/Access Tokens to convey information about the client, user, or authentication event.name, family_name
OpenID Relying Party / OAuth ClientSpecific pieces of information requested by organisation's client applications to be included within the requested access and/or ID tokens to convey information about the client, user, or authentication event.name, family_name

claim_in_verified_claims

Verified claims differ from regular claims by enabling strong assurance of a claim according to the OpenID Connect Specification for Identity Assurance.

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerSpecific and verified pieces of information the OP/Authorization Server may issue as parts of ID tokens/Access Tokens to convey information about the client, user, or authentication event.name, family_name
OpenID Relying Party / OAuth ClientSpecific and verified pieces of information requested by organisation's client applications to be included within the requested access and/or ID tokens to convey information about the client, user, or authentication event.name, family_name

For example of how verified claims look like, see the OIDC for Identity Assurance specification section #5.

scope

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerScopes the authorization server can support in order to enable client access.email, openid, profile
OpenID Relying Party / OAuth ClientUsed by client applications to specify the access scopes the client requests from the OP/authorization server.email, openid, profile

It is considered a best practice to always limit the scopes requested only to the absolute necessary ones for security purposes.

If you are adding metadata to a role of the directory type and wish to enable client applications to access Connect's APIs, Raidiam's OAuth Authorisation Server accepts three values: directory:website, directory:software, and directory:admin.

Within Connect, all client applications are by default assigned the directory:software scope to enable them to access the platform's APIs.

response_type

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerDefines the response types the authorization server can use when responding to token or authorization requests.code token
OpenID Relying Party / OAuth ClientDetermines the response type the client application can request while making requests to the Authorisation Server's /authorization and /token endpoints.code token

One of: code, code token, code id_token, id_token token, code id_token token For more information about response types and their detailed descriptions, see the OAuth 2.0 Multiple Response Type Encoding Practices specification section #5.

grant_type

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerDefines the grant types the authorization server must support and use for client application accessauthorization_code
OpenID Relying Party / OAuth ClientSpecifies the OAuth grant type (flow) the client application can use while requesting authorization from the user or token from the authorisation server.authorization_code

If you are adding metadata to a role of the directory type and wish to enable client applications to access Connect's APIs, Raidiam's OAuth Authorisation Servers accepts two values: authorization_code, or client_credentials.

Within Connect, all client applications are by default assigned the client_credentials flow to enable them to access the platform's APIs.

is_resource_server

Specifies whether the entity represents a resource server or not.

One of: true, false

authorization_details_type

Entity TypeMetadata Type descriptionExample
OpenID Provider / OAuth Authorization ServerDefines the fine-grained permissions (authorization details types) the authorization server can use while issuing tokens to client applicationspayment_amount
OpenID Relying Party / OAuth ClientEnables client applications to specify their fine-grained authorization requirements while using the OAuth 2.0 Rich Authorization Requests (RAR) grant type.payment_amount

Available Policy Operators

OperatorDescription
valueThe value must match exactly what is defined.
defaultProvides a default value when none is supplied elsewhere.
one_ofThe value must be one item from the allowed list.
subset_ofThe value must be a subset of the allowed policy list.
superset_ofThe value must contain all required items, but may include more.
addAppends values to the policy’s existing list.
removeRemoves values from the policy list.
subset_of_keysThe keys of an object must be a subset of allowed keys.
superset_of_keysThe keys must include all mandatory keys.
one_of_keysThe object must contain one of allowed keys.

Delete Role

For security purposes, Raidiam enables Global Administrators only to soft-delete Roles by disabling them.

You can disable an Role by selecting the Disable button (access forbidden sign under Actions) or by using the Update Authorisation Domain Role and setting the role's status to inactive.

Manage Roles Using APIs

Raidiam Connect allows organisations to integrate with the following APIs for Authorisation Domain Management:

For Metadata, you can integrate with the following APIs:

Next Steps

Assign roles to Organisations.