> For the complete documentation index, see [llms.txt](https://documentation.immuta.com/saas/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.immuta.com/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/subscription-policy-tutorial.md).

# Author a Subscription Policy

## Permissions

`GOVERNANCE` Immuta permission or `Manage Policies` domain permission

## Write access policy requirements

{% hint style="info" %}
**Private preview**: [Write policies](/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/reference-guides/subscription-access-types.md) are available to select accounts. Contact your Immuta representative to enable this feature.
{% endhint %}

* An integration or connection that supports write policies. See the [table on the Subscription policy access types page](/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/reference-guides/subscription-access-types.md) for a list of integrations that support write policies.
* [Snowflake table grants enabled](/saas/configuration/integrations/snowflake/how-to-guides/integration-settings/table-grants.md) (for Snowflake integrations)

### Enable write access policies

Once support for this feature has been enabled in your Immuta tenant,

1. Navigate to the <i class="fa-gear">:gear:</i> **App Settings** page.
2. Scroll to the **Preview Features** section.
3. Click the **Enable Write Policies** checkbox and **Save** your changes.

## Build the policy

1. Click the <i class="fa-shield">:shield:</i> **Policies** icon in the navigation menu and select the **Subscription Policies** tab. Click **New subscription policy** and complete the **Policy name** field.
2. Select the type of subscription policy:
   1. **Grant policy**: Subscribe users to the data source if they meet the conditions of the policy.
   2. [**Guardrail policy**](#user-content-fn-1)[^1]: Prevent users from subscribing unless they meet the conditions of the policy. Some subscription levels listed below are unavailable for this policy type.
3. Select the access type you want to control:
   * **Read Access**: Control who can view the data source.
   * **Write Access**: Control who can view and modify data in the data source.
4. Select the **subscription level** you would like to apply:
   * **Allow users with specific groups/attributes**: See the [ABAC subscription policy guide](/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/abac-subscription-policy.md) for instructions on authoring a policy with this restriction level.
   * **Allow individually selected users**
5. From the **Where should this policy be applied** dropdown menu, select **When selected by data owners**, **On all data sources**, or **On data sources**. If you selected **On data sources**, finish the condition in one of the following ways:
   * **tagged**: Select this option and then search for **tags** in the subsequent dropdown menu.
   * **with columns tagged**: Select this option and then search for **tags** in the subsequent dropdown menu.
   * **with column names spelled like**: Select this option, and then enter a **regex** and choose a **modifier** in the subsequent fields.
   * **in server**: Select this option and then choose a **server** from the subsequent dropdown menu to apply the policy to data sources that share this connection string.
   * **created between**: Select this option and then choose a **start date** and an **end date** in the subsequent dropdown menus.
6. Click **Activate Policy** or **Stage Policy**.

## Manually grant access

Read and write access can also be granted manually by a data owner. See the [Manage data source members guide](/saas/configuration/integrations/data-and-integrations/registering-metadata/data-source-settings/how-to-guides/manage-members.md#add-members-to-a-data-source) for details.

## Additional global ABAC subscription policies

When you have multiple global ABAC subscription policies to enforce, create separate global ABAC subscription policies, and then Immuta will [use boolean logic to merge all the relevant policies on the tables they map to](/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/reference-guides/subscription-policies.md#merging-abac-global-subscription-policies).

[^1]: This policy type is unavailable when authoring a local policy.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/saas/govern/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/subscription-policy-tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
