Collaborating Groups and Shared Workflow - AWS Nitro and ACI Apps

Prev Next

1.0 Introduction

This article describes the steps to create, manage, and revoke collaborating groups in Fortanix Confidential Computing Manager (CCM).

A Collaborating Group in Fortanix CCM represents a collaboration established between two groups that belong to different Fortanix CCM accounts. Through this collaboration, the participating groups can securely share selected resources and work together on common workflows.

This document explains the end-to-end collaboration process, including creating collaborating groups, sharing collaboration tokens, building shared workflows, approving workflows, and managing collaboration lifecycle events.

2.0 Collaborating Groups for AWS Nitro or ACI Applications

A Fortanix CCM collaborating group is created when groups from different Fortanix CCM accounts establish a collaboration. Through this collaboration, the groups can share resources and participate together in workflows.

In a collaborating setup:

  • One group acts as the consumer group and initiates the collaboration.

  • One or more groups act as publisher groups and participate by contributing permitted resources.

The collaboration is represented and managed through shared workflows, which enforce controlled interaction, approval sequencing, and access restrictions between participating groups.

This section describes collaboration between three Fortanix CCM groups from different Fortanix CCM accounts using a workflow that includes an ACI application and two datasets. In this example, one group acts as the consumer group and the other two groups act as publisher groups.

3.0 Create Consumer Group

This section describes how to create consumer groups that participate in a workflow collaboration with publisher groups.

In this example, a consumer group is created in a Fortanix CCM account and initiates collaboration with publisher groups using a shared workflow. The consumer group adds an ACI application and placeholder dataset nodes to the workflow, enabling publisher groups to contribute datasets to the shared workflow.

Perform the following steps to create a consumer group for workflow-based collaboration:

  1. Log in to Fortanix CCM and create a new account, for example, DemoA, or log in to an existing account. For more information on how to log in and create a new Fortanix CCM account, refer to the Logging In guide.

  2. From the CCM left navigation panel, click the Groups menu item, and on the Groups page, click + ADD GROUP to create the consumer group.

    Figure 1: Create consumer group

  3. In the GROUP form, do the following:

    a. Name: Enter a name for the group. For example, DemoA-Group1.

    b. Description (optional): Enter a short description for the group.

    c. Labels (optional): Add one or more key–value labels to the group.

  4. Click SAVE to create the consumer group.

    Figure 2: Consumer group created

The group is created successfully.

3.1 Create Application

Perform the following steps to create an application:

  1. Click the group to open the detailed view of the consumer group.

  2. Create a new ACI application in the consumer group to participate in the workflow collaboration. From the group’s details page, go to the APPLICATIONS tab.

  3. On the Applications page, click + ADD APPLICATION to add a new application.

    Figure 3: Consumer group details page

  4. On the APPLICATION dialog box, select the ACI application click ADD to proceed to create an application.

    Figure 4: Select application

    For more information on how to create an Enclave OS or ACI application, refer to the Add and Edit an Application guide.

4.0 Create Publisher Groups

This section describes how to create publisher groups that participate in workflow collaboration with a consumer group.

In this example, two publisher groups are created in different Fortanix CCM accounts and contribute datasets to a shared workflow initiated by the consumer group.

NOTE

To collaborate with resources in the consumer group, you must create two additional groups in different Fortanix CCM accounts as collaboration between groups within the same account is not supported.

Perform the following steps:

  1. Create two new Fortanix CCM accounts, for example, DemoB and DemoC, or log in to existing accounts if they already exist. For steps to log in and create a new Fortanix CCM account, refer to the Logging In guide.

  2. Repeat Steps 2 to 4 in Section 3.0: Create Consumer Group, to create the two new publisher groups, for example DemoB-Group2 and DemoC-Group3.

4.1 Create Dataset

