> For the complete documentation index, see [llms.txt](https://docs.platform.softwareone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform.softwareone.com/extensions/cloud-tools/cloud-tenant-setup/azure-onboarding/assign-reader-and-tag-contributor-roles-single-subscription.md).

# Assign Reader and Tag Contributor roles (single subscription)

In some cases, you must configure your Azure subscription manually so that the Client Portal can access the resources and tags.&#x20;

When you onboard your tenant to the Client Portal, an Enterprise Application called SoftwareOne Cloud Consumption (formerly PyraCloud Azure) is created in your tenant. You must then assign the [Tag Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#tag-contributor) and [Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#reader) roles to the PyraCloud (Azure) Enterprise Application.

These roles allow the Client Portal to read a list of all the resources in your Azure subscriptio, and read and write tags on those resources. You can control whether you want the Client Portal to write tags back to resources in your Azure subscription using the Cloud Tenant Setup feature.

### Grant access to individual subscriptions <a href="#block-e361c5ef-f066-4f15-882a-9691e45ebe2d" id="block-e361c5ef-f066-4f15-882a-9691e45ebe2d"></a>

{% hint style="info" %}
Before granting access, ensure that you've [onboarded your tenant](/extensions/cloud-tools/cloud-tenant-setup/azure-onboarding/activate-an-azure-ea-or-mpsa-account.md).
{% endhint %}

To grant access to individual subscriptions:

1. In the [Azure Portal](https://portal.azure.com/#home), search for **Subscriptions**.
2. On the **Subscriptions** page, choose the subscription you want to integrate with the Client Portal.

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/Rx2hTQBBeOjj7F4Xh3U2/image.png" alt=""><figcaption></figcaption></figure>

3. Select **Access control (IAM).**

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/Y59d0a0L8HQwp9fjCEqp/image.png" alt=""><figcaption></figcaption></figure>

4. Select the **Role assignments** tab.

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/KqnIEO8pL639skNg9Vaf/image.png" alt=""><figcaption></figcaption></figure>

5. Select **Add** > **Add role assignment**.&#x20;

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/u85H7ZikOWYwMDVTChCG/image.png" alt=""><figcaption></figcaption></figure>

6. Select **Reader** from the **Role** menu. Then, search for **SoftwareOne Cloud Consumption** (formerly PyraCloud Azure) and select it from the search results. Click **Save**.

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/YlCfUr78f65Fb49SiuAt/image.png" alt=""><figcaption></figcaption></figure>

7. Select **Tag Contributor** from the **Role** menu. Then, search for **SoftwareOne Cloud Consumption** (formerly PyraCloud Azure) and select it from the search results. Click **Save**.

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/Z0jT7f3vv3CYOT8gTNXR/image.png" alt=""><figcaption></figcaption></figure>

Access is granted.&#x20;

<figure><img src="https://content.gitbook.com/content/Z5DNbniz33mXCZoO62Rm/blobs/MfHb8rXPpsaqAHjD4i7C/image.png" alt=""><figcaption></figcaption></figure>


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.platform.softwareone.com/extensions/cloud-tools/cloud-tenant-setup/azure-onboarding/assign-reader-and-tag-contributor-roles-single-subscription.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
