Deploy content from one tenant organization to one or more tenants

🚩

This documentation describes one or more public beta features that are in development. Beta features are subject to quick, iterative changes; therefore the current user experience in the Sigma service can differ from the information provided in this page.

This page should not be considered official published documentation until Sigma removes this notice and the beta flag on the corresponding feature(s) in the Sigma service. For the full beta feature disclaimer, see Beta features.

🚩

This is a premium feature. To enable it for your Sigma organization, contact your Sigma Account Executive.

You can deploy content from one tenant organization to one or more other tenant organizations if all tenants share a parent organization. For more details about what content gets deployed and considerations, see Deploy content to tenant organizations. For example use cases, see Deployment use cases and examples.

For instructions deploying content from a parent organization to tenant organizations, see Deploy content from a parent organization to one or more tenants.

Requirements

To deploy documents from one tenant to another, the following tenant organization requirements apply:

To set up an organization to deploy documents to tenants, you must be assigned an account type with the following relevant permissions enabled:

  • To create user attributes and assign tenants, the Manage user attributes permission must be enabled on your account type.
  • To create source swap policies and define deployment policies, including add documents and tenants, the Manage deployment policies feature permission must be enabled on your account type.
  • To add documents to a deployment policy, you must be granted at least Can view access to the relevant workbooks and documents.
💡

An admin in the parent organization can also perform these steps by opening open a tenant organization as an admin. For instructions on administering a tenant organization from a parent organization, see Configure a tenant organization.

Set up a tenant organization to deploy to other tenant organizations

In the parent organization, an admin can grant one or more tenant organizations the capability to deploy content to specific other tenant organizations.

  1. In the Administration portal, go to Tenants.

  2. Select a tenant that you want to be capable of deploying content to other tenants. For example, a Test tenant.

    The tenant details open.

  3. In the Tenant management section, click Deployment capabilities.

  4. Click Add capability to add one or more tenant organizations that the selected tenant can deploy content to.

  5. In the Add deployment destinations modal, enter for a tenant name and select one or more tenants. For example, select Prod to allow the Test tenant to deploy content to the Prod tenant.

  6. Select Add.

    Users in the selected tenant can add any of the tenants in the Deployment capabilities list to a defined deployment policy. For steps, see Deploy content from one tenant to other tenants.

Prepare to deploy content to tenants

Preparing to deploy content to tenant organizations involves several steps. Depending on your Sigma Tenants architecture, perform the relevant steps:

  1. Configure data source swapping for each connection in the source organization.
  2. Map tenant connections to define which connection to swap to in each tenant.
  3. Define a deployment policy for each set of content that you want to deploy to a tenant as a workspace.
💡

Every time you add a new tenant organization and configure a connection for the tenant, perform the following steps to start deploying content to the new tenant:

  1. Map the tenant connections.
  2. Add the tenant to the deployment policy.

Configure data source swapping

For each connection in the source tenant that must be swapped to a connection in a target tenant, configure the following in the source tenant:

  1. Create a user attribute
  2. Configure a source swap policy
💡

Every time a new connection is added to tenant organizations, repeat these steps to configure data source swapping for the new connection.

Map tenant connections

If you configure data source swapping, assign the user attribute to each tenant with the value of the relevant connection name or ID in each tenant.

The user attribute is used in the source swap policy to swap the data sources correctly for each tenant. See Assign the user attribute to one or more tenants.

Perform these steps for each tenant organization that you plan to deploy content to.

Configure a deployment policy

To deploy content to tenant organizations, do the following:

  1. Define a deployment policy.
  2. Add documents to the deployment policy.
  3. Add tenants to the deployment policy.

Create a user attribute to manage tenant connections

When you deploy content from one tenant to other tenants, the data sources must be swapped to match the connections that exist in the other tenants.

For each connection in the source tenant that must be swapped to a connection in a target tenant, create a user attribute.

