> ## 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 Authorization

> OAuth와 Azure Resource Manager API를 사용하여 Microsoft Azure 역할 기반 액세스 제어 및 Azure Policy를 Iru Compliance에 연결합니다.

### Microsoft Azure Authorization 정보

**Microsoft Azure Authorization** 소스는 연결한 구독에서 **Azure RBAC** 역할 할당 및 역할 정의와 **Azure Policy** 정의 및 할당을 읽습니다. Iru의 증거는 **누가 무엇에 액세스할 수 있는지**와 **어떤 정책이 할당되었는지**를 반영하며, Iru는 Azure에 변경 사항을 다시 쓰지 않습니다. Iru는 로그인한 사용자를 대신하여 **Azure Resource Manager**에 대해 **위임된 OAuth 2.0**을 사용하므로, 수집은 해당 사용자의 기존 Azure 권한을 따릅니다.

### 작동 방식

Iru는 **Azure Resource Manager**(`management.azure.com`)에 대해 Microsoft의 **OAuth 2.0 authorization code 흐름**(위임된 권한)을 사용합니다. 팝업에서 로그인하고 동의하면 Iru는 수명이 짧은 액세스 토큰을 받고 자동으로 갱신합니다(해당하는 경우 새로 고침 토큰 순환 포함).

요청되는 OAuth 범위는 다음과 같습니다.

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

이 범위는 구독에 대한 해당 사용자의 RBAC로 제한되어 **로그인한 사용자로서** ARM API에 대한 **읽기** 액세스 권한을 부여합니다.

| 항목 | 값 |
| - | - |
| **범주** | 개발자 도구 |
| **인증** | OAuth 2.0(Microsoft Entra ID, Azure Resource Manager) |
| **공급업체 요금제** | 모든 Azure 구독 |

#### Iru가 수집하는 항목

| 데이터 유형 | Azure ARM 리소스 유형 |
| - | - |
| 역할 할당 | `Microsoft.Authorization/roleAssignments` |
| 역할 정의(기본 제공 및 커스텀) | `Microsoft.Authorization/roleDefinitions` |
| Azure Policy 정의 | `Microsoft.Authorization/policyDefinitions` |
| Azure Policy 할당 | `Microsoft.Authorization/policyAssignments` |

Iru는 역할 할당이나 정책 구성을 수정하지 **않습니다**.

