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

> OAuth를 통해 Azure Monitor를 Iru Compliance에 연결하여 진단 설정, 활동 로그, 경고 및 Log Analytics 작업 영역 구성을 수집합니다.

### Microsoft Azure Monitor 정보

**Microsoft Azure Monitor** 소스는 연결된 구독에서 **진단 설정**, **구독 활동 로그**, **메트릭 및 로그 경고 규칙** 구성, **Log Analytics 작업 영역** 설정을 가져옵니다. 데이터는 로그인한 사용자로서 **위임된 OAuth**를 사용하여 **Azure Resource Manager**를 통해 읽습니다. Iru는 진단 설정, 경고 규칙 또는 작업 영역을 생성하거나 변경하지 **않습니다**.

**활동 로그** 가시성은 Azure의 기본 보존 기간(구독 수준에서 **약 90일**)을 따릅니다. Iru는 해당 기간 동안 Azure가 노출하는 내용을 읽습니다. 더 긴 보존이 필요하면 Azure에서 활동 로그를 **Log Analytics** 작업 영역 또는 **스토리지**로 내보내세요.

### 작동 방식

Iru는 **Azure Resource Manager**에 대해 Microsoft의 **OAuth 2.0 authorization code 흐름**을 사용합니다. 요청되는 범위는 다음과 같습니다.

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

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

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

| 데이터 유형 | 참고 |
| - | - |
| 진단 설정 | 로그 범주, 보존, 대상(스토리지, 이벤트 허브, Log Analytics) |
| 활동 로그 | 구독 수준 감사 이벤트(생성, 삭제, 정책, 역할 변경 등) |
| 메트릭 경고 규칙 | 정의, 임계값, 평가 빈도 |
| 로그 경고 규칙 | 예약된 쿼리 규칙 및 활동 로그 경고 구성 |
| Log Analytics 작업 영역 | 작업 영역 구성 및 데이터 보존 설정 |

공식 참고 자료: [Azure Monitor documentation](https://learn.microsoft.com/azure/azure-monitor/), [Diagnostic settings](https://learn.microsoft.com/azure/azure-monitor/essentials/diagnostic-settings), [Activity log](https://learn.microsoft.com/azure/azure-monitor/essentials/activity-log), [Roles and permissions](https://learn.microsoft.com/azure/azure-monitor/fundamentals/roles-permissions-security), [Diagnostic settings REST API](https://learn.microsoft.com/rest/api/monitor/diagnostic-settings).

### 사전 요구 사항

* [Azure 포털](https://portal.azure.com)에 대한 **Microsoft Entra ID** 로그인.
* **구독** 범위의 기본 제공 **Monitoring Reader** 역할(또는 필요한 읽기 경로가 포함된 **Reader**). **Monitoring Reader**는 쓰기 권한 **없이** 진단 설정, 경고 규칙 및 활동 로그 액세스에 대한 `Microsoft.Insights/*/read`를 부여합니다.
* 소스를 활성화할 때 커넥터 마법사가 열릴 수 있도록 브라우저 **팝업** 허용.

액세스 확인: **Subscriptions** → 구독 → **Access control (IAM)** → **View my access**.

역할 할당 예시(자리 표시자를 바꾸세요):

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

### Microsoft Azure Monitor를 Iru에 연결

먼저 **Microsoft Azure**에서 포털 액세스와 **Monitoring Reader**(또는 **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 마법사에서 사용할 계정으로 로그인합니다.
      </Step>

      <Step title="대상 구독 열기">
        **Subscriptions**를 검색한 다음 Iru가 **Monitor** 진단 및 메트릭을 읽을 구독을 엽니다.
      </Step>

      <Step title="Monitoring Reader 또는 Reader 액세스 확인">
        **Access control (IAM)** → **View my access**를 엽니다. **사전 요구 사항**에 따라 **Monitoring Reader** 또는 구독 **Reader**가 있는지 확인합니다.
      </Step>

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

      <Step title="올바른 Microsoft Entra ID 테넌트 계획">
        여러 테넌트를 사용하는 경우 OAuth가 구독을 소유한 테넌트로 로그인하도록 깨끗한 브라우저 세션을 사용하세요.
      </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 Monitor**를 찾습니다(**범주**를 **Developer tools**로 설정하거나 **이름 또는 설명으로 검색** 사용). 해당 카드에서 **토글**을 켜서 커넥터 마법사를 시작합니다.
      </Step>

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

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

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

### 문제 해결

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

  <Accordion title="진단 설정 누락 또는 불완전">
    로그인한 계정에 **구독** 범위의 **Monitoring Reader**(또는 **Reader**)가 없을 수 있습니다. **IAM**을 확인하세요(**사전 요구 사항** 참조).
  </Accordion>

  <Accordion title="활동 로그 기간이 짧아 보임">
    Azure는 기본적으로 구독 **활동 로그**를 약 **90일** 동안 보존합니다. Log Analytics 또는 스토리지로 내보내 보존 기간을 연장하지 않은 경우 Iru는 해당 기간에 사용 가능한 내용을 반영합니다.
  </Accordion>

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

  <Accordion title="Broken 상태">
    **소스**에서 **Microsoft Azure Monitor**를 **껐다가** **다시 켠** 후 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>