To create a user attribute, see Configure user attributes.

Configure a source swap policy

To manage swapping connections for deployed documents, configure a source swap policy for each connection in the source tenant that must be swapped to a connection in a target tenant:

  1. In the Administration portal, go to Source swap policies.

  2. Click Create policy, then choose Deployment.

  3. For Name, enter a name for the policy. For example, Swap Corporate Connection.

  4. For From, choose the relevant connection in the source tenant that you want to swap from. For example, Corporate.

  5. For To, select the attribute that you created. For example, corporate_connection.

    When deploying documents, Sigma swaps the connection selected in From to the connection identified by the assigned value in the user attribute.

  6. (Optional) If you want to swap specific paths in the connection to a different path in a target tenant, click Add rule:

    1. For From, select the path to swap in the connection in the source tenant.

    2. For To, define the values to swap to for each target tenant. The path segments available to swap depend on your connection. For example, for a connection to Snowflake, you can swap the database, schema, and/or table. For each segment of the path, choose how to swap:

      • Exact value: Specify the value to swap to. For example, if the schema name is the same for all databases that you plan to swap, choose Exact value and enter the schema name.
      • User attribute: Specify a user attribute to use to specify the value to swap to. The assigned value of the user attribute is used when the swap is performed.

    After adding a rule, click Save. You can add multiple rules.

    For example, to swap a FIN_OPS database in the source tenant Corporate Snowflake connection to a HR_OPS database in a tenant connection, where the schema and table structure is identical, do the following:

    1. For From, choose FIN_OPS as the database, then for schema, choose All paths.
    2. For To, select Exact value as the database, then for Value, specify HR_OPS.

    If instead, you want to swap a FIN_OPS database in the source tenant Corporate Snowflake connection to a HR_OPS database in one tenant connection and a SALES_OPS database in another tenant connection, create a user attribute with a name like database_swap and assign the attribute to each target tenant with the value of the database in the target tenant, then add a rule like the following:

    1. For From, choose FIN_OPS as the database, then for schema, choose All paths.
    2. For To, select User attribute as the database, then choose the relevant user attribute: database_swap.

    If you want to swap a full object path, such as a table named CLIENT_PURCHASES in the EXPENSES schema of the SALES database in the source tenant Corporate Snowflake connection is a different location (e.g., FINANCE.EXPENSE_TRACKING.PURCHASES) in all tenant connections, do the following:

    1. For From, choose SALES as the database, then for schema, choose EXPENSES. For Table, choose CLIENT_PURCHASES. If all tables in the schema have the same name in all target tenant connections, choose All paths.

    2. For To:

      1. For Database select Exact value, then for Value, specify FINANCE as the database.
      2. For Schema, choose Exact value again, then specify a value of the schema in all target tenant connections: EXPENSE_TRACKING.
      3. If the table has the same name in the path, for Table, choose Exact value, then specify a value of the table in all tenant connections: PURCHASES.
  7. After configuring the source swap policy, click Create.

Assign the user attribute to one or more tenants

To map the connections to tenants and ensure that the source swap and deployment policies swap the sources of the content to tenants to the correct connections, assign the user attribute to specific target tenants.

📘

Before you an assign the user attribute, identify the connection name for the target tenants that you plan to deploy to.

If the connection name is the same as the source tenant, use that. If the connection name is different, contact a user in each relevant target tenant to request the connection name or ID for their tenant.

Assign the user attribute to one or more tenants:

  1. In the Admin portal, go to User attributes.
  2. Select the user attribute that you created. For example, corporate_connection.
  3. On the user attribute detail page, select Tenants Assigned.
  4. Click Assign Attribute to Tenants.
  5. In the Assign Attribute modal, search for and select one or more tenant names.
  6. For each tenant that you want to assign, specify an Assigned Value. The assigned value can be a connection name or a connection ID.
  7. Click Assign.

Define a deployment policy