공식 참고 자료: [Azure RBAC documentation](https://learn.microsoft.com/azure/role-based-access-control/overview), [REST API](https://learn.microsoft.com/rest/api/authorization/), [List role assignments (concept)](https://learn.microsoft.com/azure/role-based-access-control/role-assignments-list-rest), [Built-in roles](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles), [OAuth 2.0 auth code flow](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow).

### 사전 요구 사항

* [Azure 포털](https://portal.azure.com)에 로그인할 수 있는 **Microsoft Entra ID** 계정.
* Iru가 읽을 **구독**에 대해 최소한 기본 제공 **Reader** 역할(또는 이에 준하는 읽기 액세스 권한). 여기에는 할당, 정의 및 정책 메타데이터에 대한 `Microsoft.Authorization/*/read`가 포함됩니다.
* 소스를 활성화할 때 커넥터 마법사가 열릴 수 있도록 브라우저 **팝업** 허용.

액세스 확인 방법: **Subscriptions** → 구독 → **Access control (IAM)** → **View my access**에서 해당 범위에 **Reader**(또는 상위) 역할이 있는지 확인합니다.

역할 할당이 필요한 경우 구독 관리자가 Azure CLI를 사용할 수 있습니다(자리 표시자를 바꾸세요).

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

### Microsoft Azure Authorization을 Iru에 연결

먼저 **Microsoft Azure**에서 포털 액세스와 **Reader** 범위를 확인한 다음 **Iru Compliance**에서 OAuth를 완료합니다. 마법사에 **Step 1 of 1: Perform OAuth Authentication**이 표시됩니다.

<Tabs>
  <Tab title="Microsoft Azure">
    <Note>
      **Iru Compliance**에서 OAuth를 시작하기 전에 이 탭을 완료하세요.
    </Note>

    <Steps>
      <Step title="Azure 포털에 로그인">
        [portal.azure.com](https://portal.azure.com)을 열고 Iru 마법사에서 사용할 **Microsoft Entra ID** 계정(Iru가 읽을 테넌트와 동일)으로 로그인합니다.
      </Step>

      <Step title="대상 구독 열기">
        **Subscriptions**를 검색하고 Iru가 **Authorization** 메타데이터(역할 할당, 정의, 정책)를 수집할 **구독**을 엽니다.
      </Step>

      <Step title="Reader 액세스 확인">
        구독에서 **Access control (IAM)** → **View my access**를 엽니다. **사전 요구 사항**에 설명된 대로 **Reader**(또는 이 범위에서 `Microsoft.Authorization/*/read`를 포함하는 다른 역할)가 표시되는지 확인합니다.
      </Step>

      <Step title="브라우저에서 팝업 허용">
        커넥터 마법사에서 Microsoft 동의 화면이 열릴 수 있도록 **Iru** 호스트 이름에 대한 **팝업**을 허용합니다.
      </Step>

      <Step title="다중 테넌트 관련 주의 사항 확인">
        회사에서 여러 Microsoft Entra ID 테넌트를 사용하는 경우, OAuth 팝업이 **올바른** 회사 계정을 선택하도록 동일한 브라우저 프로필에서 개인 Microsoft 계정에서 로그아웃하거나 비공개 창을 사용하세요.
      </Step>
    </Steps>

    <Note>
      [**Iru Compliance**](#iru-compliance) 탭에서 계속 진행하세요.
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      먼저 [**Microsoft Azure**](#microsoft-azure) 탭을 완료하세요.
    </Note>

    <Steps>
      <Step title="소스 열기">
        Iru Compliance의 왼쪽 탐색 모음에서 **컴플라이언스**를 펼치고 **소스**를 선택합니다.

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="왼쪽 탐색: Compliance가 펼쳐지고 Sources가 선택됨" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="통합 켜기">
        **Microsoft Azure Authorization**을 찾습니다(**범주**를 **Developer tools**로 설정하거나 **이름 또는 설명으로 검색** 사용). 해당 카드에서 **토글**을 켜서 커넥터 마법사를 시작합니다.
      </Step>

      <Step title="OAuth 시작 및 로그인">
        **Launch OAuth Authentication**을 선택합니다. Microsoft 창이 열리면 Azure 포털에서 확인한 것과 동일한 계정으로 로그인하고 동의 화면에서 **Accept**를 선택합니다.
      </Step>

      <Step title="연결 완료">
        OAuth 창이 닫히고 Iru가 교환을 완료하면 마법사에 **연결 구성됨**이 표시됩니다.
      </Step>

      <Step title="소스가 활성인지 확인">
        **Iru가 외부 서비스에 대한 액세스를 요청하고 있습니다** 브라우저 탭을 닫은 다음 **컴플라이언스** → **소스**로 돌아가 **Microsoft Azure Authorization** 카드가 **활성**인지 확인합니다.
      </Step>
    </Steps>
  </Tab>
</Tabs>

Authorization 메타데이터는 **구독** 범위에서 읽습니다. **여러 구독**을 포함하려면 구독마다 흐름을 반복하거나 필요한 각 구독에 **Reader** 권한이 있는 계정을 사용하세요.

### 문제 해결

<AccordionGroup>
  <Accordion title="소스를 켜도 아무것도 열리지 않음">
    Iru 사이트에 대한 **팝업 차단** 설정을 확인한 후 다시 시도하세요.
  </Accordion>

  <Accordion title="권한 부족 또는 빈 데이터">
    인증 계정에 **구독**에 대한 **Reader** 역할이 있는지 확인하세요(**사전 요구 사항** 참조).
  </Accordion>

  <Accordion title="잘못된 Microsoft Entra 테넌트">
    조직에 여러 테넌트가 있는 경우 Microsoft 팝업에서 **로그아웃**한 후 **올바른** 테넌트의 계정으로 로그인하세요.
  </Accordion>

  <Accordion title="Broken 상태 또는 재인증">
    연결이 활성 상태인 동안 액세스 토큰은 약 1시간마다 갱신됩니다. 새로 고침이 중단되면(예: 장기간 비활성 후) 카드에 **Broken**이 표시될 수 있습니다. 소스를 **껐다가** **다시 켠** 후 OAuth를 다시 완료하세요.
  </Accordion>
</AccordionGroup>

### 관련 문서

<CardGroup cols={2}>
  <Card title="Sources 관리" icon="plug" href="/ko/compliance/sources-management">
    모든 Compliance 소스를 찾아보고 관리합니다.
  </Card>

  <Card title="Compliance 시작하기" icon="rocket" href="/ko/compliance/getting-started-with-compliance">
    프레임워크, 작업 및 **아티팩트**.
  </Card>

  <Card title="Iru 개요" icon="layer-group" href="/ko/iru/platform-overview/iru-overview">
    Endpoint, Compliance 및 Identity가 함께 작동하는 방식.
  </Card>

  <Card title="Artifacts 관리" icon="folder-open" href="/ko/compliance/artifacts-management">
    소스 및 작업에서 수집한 증거를 업로드, 검토 및 정리합니다.
  </Card>
</CardGroup>
