> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Azure Key Vault

> Connect Azure Key Vault to Iru Compliance via OAuth to collect vault, key, secret, and certificate metadata for audits without exposing actual secret values.

### About Microsoft Azure Key Vault

The **Microsoft Azure Key Vault** source reads **vault configuration** and **metadata** for keys, secrets, and certificates through **Azure Resource Manager**. **Iru does not read secret values, key material, or private keys**; it collects only names, attributes, expiry, access configuration, and similar fields the management API exposes.

Iru authenticates with **delegated OAuth 2.0** (Microsoft Entra ID) as the user who completes the wizard. Anything that user cannot read in Azure will not appear in Iru.

### How It Works

Iru uses Microsoft’s **OAuth 2.0 authorization code flow** against **Azure Resource Manager**. The requested scope is:

`https://management.azure.com/user_impersonation`

| Detail             | Value                                                  |
| ------------------ | ------------------------------------------------------ |
| **Category**       | Developer tools                                        |
| **Authentication** | OAuth 2.0 (Microsoft Entra ID, Azure Resource Manager) |
| **Vendor plan**    | Any Azure subscription that has Key Vault resources    |

#### What Iru collects

| Data type               | Notes                                                                           |
| ----------------------- | ------------------------------------------------------------------------------- |
| Key vault configuration | Name, location, SKU (standard or premium), soft-delete, purge protection        |
| Keys (metadata)         | Identifiers, permitted operations, enabled state, expiry (**not** key material) |
| Secrets (metadata)      | Names, content type, enabled state, expiry (**not** secret values)              |
| Certificates (metadata) | Identifiers, issuer, validity (**not** private keys)                            |
| Access policies / RBAC  | Which principals have which permissions on each vault                           |

Iru does **not** modify vaults, objects, or access policies.

Official references: [Azure Key Vault documentation](https://learn.microsoft.com/azure/key-vault/), [Key Vault REST API](https://learn.microsoft.com/rest/api/keyvault/), [Key Vault RBAC guide](https://learn.microsoft.com/azure/key-vault/general/rbac-guide), [Built-in roles for security](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/security).

### Prerequisites

* **Microsoft Entra ID** sign-in to the [Azure portal](https://portal.azure.com).
* The built-in **Key Vault Reader** role (recommended) or **Reader**, assigned at **subscription** scope for the broadest coverage across vaults, or at individual vault scope if you intentionally limit visibility. **Key Vault Reader** includes vault read and metadata reads for keys, secrets, and certificates **without** secret or key material access.
* Browser **pop-ups** allowed so the connector wizard can open when you enable the source.

Confirm access: **Subscriptions** → your subscription → **Access control (IAM)** → **View my access**.

Example role assignment (replace placeholders):

```bash theme={null}
az role assignment create \
  --assignee <your-user-principal-name> \
  --role "Key Vault Reader" \
  --scope /subscriptions/<subscription-id>
```

### Connect Microsoft Azure Key Vault to Iru

Use **Microsoft Azure** first to confirm portal access and **Key Vault Reader** (or **Reader**) coverage, then complete OAuth in **Iru Compliance**. The wizard shows **Step 1 of 1: Perform OAuth Authentication**.

<Tabs>
  <Tab title="Microsoft Azure">
    <Note>
      Complete this tab before you start OAuth in **Iru Compliance**.
    </Note>

    <Steps>
      <Step title="Sign in to the Azure portal">
        Open [portal.azure.com](https://portal.azure.com) and sign in with the account you will use in the Iru wizard.
      </Step>

      <Step title="Open your target subscription">
        Search for **Subscriptions**, then open the subscription that contains (or parents) the **Key Vaults** Iru should read.
      </Step>

      <Step title="Verify Key Vault or Reader access">
        Open **Access control (IAM)** → **View my access**. Confirm **Key Vault Reader** on specific vaults or **Reader** at subscription scope, per **Prerequisites**.
      </Step>

      <Step title="Allow pop-ups in your browser">
        Allow **pop-ups** for your **Iru** hostname so the Microsoft consent window can open.
      </Step>

      <Step title="Plan for the right Entra tenant">
        If you use multiple tenants, use a clean browser session so OAuth signs in to the **work** tenant that owns the vaults.
      </Step>
    </Steps>

    <Note>
      Continue on the [**Iru Compliance**](#iru-compliance) tab.
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      Finish the [**Microsoft Azure**](#microsoft-azure) tab first.
    </Note>

    <Steps>
      <Step title="Open Sources">
        In Iru Compliance, on the left navigation bar, expand **Compliance** and select **Sources**.

        <Frame>
          <img src="https://mintcdn.com/iru/7HsGH7lnQ8GpVmI0/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=7HsGH7lnQ8GpVmI0&q=85&s=595982441fd777b333b3ecfea24adc24" alt="Left navigation: Compliance expanded, Sources selected" width="424" height="1056" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="Turn on the integration">
        Find **Microsoft Azure Key Vault** (set **Category** to **Developer tools** or use **Search by name or description**). On that card, turn on the **toggle** to start the connector wizard.
      </Step>

      <Step title="Launch OAuth and sign in">
        Select **Launch OAuth Authentication**. When the Microsoft window opens, sign in with the same account you verified in the Azure portal and click **Accept** on the consent screen.
      </Step>

      <Step title="Finish the connection">
        When the OAuth window closes and Iru finishes the exchange, the wizard shows **Connection Configured**.
      </Step>

      <Step title="Confirm the source is Active">
        Close the **Iru is requesting access to external services** browser tab, then return to **Compliance** → **Sources** and confirm the **Microsoft Azure Key Vault** card is **Active**.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Troubleshooting

<AccordionGroup>
  <Accordion title="Nothing opens when you turn the source on">
    Check **pop-up blocker** settings for the Iru site and try again.
  </Accordion>

  <Accordion title="Empty vault list or 403 errors">
    The signed-in account may lack **Key Vault Reader** or **Reader** on the subscription or vaults. Verify **IAM** assignments (see **Prerequisites**).
  </Accordion>

  <Accordion title="Wrong Microsoft Entra tenant">
    Sign **out** of the Microsoft pop-up and sign in with the account for the **correct** tenant.
  </Accordion>

  <Accordion title="Broken status">
    Turn **Microsoft Azure Key Vault** **off** and **on** in **Sources**, then complete OAuth again.
  </Accordion>
</AccordionGroup>

### Related Articles

<CardGroup cols={2}>
  <Card title="Sources Management" icon="plug" href="/en/compliance/sources-management">
    Browse and manage every Compliance source.
  </Card>

  <Card title="Getting Started With Compliance" icon="rocket" href="/en/compliance/getting-started-with-compliance">
    Frameworks, actions, and **Artifacts**.
  </Card>

  <Card title="Iru Overview" icon="layer-group" href="/en/iru/platform-overview/iru-overview">
    How Endpoint, Compliance, and Identity fit together.
  </Card>

  <Card title="Artifacts Management" icon="folder-open" href="/en/compliance/artifacts-management">
    Upload, review, and organize evidence from sources and actions.
  </Card>
</CardGroup>