For each set of documents that you want to deploy to one or more other tenants:

  1. Create a deployment policy. Each deployment policy creates a workspace in one or more target tenants.
  2. Add documents that you want to deploy to one or more target tenants.
  3. Add tenants to the deployment policy to deploy the documents to the specified tenants.

Create a deployment policy

To manage deploying content with other tenants, create a deployment policy:

  1. In the Administration portal, go to Deployment policies.

  2. Click Create deployment policy.

  3. For Name, name the deployment policy. By default, the name of the deployment policy is the name of the workspace created in the tenant organization.

  4. (Optional) Turn on the Use a different name in tenants toggle, then specify a different name to use as the workspace name created in the tenant organizations.

  5. (Optional) By default, the published version of the documents added to the deployment policy is deployed. If you want to deploy a tagged version instead, for Version tag, choose a version tag.

  6. (Optional) If the target tenant organizations use a different connection from the source tenant, turn on the Swap data sources toggle and do the following:

    1. Select Add source swap policy, then choose a source swap policy.
    2. Repeat for each connection that must be swapped in the source tenant.
  7. Click Create.

    Your deployment policy is created. Select it to add documents and tenants.

Add documents to the deployment policy

After creating a deployment policy, add documents to deploy them to tenants:

  1. In the Administration portal, go to Deployment policies
  2. Locate and select the deployment policy to which you want to add documents.
  3. Click Add document.
  4. In the Add document modal, search or browse to a document to deploy to tenant organizations, then select the document.
  5. Click Add.
  6. Repeat steps 3–5 to add more documents.

Add tenants to the deployment policy

After creating the deployment policy, add tenants to share the documents with:

💡

One tenant can be added to multiple deployment policies.

  1. In the Administration portal, go to Deployment policies.
  2. Locate and select the deployment policy to which you want to add tenants.
  3. Select the Deploy to tab.
  4. Click Add tenant.
  5. In the Add tenant modal, search for and select one or more tenants.
  6. Click Add.

After adding a tenant, a new workspace appears in the tenant organization. The workspace contains any documents deployed by the deployment policy. The workspace and all deployed documents should appear within a few minutes.

After setting up the deployment policy, manage deployed content.

Programmatically deploy content from one tenant to other tenants

If you want to use the Sigma REST API to manage deploying content from one tenant to other tenants, refer to the following steps and endpoints:

📘

Before a tenant can deploy to other tenant organizations, an admin in the parent organization must add deployment capabilities (POST /v2/tenants/{tenantOrganizationId}/capabilities/deployments:batchAdd).

After a tenant is set up to deploy to other tenant organizations, a user in a tenant organization with API credentials, or an admin in the parent organization impersonating each tenant for API calls can programmatically perform the following steps:

  1. For the source tenant and each target tenant, retrieve the connection ID and name information. Use List connections (GET /v2/connections).

  2. In the source tenant organization, create a user attribute (POST /v2/user-attributes).

  3. Assign the user attribute to target tenants with the value of the relevant connection ID or name for each tenant. Use Set a user attribute for tenants (POST /v2/user-attributes/{userAttributeId}/tenants).

  4. Create a source swap policy with a type of deployment. In the swaps portion of the request body, provide the user attribute as the toConnection parameter.

  5. In the source tenant organization, create a deployment policy (POST /v2/deploymentPolicies). For the sourceSwapPolicies parameter in the request body, provide one or more source swap policies.

  6. Add documents to the deployment policy (POST /v2/deploymentPolicies/{deploymentPolicyId}/files). To identify which documents to add, call the List workbooks or List data models endpoints and use the workbookId or dataModelId in the response in the inodeIds option.

  7. Add tenants to the deployment policy (POST /v2/deploymentPolicies/{deploymentPolicyId}/tenants).

    💡

    To determine which tenants the source tenant is capable of deploying to, call the List deployable tenant organizations (GET /v2/deploymentPolicies/tenants) endpoint.