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

> OAuth를 통해 Azure Storage 관리 API를 Iru Compliance에 연결하여 Blob 또는 파일 콘텐츠를 읽지 않고 스토리지 계정 및 컨테이너 구성을 수집합니다.

### Microsoft Azure Storage 정보

**Microsoft Azure Storage** 소스는 **Azure Resource Manager**를 통해 **스토리지 계정** 설정, **Blob 컨테이너** 메타데이터, **컨테이너 액세스 정책**, **수명 주기 관리** 규칙 및 **네트워크 규칙**을 읽습니다. **Iru는 Blob 콘텐츠, 파일 공유 데이터, 큐 메시지 또는 테이블 행을 읽지 않습니다**. 관리 API가 반환하는 구성 및 컨테이너 수준 메타데이터만 수집합니다.

인증은 마법사를 완료한 사용자로서 **위임된 OAuth 2.0**(Microsoft Entra ID)으로 이루어집니다. Iru는 스토리지 계정, 컨테이너 또는 정책을 수정하지 **않습니다**.

전체 **구독** 인벤토리를 위해서는 **구독** 범위에서 **Reader**를 할당하세요. **리소스 그룹**으로만 범위가 지정된 **Reader**는 다른 그룹의 계정을 숨길 수 있습니다.

### 작동 방식

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가 수집하는 항목

| 데이터 유형 | 참고 |
| - | - |
| 스토리지 계정 | 이름, 위치, SKU(LRS, GRS, ZRS), 종류, 액세스 계층, TLS 버전, 네트워크 규칙 |
| Blob 컨테이너 | 컨테이너 이름, 공개 액세스 설정, 메타데이터 |
| 컨테이너 액세스 정책 | 저장된 액세스 정책 및 해당 권한 |
| 수명 주기 관리 정책 | 계층 전환 및 삭제 규칙 |
| 네트워크 규칙 | 방화벽 규칙, 서비스 엔드포인트, 프라이빗 엔드포인트 |

구독 범위의 **Reader**에는 ARM을 통한 계정 및 컨테이너 메타데이터에 대한 `Microsoft.Storage/*/read`가 포함되며, 객체 콘텐츠에 대한 데이터 플레인 액세스는 포함되지 **않습니다**.

공식 참고 자료: [Azure Storage documentation](https://learn.microsoft.com/azure/storage/), [Storage Resource Provider REST API](https://learn.microsoft.com/rest/api/storagerp/), [Storage built-in roles](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/storage), [Authorize access with Azure RBAC](https://learn.microsoft.com/azure/storage/blobs/authorize-access-azure-active-directory).

### 사전 요구 사항

* [Azure 포털](https://portal.azure.com)에 대한 **Microsoft Entra ID** 로그인.
* 연결하는 **구독**에 대한 **Reader**(또는 상위) 권한. 완전한 가시성을 위해 **구독** 범위에서 할당하세요.
* 소스를 활성화할 때 커넥터 마법사가 열릴 수 있도록 브라우저 **팝업** 허용.

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

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

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

### Microsoft Azure Storage를 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 마법사에서 사용할 계정으로 로그인합니다.
      </Step>

      <Step title="대상 구독 열기">
        **Subscriptions**를 검색한 다음 Iru가 **스토리지 계정** 및 관련 ARM 메타데이터를 읽을 구독을 엽니다.
      </Step>

      <Step title="Reader 액세스 확인">
        **Access control (IAM)** → **View my access**를 엽니다. **사전 요구 사항**에 따라 구독 범위의 **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 Storage**를 찾습니다(**범주**를 **Developer tools**로 설정하거나 **이름 또는 설명으로 검색** 사용). 해당 카드에서 **토글**을 켜서 커넥터 마법사를 시작합니다.
      </Step>

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

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

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

### 문제 해결

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

  <Accordion title="스토리지 계정이 나열되지 않음">
    구독 전체의 계정을 확인하려면 **구독** 범위의 **Reader**가 있는지 확인하세요. **리소스 그룹**으로만 범위가 지정된 **Reader**는 다른 곳의 계정을 누락합니다.
  </Accordion>

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

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