Perform the following steps to create datasets:

  1. Create a dataset in the first publisher group (DemoB-Group2) to participate in the workflow collaboration. From the detailed view of DemoB-Group2, click the Datasets menu item, and on the DATASET page, click + ADD DATASET to create a new dataset.

    Figure 5: Add dataset

  2. In the DATASET form, do the following:

    1. Name: Enter a name for the dataset. For example, DatasetB.

    2. Description (Optional): Enter a short description of the dataset.

    3. Labels (Optional): Add one or more key–value labels to the dataset.

    4. Location: Enter the URL where the data can be accessed.

    5. Long Description: Enter the dataset details in GitHub-flavored Markdown format or click Fetch Long Description to import the Markdown file content from an external URL. Ensure that Cross-origin resource sharing (CORS) is enabled on the external URL so that Fortanix CCM can access it. For more information, refer to the steps for AWS and Azure.

    6. Credentials: Enter the credentials required to access the data.

    7. Click SAVE to create the dataset.

      Figure 6: Create dataset for publisher group 1

      The dataset is created successfully.

  3. Repeat Steps 1 and 2 to create a dataset, for example, DatasetC for the second publisher group DemoC-Group3.

    Figure 7: Create dataset for publisher group 2

    For more information on how to create a dataset, refer to the Create Datasets guide.

5.0 Generate Collaboration Token

To initiate collaboration, a consumer group must authenticate itself to a publisher group. Without authentication, a publisher group could receive unsolicited or spam collaboration requests from multiple consumer groups. To prevent this, the publisher group administrator generates a “collaboration token”, which serves as proof of identity for collaboration requests.

When a consumer group requests collaboration, it includes the collaboration token provided by the publisher group in the request. The publisher group then verifies the token and authenticates the consumer group before allowing the collaboration to proceed.

Perform the following steps to generate the collaboration token:

  1. Go to the detailed view of DemoB-Group2 in the DemoB account.

  2. Click COLLABORATE to generate a new collaboration token.

    Figure 8: Collaborate

  3. On the COLLABORATE dialog box, click + GENERATE to generate the token.

    Figure 9: Generate token

  4. Click COPY to copy the collaboration token.  

    You must share this collaboration token with the consumer group administrator to enable collaboration. The method used to share the collaboration token is outside the scope of this guide.

    Figure 10: Copy collaborating token

  5. Similarly, go to the detailed view of DemoC-Group3 in the DemoC account and repeat Steps 1 to 4 above to generate and copy the collaboration token for DemoC-Group3. Then, share this token with the consumer group.

  6. Click SHOW TOKENS to view the previously generated tokens.

    Figure 11: View token

6.0 Create Collaborating Group

This section explains the collaboration process between the consumer group and the publisher group using the collaboration token shared by the publisher group.

Perform the following steps to create a collaborating group for workflow collaboration:

  1. Open the detailed view of the consumer group, for example DemoA-Group1, in the DemoA account.

  2. Click ACCEPT TOKEN.

    Figure 12: Accept collaboration token

  3. In the ACCEPT TOKEN dialog box, paste the collaboration token shared by the publisher group in Section 5.0: Generate Collaboration Token.

  4. Click PROCEED to initiate the collaboration request.

    Figure 13: Enter collaborating token

  5. Navigate to Groups and select the COLLABORATION GROUPS tab.

  6. On the CONSUMER tab and verify that the consumer group DemoA-Group1 appears associated with the publisher group DemoB-Group2.

    Figure 14: Consumer group collaboration request

  7. In the Status column, observe that the collaboration request is in the Pending state.

    NOTE

    The publisher group must accept the collaboration request before collaboration can begin.

  8. Go to the publisher group (DemoB-Group2) and select the COLLABORATION GROUPS tab.

  9. On the PUBLISHER tab, verify that DemoB-Group2 shows an association request from DemoA-Group1.

    Figure 15: Publisher group association

  10. Click the overflow menu Overflow.png for the publisher group row and click ACCEPT to approve the collaboration request.

    Figure 16: Approve collaboration

  11. Verify that the collaboration status updates to Accepted in the publisher group view.

    Figure 17: Status accepted

  12. Return to the consumer group account (DemoA) and confirm that the collaboration status for the consumer group (DemoA-Group1) also shows Accepted.

    Figure 18: Status accepted

  13. Repeat Steps 1 to 12 to create a collaborating group between DemoA-Group1 and DemoC-Group3 using the collaboration token generated by DemoC-Group3.

    Figure 19: Collaborating group created

