Configure Mutiple Identity Stripes for Process Automation
For Oracle Cloud Infrastructure Process
Automation, the primary (primordial) stripe is automatically federated using preconfigured groups. However, you can create separate environments for a single cloud service or application (for example, create one environment for development and one for production), where each environment has a different identity and security requirements.
Implementing one or more secondary stripes enables you to create and manage multiple instances of Oracle Identity Cloud
Service to protect your applications and Oracle Cloud services.
You can manually federate one or more secondary stripes with Oracle Cloud
Infrastructure using SAML IDP federation in which multiple Oracle Identity Cloud
Service stripes are associated with the same cloud account. Note that the account owner administers both primary and secondary stripes, but identities within the stripes are isolated from each other.
First, define a naming convention for the striping, as described in Define a Stripe Naming Convention. Then follow the steps below to manually federate a secondary stripe for your cloud account. You must be the account owner.
As a best practice, define a <stripename> for all the entities you'll create specific to the stripe. Uniquely identifying configurations associated with a stripe is important, especially when multiple stripes are configured.
In the sections that follow, you'll use stripename in these entities:
Entity
Naming convention
IDCS group
stripename_administrators
OCI group
oci_stripename_administrators
Compartment
stripename_compartment
Identity Provider
stripename_service
Policy
stripename_adminpolicy
Policy Statement
allow group oci_stripename_administrators to manage process-automation-instance in compartment stripename_compartment
Create an IDCS Group for Secondary Stripe Users 🔗
In IDCS, create a group in the secondary stripe and add users from the secondary stripe to the group.
Add a group in the secondary stripe, and name it stripename_administrators. For example, name it as stripe2_administrators. Click Finish.
These administrators will be granted permission to create Process Automation instances. This IDCS group will be mapped with an IAM group. See Map the IDCS and IAM Groups.
Add users from the secondary stripe to the group.
Create an OAuth Client in the Secondary Stripe 🔗
Create an IDCS confidential application that uses OAuth client credentials and is assigned the IDCS domain administrator role. You must create a confidential application per secondary stripe.
As an IDCS administrator, sign in to the secondary IDCS admin console.
Add a confidential application.
Navigate to the Applications tab.
Click Add.
Choose Confidential Application.
Name the application Client_Credentials_For_SAML_Federation.
Click Next.
Configure client settings.
Click Configure this application as a client now.
Under Authorization, select Client Credentials.
Under Grant the client access to Identity Cloud Service Admin APIs, click Add and select the app role Identity Domain Administrator.
Click Next twice.
Click Finish. Once the application is created, note its client ID and client secret. You’ll need this information in upcoming steps for federation
Click Activate and confirm activating the application.
Create an IAM Group for Secondary Stripe Users 🔗
This group is needed because the Oracle Cloud
Infrastructure SAML IDP federation requires group mapping for federating users from the federated IDP (IDCS), and OCI native group membership is required for defining and granting Oracle Cloud
Infrastructure permissions (policies) for federated users.
In the Oracle Cloud
Infrastructure Console, open the navigation menu and click Identity & Security. Under Identity, click Groups.
This IAM group will be mapped with the IDCS group you created.
Create a group and name it oci_stripename_administrators. For example, name it oci_stripe2_administrators.
Create the Federation and its Group Mapping 🔗
Now that you have the IDCS and IAM groups created and the client information needed, create the IDCS identity provider and map the groups.
Sign in to the Oracle Cloud
Infrastructure console. Select the identity domain of the primordial stripe (identitycloudservice) and enter its user credentials.
Keep in mind that group mapping for a secondary stripe uses the primordial stripe user sign in. This is important, since adding multiple stripes adds multiple options to this dropdown.
Open the navigation menu and click Identity & Security, then Federation.
Click Add Identity Provider.
In the resulting window, complete the fields as shown below.
Field
Information to Enter
Name
<stripename>_service
Description
Federation with IDCS secondary stripe
Type
Oracle Identity Cloud Service
Oracle Identity Cloud Service Base URL
Enter the following URL using the format:
https://idcs-xxxx.identity.oraclecloud.com
Replace the <idcs-xxxx> domain part with your secondary IDCS stripe.
Create an IAM Policy for Federated Users to Create Instances 🔗
With the federation done, set up IAM policies that allow federated users from the secondary IDCS stripe to create Oracle Cloud Infrastructure Process
Automation instances. As a common pattern, the policy is scoped to a compartment.
Create a compartment where Oracle Cloud Infrastructure Process
Automation instances for the secondary IDCS stripe can be created. Name the compartment stripename_compartment.
For example, create a compartment named stripe2_compartment.
Create a policy that will allow federated users to create Oracle Cloud Infrastructure Process
Automation instances in the compartment. Name the policy stripename_adminpolicy (for example, stripe2_adminpolicy).
Under Policy Builder, select Show manual editor.
Syntax: allow group stripename_administrators to verb resource-type in compartment stripename_compartment
Policy: allow group oci_stripe2_administrators to manage process-automation-instance in compartment stripe2_compartment
This policy allows a user who is a member of the group in the policy to create an Oracle Cloud Infrastructure Process
Automation instance (process-automation-instance) in the compartment named stripe2_compartment.
Provide Access to a Federated Stripe in the IAM Group for Secondary Stripe Users 🔗
Perform additional steps to enable the secondary stripe administrator and all other secondary stripe users to see stripes under federation.
In Oracle Identity Cloud
Service, create a group called stripe2_federation_administrators.
Add users to the group that you want to be able to see the federation and to create users and groups in the Oracle Cloud
Infrastructure console in that stripe.
In the Oracle Cloud
Infrastructure console, using the primary stripe user with the correct permission, create an IAM group called oci_stripe2_federation_administrators.
Map the stripe2_federation_administrators and oci_stripe2_federation_administrators groups.
Using the following statement examples, define a policy that grants access to federated stripes.
Several of the examples show how to grant access to a specific federated stripe, by using a where clause that identifies the secondary stripe.
You can get the federation's OCID from the federation view in the Oracle Cloud
Infrastructure console.
Allows secondary stripe administrators to...
Policy statement
Create groups (use)
allow group oci_stripe2_federation_administrators to use groups in tenancy
List the identity providers in the federation (inspect)
allow group oci_stripe2_federation_administrators to inspect identity-providers in tenancy
Note that if the secondary stripe admins are required to create groups, this policy is required when a where clause is included.
Access a specific federated stripe (use)
allow group oci_stripe2_federation_administrators to use identity-providers in tenancy where target.identity-provider.id=“ocid1.saml2idp.oc1..aaaaaaaaa…”
When you sign in as a user in the above IDCS group, you can create users and groups in the Oracle Cloud
Infrastructure console and assign permissions as you would in a primary stripe.
Create Process Automation Instances in the Secondary Stripe Compartments 🔗
With federation and Oracle Cloud
Infrastructure policies defined, federated users can sign into the Oracle Cloud
Infrastructure Console and create Oracle Cloud Infrastructure Process
Automation instances.
Sign in as a federated user from the secondary stripe.
Users will need to select the secondary stripe in the Identity Provider field. For example, stripe2_administrators.
Authorized administrators can ceate Process Automation instances in the specified compartment (for example, stripe2_compartment).