# 키 보안

> LMU AI API 키 IP 화이트리스트/블랙리스트 가이드: 어떤 IP가 키를 호출할 수 있는지 제한하여 유출된 키가 악용되는 것을 방지합니다. 단일 IP 및 CIDR 범위를 지원합니다.

URL: https://docs.lmuai.com/ko/docs/guide/key-security



키가 유출되면 타인이 이를 사용해 여러분의 할당량을 소진할 수 있습니다. **IP 화이트리스트**는 가장 직접적인 보호 수단입니다 — 여러분이 신뢰하는 IP만 키를 사용할 수 있습니다.

## 어디서 구성하나요 [#어디서-구성하나요]

\*\*콘솔 → API 키 → 편집(또는 생성)\*\*으로 이동하여 **IP 화이트리스트**와 **IP 블랙리스트**라는 두 필드를 찾으세요.

한 줄에 규칙 하나씩, 두 가지 형식 중 하나로 입력합니다:

| 형식      | 예시               | 설명                             |
| ------- | ---------------- | ------------------------------ |
| 단일 IP   | `203.0.113.10`   | 정확히 하나의 IP와 일치                 |
| CIDR 범위 | `203.0.113.0/24` | IP의 전체 범위와 일치(`/24` = 256개 IP) |

IPv4와 IPv6 모두 지원됩니다(IPv6 예: `2001:db8::/32`).

## 어떻게 적용되나요 [#어떻게-적용되나요]

* **화이트리스트 비어 있음** → 출처 제한 없음; 어떤 IP든 키를 사용할 수 있음
* **화이트리스트 비어 있지 않음** → 목록에 있는 IP만 사용할 수 있고, 나머지는 모두 거부됨
* **블랙리스트** → 일치하는 IP는 거부되며, **화이트리스트보다 우선함**
* 둘을 동시에 사용할 수 있습니다(블랙리스트가 먼저 확인되고 그다음 화이트리스트)

거부되면 API는 `403 ACCESS_DENIED`를 반환합니다.

## 실제 송출 IP 확인하기(중요!) [#실제-송출-ip-확인하기중요]

**이것이 가장 저지르기 쉬운 실수입니다**: 키에 구성하는 IP는 LMU AI의 서버가 보는 **공인 송출 IP**여야 하며, 여러분 컴퓨터의 `ipconfig` / `ifconfig`가 보여주는 사설 주소가 아닙니다.

```bash
# Command line
curl https://ifconfig.me
# or
curl https://ip.sb
```

또는 브라우저에서 [ip.sb](https://ip.sb) / [ifconfig.me](https://ifconfig.me)를 여세요.

<Callout type="warn">
  VPN이나 회사 프록시를 켜거나, 모바일 기기가 Wi-Fi 네트워크를 전환하면 송출 IP가 바뀝니다. 화이트리스트를 구성하기 전에 위 명령으로 확인하세요.
</Callout>

## 일반적인 시나리오 [#일반적인-시나리오]

**시나리오 1: 고정된 사무실 IP**

```
Whitelist:
203.0.113.10
```

**시나리오 2: 집과 사무실 양쪽에서 작업**

```
Whitelist:
203.0.113.10      # Company egress
198.51.100.20     # Home broadband
```

**시나리오 3: 자체 클라우드 서버에서 실행**

```
Whitelist:
<your cloud server's public IP>
```

여러분의 서버만 API를 호출하도록 허용하고, 로컬 개발에는 별도의 키(화이트리스트 없음)를 사용하세요.

**시나리오 4: 의심스러운 IP를 잠시 차단하고 싶을 뿐**

```
Blacklist:
1.2.3.4
```

그 외 모든 것은 평소처럼 작동하며, 정상적인 사용에 영향을 주지 않습니다.

## 문제 해결 [#문제-해결]

**Q: 제 호출이 403 ACCESS\_DENIED를 반환합니다 — IP 제한 때문인가요?**

대부분 그렇습니다. 순서대로 확인하세요:

1. `curl https://ifconfig.me`를 사용해 현재 실제 송출 IP를 확인
2. 키의 화이트리스트와 비교해 일치하는지 확인
3. 일치하지 않으면 현재 IP를 화이트리스트에 추가하거나, 화이트리스트를 임시로 비워서 테스트
4. 그래도 거부된다면 블랙리스트에 있는지, 키가 비활성화되었는지, 할당량이 소진되었는지 확인

**Q: IP를 화이트리스트에 넣었는데도 거부됩니다?**

* **사설 IP**(`192.168.x.x` / `10.x.x.x` / `172.16-31.x.x`)를 입력하지 않았나요? 공인 송출 IP로 교체하세요.
* IPv6 주소를 입력했는데 IPv4로 접속하고 있나요(또는 그 반대)? 둘 다 입력하세요.
* 잘못된 형식의 CIDR(예: `1.2.3.4/33`)을 입력하지 않았나요? 유효하지 않은 규칙은 조용히 무시됩니다.

## 권장 사례 [#권장-사례]

* **프로덕션 키**의 경우, 공격 표면을 최소화하기 위해 IP 화이트리스트를 구성하는 것을 강력히 권장합니다
* **개발 / 디버깅 키**의 경우 화이트리스트를 건너뛸 수 있지만, 백스톱으로 **총 할당량 상한**을 반드시 설정해야 합니다
* 유출이 특히 걱정된다면 [**속도 제한**, **총 할당량**, **모델 화이트리스트**](/ko/docs/guide/how-to-use-token)와 결합하여 계층적 방어를 구성하세요
* 키가 유출되었다고 의심되는 순간, 즉시 콘솔에서 키를 **재설정하거나 삭제**하세요