6.1 Create Shared Workflow

After creating the collaborating groups, the consumer group administrator initiates collaboration by creating a shared workflow.

In the shared workflow, the consumer group administrator creates placeholder nodes. Each placeholder node is assigned to a specific publisher group, and only administrators of that publisher group can populate the placeholder nodes assigned to them.

Perform the following steps as a consumer group administrator to create a shared workflow:

  1. In the DemoA account, click the Workflows menu item in the CCM UI left navigation panel.  

  2. On the Workflows page, click + ADD WORKFLOW to create a new workflow.

    Figure 20: Select workflow

  3. In the WORKFLOW form, do the following:

    1. Name: Enter a name for the workflow.

    2. Group: Select the consumer group for the shared workflow. If you do not select a group, Fortanix CCM uses the default group.

    3. Click SAVE to create the shared workflow.

      Figure 21: Create shared workflow

  4. On the workflow canvas, add the application that belongs to the consumer group, DemoA-Group1 created in Section 3.1: Create Application.

    Figure 22: Add application to workflow graph

  5. Add a dataset placeholder node to the workflow and assign it to the publisher group, DemoB-Group2.

    Figure 23: Add dataset placeholder – DemoB-Group2

  6. When prompted, select DemoB-Group2 as the publisher group that will populate this dataset placeholder.

    Figure 24: Select publisher group – DemoB-Group2

  7. Repeat Steps 5 and 6 to add another dataset placeholder node and assign it to the publisher group, DemoC-Group3.

    Figure 25: Add dataset – DemoC-Group3

    Figure 26: Select publisher group – DemoC-Group3

  8. Connect the application node to both dataset placeholder nodes to define the workflow data flow.

  9. When you connect the application node to a dataset placeholder node, the SELECT PORTS dialog box appears. Enter the following:

    1. From the Target port drop down list, select the appropriate port for the connection.

    2. Click SELECT PORTS to confirm the connection.

    Figure 27: Select port

    Figure 28: Connect nodes

  10. Click SAVE DRAFT to save the workflow.

Saving the workflow as a draft makes it available to the publisher groups, allowing administrators of the assigned publisher groups to access the draft workflow in their respective accounts and populate the placeholder nodes assigned to them.

6.2 Fill the Placeholder Nodes with Actual Data

After the consumer group creates the shared workflow and assigns placeholder nodes, members of the publisher groups populate the placeholder nodes with their own resources.

Each publisher group can update only the placeholder node assigned to its group. Publisher group administrators cannot add, remove, or modify other nodes in the workflow.

Perform the following steps as a publisher group administrator:

  1. Log in to the DemoB account and click the Workflows menu item in the Fortanix CCM left navigation panel.

  2. On the Workflows page, click the Draft menu item. The draft shared workflow created by the consumer group appears in the list.

  3. Select the workflow and locate the placeholder node assigned to the publisher group DemoB-Group2.

    Figure 29: Fill placeholder nodes with data

  4. Click the placeholder node to add the dataset.

    In the DATASET form, select the dataset created earlier in Section 4.1: Create Dataset from the list.

    Figure 30: Select dataset – publisher group 1

  5. Click SAVE DRAFT to save the updated shared workflow.

    Figure 31: Save draft – publisher group 1

  6. Log in to the DemoC account and repeat Steps 1 to 5 as an administrator of the publisher group DemoC-Group3, and select the dataset created earlier in Section 4.1: Create Dataset.

    Figure 32: Save draft – publisher group 2

