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

# Drupal

> 읽기 전용 서비스 계정과 HTTP Basic Auth를 사용하여 JSON:API를 통해 Drupal을 Iru Compliance에 연결하고 사이트, 사용자 및 역할 구성 증거를 수집합니다.

### Drupal 정보

Iru는 **Drupal core JSON:API**(`/jsonapi`)를 사용하여 **콘텐츠 유형**, **노드**, **사용자**, **역할** 및 관련 메타데이터를 가져옵니다. \*\*Drupal 8.7+\*\*에는 JSON:API가 코어에 포함되어 있으며 **Extend**에서 활성화할 수 있습니다. 인증에는 **HTTP Basic**(**사용자 이름** + **비밀번호**)을 사용합니다. 자격 증명이 평문으로 전송되지 않도록 사이트를 **HTTPS**로 제공하세요.

### 작동 방식

```http theme={null}
Authorization: Basic base64(username:password)
```

| 항목 | 값 |
| - | - |
| **범주** | 개발자 도구 |
| **인증** | Basic(Drupal 사용자) |

공식 참고 자료: [JSON:API module](https://www.drupal.org/docs/core-modules-and-themes/core-modules/jsonapi-module), [Permission model](https://www.drupal.org/docs/administering-a-drupal-site/managing-users).

### 사전 요구 사항

* **JSON:API**가 활성화되어 있고 \*\*`https://YOUR_HOST/jsonapi`\*\*가 리소스 검색 JSON을 반환해야 합니다.
* 필요한 번들을 **GET**할 수 있는 역할을 가진 Drupal 사용자.

### Drupal을 Iru에 연결

<Tabs>
  <Tab title="Drupal">
    <Note>
      Compliance에서 소스를 연결하기 전에 이 탭을 완료하세요.
    </Note>

    <Steps>
      <Step title="관리자로 로그인">
        모듈을 설치하고 구성을 변경할 수 있는 사용자(**Administrator** 또는 이에 준하는 사용자)로 Drupal 사이트에 로그인합니다.
      </Step>

      <Step title="Extend(모듈) 열기">
        **관리** → **Extend**(관리 테마에 따라 **Administration** → **Extend**)로 이동합니다.
      </Step>

      <Step title="JSON:API 활성화">
        **JSON:API** 모듈을 찾습니다. 모듈을 활성화하고 Drupal이 요청하는 구성 가져오기 또는 캐시 재구축을 적용합니다.
      </Step>

      <Step title="권한 확인">
        Iru가 사용할 통합 사용자 또는 역할이 컨트롤에 필요한 JSON:API 리소스를 **GET**할 수 있는지 확인합니다(**Anonymous**는 대체로 범위가 너무 넓으므로 최소한의 읽기 권한을 가진 전용 서비스 계정을 사용하는 것이 좋습니다).
      </Step>

      <Step title="JSON:API 엔드포인트 확인">
        브라우저 또는 `curl`로 사이트의 검색 문서(예: **`https://YOUR_HOST/jsonapi`**)를 요청하고 Drupal이 **403** 또는 **404**가 아닌 JSON을 반환하는지 확인합니다.
      </Step>
    </Steps>

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

  <Tab title="Iru Compliance">
    <Note>
      먼저 [**Drupal**](#drupal) 탭을 완료하세요.
    </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="Drupal 켜기">
        **Drupal**을 찾습니다(**범주** 또는 **이름 또는 설명으로 검색** 사용). 해당 카드에서 **토글**을 켭니다. 커넥터 마법사를 위한 브라우저 탭 또는 창이 열릴 수 있습니다.
      </Step>

      <Step title="호스트 이름 입력">
        **호스트 이름**만 입력합니다(예: **`cms.example.com`**). 마법사에 미리 보기가 표시되면 변수를 확인합니다.
      </Step>

      <Step title="Drupal 자격 증명 입력">
        통합 계정의 **username**과 **password**를 입력합니다.
      </Step>

      <Step title="연결 완료">
        **자격 증명 제출**을 선택합니다. 연결에 성공하면 마법사에 **연결 구성됨**이 표시됩니다.
      </Step>

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

### 문제 해결

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

  <Accordion title="/jsonapi에서 404 발생">
    JSON:API 모듈을 활성화하세요.
  </Accordion>

  <Accordion title="리소스에서 403 발생">
    관련 엔터티 유형에 대한 **view** 권한을 부여하세요.
  </Accordion>

  <Accordion title="401">
    비밀번호를 올바르게 입력하세요. Drupal은 대소문자를 구분합니다.
  </Accordion>
</AccordionGroup>

### 고려 사항

<CardGroup cols={2}>
  <Card title="범위가 지정된 읽기 전용 서비스 계정을 권장합니다…" icon="circle-info">
    필요한 콘텐츠 유형으로 범위가 지정된 **읽기 전용** 서비스 계정을 사용하는 것이 좋습니다.
  </Card>
</CardGroup>

### 관련 문서

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