After all publisher groups populate their assigned placeholder nodes, the shared workflow is complete and ready for approval.

6.3 Request Approval to Create Approved Workflow

After all publisher groups fill their assigned placeholder nodes, the shared workflow is ready for approval.

Each publisher group must review and approve the workflow before the consumer group can complete the approval process.

NOTE

The consumer group cannot approve the workflow until all publisher groups approve it. This ensures that each publisher group explicitly consents to the data being shared.

Perform the following steps to request and approve the shared workflow:

  1. Log in to the DemoA account as a consumer group administrator.

  2. In the Fortanix CCM left navigation panel, click the Workflows menu item.

  3. Click the Draft menu item and select the shared workflow for which you want to request approval.

  4. Click REQUEST APPROVAL to send the approval request to all the publisher groups.

    Figure 33: Request shared workflow approval – consumer group

    A confirmation dialog appears. Click REQUEST APPROVAL to submit the approval request to the publisher groups.

    Figure 34: Confirm action

    The workflow moves to the Pending state.

  5. Go to the Pending tab to view workflows awaiting approval.

    Figure 35: Pending approval – consumer group

  6. Log in to the DemoB account as a publisher group administrator. Navigate to the Workflows menu item and click the Pending menu item.

  7. Select the shared workflow from the list and click REQUEST APPROVAL for the shared workflow.

    Figure 36: Request workflow approval – publisher group 1

  8. In the APPROVAL REQUEST – CREATE WORKFLOW dialog box, click APPROVE.

    Figure 37: Approve workflow – publisher group 1

  9. Log in to the DemoC account and repeat Steps 7 and 8 above to approve the workflow as an administrator of the publisher group DemoC-Group3.

    Figure 38: Approve workflow – publisher group 2

    Figure 39: Approve the workflow – publisher group 2

  10. After all publisher groups approve the workflow, log in to the DemoA account as the consumer group administrator and approve the workflow to complete the approval process.

    Figure 40: Workflow approval request

    Figure 41: Approve workflow – consumer group

  11. In the Fortanix CCM left navigation panel, click the Tasks menu item and locate the workflow approval request. click APPROVE to finalize the workflow approval.

    Figure 42: Approve tasks – consumer group

  12. The workflow now appears in the Approved tab.

    Figure 43: Workflow approved – consumer group

NOTE

After a shared workflow reaches the Approved state, it cannot be modified.

To make changes, edit the workflow to create a new version using the EDIT WORKFLOW option as described in Create, Update, Clone, and Delete Workflows. After approval, the new version replaces the previous one.

6.4 Run the Shared Workflow

Only the consumer group administrator, who owns the workflow, can run a shared workflow. The members of the publisher groups cannot run the workflow.

Use one of the following methods to run the shared workflow:

After the workflow runs, execution logs are available only to the consumer group. The members of the publisher groups cannot view the workflow execution logs.

7.0 Manage Tokens

7.1 Revoke Token

A collaboration token can be revoked by a publisher group administrator.

Revoking a collaborating token does not affect existing active collaborations between the publisher group and consumer group that were established using that token. Any existing shared workflows continue to function as expected.

Figure 44: Revoke token

7.2 Revoke Status

Perform the following steps to revoke a collaboration between a consumer group and a publisher group:

  1. Navigate to the COLLABORATION GROUPS page.

  2. Locate the collaboration entry you want to revoke.

  3. Click the overflow menu Overflow.png  for the corresponding row and select REVOKE from the drop down menu to revoke the collaboration.

You can revoke the collaboration from either the consumer group or the publisher group.

After you revoke the collaboration, the shared workflow cannot progress, and collaboration between the groups stops.

Figure 45: Revoke collaboration

Fortanix-logo

4.6

star-ratings

As of August 2025