> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API 키 관리

> W&B API 키를 찾고, 생성하고, 삭제하며 조직 구성원의 API 키 생성 및 사용 방식을 제한합니다.

API 키는 사용자 또는 서비스 계정을 W\&B에 인증합니다. 이 페이지에서는 W\&B에서 발급하는 API 키의 유형, 키를 찾고 관리하는 위치, 그리고 구성원의 키 생성 및 사용을 제한하는 조직 설정을 설명합니다. 자격 증명을 관리하는 조직 관리자와 팀 관리자, 그리고 자신의 키를 관리하는 구성원을 위한 문서입니다.

API 키를 받은 후 안전하게 저장하는 방법은 [API 키를 안전하게 저장 및 처리](#store-and-handle-api-keys-securely)를 참조하세요.

<div id="types-of-api-keys">
  ## API 키 유형
</div>

W\&B는 사용자와 서비스 계정 모두에게 API 키를 발급합니다.

| 키 유형                                                                                          | 소유자    | 액세스 가능한 범위    |
| --------------------------------------------------------------------------------------------- | ------ | ------------- |
| 개인 API 키                                                                                      | 사용자    | 사용자가 속한 모든 조직 |
| [팀 서비스 계정](/ko/platform/hosting/iam/service-accounts#team-scoped-service-accounts) 키          | 서비스 계정 | 하나의 팀         |
| [조직 서비스 계정](/ko/platform/hosting/iam/service-accounts#organization-scoped-service-accounts) 키 | 서비스 계정 | 조직 내 모든 팀     |

<div id="find-and-manage-api-keys">
  ## API 키 찾기 및 관리
</div>

조직 관리자, 팀 관리자 및 구성원은 **API Keys** 탭에서 키를 관리할 수 있습니다.

<Tabs>
  <Tab title="Multi-tenant Cloud">
    1. 오른쪽 상단의 프로필 아이콘을 클릭한 다음 조직을 선택합니다.
    2. `https://wandb.ai/account-settings/[ORGANIZATION]/api-keys`로 이동합니다. `[ORGANIZATION]`을 조직 이름으로 바꿉니다.

       **API Keys** 탭에는 볼 권한이 있는 키가 표시됩니다.
  </Tab>

  <Tab title="Dedicated Cloud and Self-Managed">
    1. **Organization Dashboard**로 이동합니다.
       * **Dedicated Cloud**: `https://[ORG-NAME].io/org/dashboard/`. `[ORG-NAME]`을 조직 이름으로 바꿉니다.
       * **Self-Managed**: `https://[YOUR-W&B-SERVER-IP]/org/dashboard`. `[YOUR-W&B-SERVER-IP]`를 배포 환경의 IP 주소로 바꿉니다.
    2. **API Keys** 탭을 클릭합니다.

       이 탭에는 볼 권한이 있는 키가 표시됩니다.
  </Tab>
</Tabs>

본인의 개인 API 키만 찾으려면 프로필 아이콘을 클릭한 다음 **사용자 설정**를 클릭하고 **API Keys** 섹션까지 스크롤합니다. [사용자 설정](/ko/platform/app/settings-page/user-settings#api-keys)을 참조하세요.

<Note>
  Multi-tenant Cloud에서 조직 역할이 청구 관리자인 사용자는 **API Keys** 탭을 볼 수 없습니다. Dedicated Cloud 및 Self-Managed에서는 청구 역할에 따라 이 탭이 제한되지 않습니다.
</Note>

<div id="key-visibility-by-role">
  ### 역할별 키 가시성
</div>

**API Keys** 탭에 표시되는 키는 역할에 따라 다릅니다.

| 역할     | 볼 수 있는 항목                                                                                                                        |
| ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| 구성원    | 본인 조직의 조직 API 키                                                                                                                  |
| 팀 관리자  | 본인 조직의 조직 API 키 및 관리하는 팀의 서비스 계정 키                                                                                               |
| 조직 관리자 | 조직 서비스 계정 키를 포함한 조직의 모든 조직 API 키                                                                                                 |
| 청구 관리자 | Multi-tenant Cloud에서는 볼 수 있는 항목이 없습니다. 이 역할에는 **API Keys** 탭이 표시되지 않습니다. Dedicated Cloud 및 Self-Managed에서는 구성원와 동일한 키를 볼 수 있습니다. |

<div id="read-the-api-keys-table">
  ### API 키 테이블 확인
</div>

테이블에는 각 키에 대해 다음 열이 표시됩니다.

* **키 이름**: 키를 생성할 때 지정한 설명 이름입니다.
* **키 ID**: 식별에 사용되는 키의 첫 부분입니다.
* **소유자**: 키를 소유한 사용자 또는 서비스 계정입니다.
* **마지막 사용**: 키가 가장 최근에 요청을 인증한 시점입니다.
* **생성일**: 키가 생성된 시점입니다.

<Note>
  보안을 위해 테이블에는 키 ID만 표시됩니다. W\&B는 키를 생성할 때 전체 시크릿 키를 한 번만 표시합니다. 키의 전체 시크릿을 더 이상 보유하고 있지 않은 경우 [키를 교체](#rotate-an-api-key)하세요.
</Note>

목록 범위를 좁히려면 검색 필드에 키 이름, 키 ID 또는 소유자를 입력하거나 **Filters**를 클릭하여 키 유형과 같은 속성으로 필터링하세요.

<div id="create-an-api-key">
  ### API 키 만들기
</div>

1. **API Keys** 탭으로 이동합니다.
2. **New key**를 클릭합니다.
3. 키를 쉽게 식별할 수 있는 이름을 지정합니다.
4. **Create**를 클릭합니다.
5. 키를 즉시 복사하여 안전하게 보관합니다.

<Warning>
  W\&B는 전체 API 키를 생성 시점에 한 번만 표시합니다. 대화 상자를 닫으면 전체 API 키를 다시 볼 수 없습니다. Settings에서는 키 ID(키의 첫 부분)만 확인할 수 있습니다. 전체 API 키를 분실한 경우 새 API 키를 만들어야 합니다.
</Warning>

Multi-tenant Cloud에서 이 탭을 통해 생성한 키는 현재 보고 있는 조직에 속합니다. 작업하는 조직마다 별도의 키를 생성하세요.

<div id="rename-an-api-key">
  ### API 키 이름 변경
</div>

키의 사용처를 기록할 수 있도록 이름을 변경하세요. 그러면 나중에 낯선 키도 더 쉽게 확인할 수 있습니다. 이름을 변경해도 키의 시크릿은 바뀌지 않으며, 해당 키를 사용하는 항목이 중단되지 않습니다.

1. 테이블에서 키를 찾습니다.
2. 키 행 끝에 있는 작업 메뉴를 클릭한 다음 **Edit**를 클릭합니다.
3. 새 이름을 입력한 다음 저장합니다.

<div id="delete-api-keys">
  ### API 키 삭제
</div>

더 이상 필요하지 않은 키는 삭제하세요. 키가 노출되었을 가능성이 있다면 즉시 삭제하세요.

키 하나를 삭제하려면 테이블에서 해당 키를 찾고 해당 행 끝의 작업 메뉴를 클릭한 다음 **Delete**를 클릭하고 확인하세요.

여러 키를 한 번에 삭제하려면 다음 단계를 따르세요.

1. 삭제할 각 키 옆의 확인란을 선택합니다.
2. **Delete**를 클릭합니다. 버튼에 선택한 키 수가 표시됩니다.
3. 삭제를 확인합니다.

<Warning>
  키를 삭제하면 해당 키를 사용하는 모든 스크립트나 서비스의 액세스가 즉시 취소됩니다. 이전 키를 삭제하기 전에 시스템이 대체 키를 사용하도록 업데이트하세요.
</Warning>

<div id="rotate-an-api-key">
  ### API 키 교체
</div>

보안 정책에 맞는 주기로 키를 교체하고, 키가 노출되었을 가능성이 있으면 즉시 교체하세요. 키를 사용하는 워크로드를 계속 실행해야 하는 경우에는 삭제하지 말고 키를 교체하세요.

W\&B에는 단일 키 교체 액션이 없습니다. 키의 전체 시크릿은 생성 시에만 표시되므로, 다음과 같이 키를 교체합니다.

1. 새 API 키를 만드세요. 교체할 키와 구분되는 이름을 지정하세요.
2. 이전 키를 사용하는 모든 스크립트, 작업 및 저장된 시크릿을 업데이트하세요. 저장 옵션은 [API 키를 안전하게 저장하고 처리하기](#store-and-handle-api-keys-securely)를 참조하세요.
3. 워크로드가 새 키로 인증되는지 확인하세요.
4. 이전 키를 삭제하세요.

마지막 단계를 완료하기 전까지는 두 키가 모두 작동합니다. 이 중복 기간 덕분에 중단 없이 키를 교체할 수 있으므로, 가능한 한 짧게 유지하세요.

<Warning>
  키가 공개적으로 노출된 경우, 시스템을 업데이트할 때까지 기다리지 말고 즉시 삭제하세요. 노출된 키는 삭제할 때까지 유효합니다.
</Warning>

<div id="restrict-how-members-use-api-keys">
  ## 구성원의 API 키 사용 제한
</div>

조직 관리자는 API 키 생성 및 사용을 제한할 수 있습니다. 적용할 수 있는 제한 사항은 배포 유형에 따라 다르며, W\&B App이 아닌 `updateOrganizationPrivacySettings` GraphQL 뮤테이션을 통해 각각 설정합니다.

<div id="require-organization-api-keys">
  ### 조직 API 키 요구
</div>

Enterprise 조직의 **Multi-tenant Cloud**에서 사용할 수 있습니다.

활성화하면 조직 API 키만 조직 리소스에 액세스할 수 있습니다. 구성원이 여러 조직에서 사용하는 개인 API 키는 더 이상 이 조직에서 작동하지 않으므로, 다른 곳에서 유출된 키가 데이터에 액세스하는 것을 방지할 수 있습니다.

`[ORGANIZATION-ID]`를 조직의 ID로 바꾸세요.

```graphql theme={null}
mutation RequireOrgScopedAPIKeys {
  updateOrganizationPrivacySettings(
    input: {organizationId: "[ORGANIZATION-ID]", requireOrgScopedAPIKeys: true}
  ) {
    success
  }
}
```

이 설정을 사용하려면 조직 API 키가 이미 활성화되어 있어야 합니다. 자세한 내용은 W\&B 계정 팀에 문의하세요.

<div id="availability">
  ## 사용 가능 여부
</div>

API 키 기능은 배포 유형에 따라 다르며, Multi-tenant Cloud에서는 구독 유형에 따라서도 다릅니다. 다음 표에서는 각 기능의 사용 가능 여부를 요약합니다.

| 기능                    | Multi-tenant Cloud | Dedicated Cloud | Self-Managed |
| --------------------- | ------------------ | --------------- | ------------ |
| API 키 테이블 검색 및 필터링    | Yes                | v0.84.0+        | v0.84.0+     |
| **API Keys** 탭에서 키 생성 | Enterprise 조직      | v0.84.0+        | v0.84.0+     |
| 여러 키 한 번에 삭제          | Enterprise 조직      | v0.84.0+        | v0.84.0+     |
| API 키 생성 비활성화         | 사용할 수 없음           | v0.84.0+        | v0.84.0+     |

<div id="store-and-handle-api-keys-securely">
  ## API 키를 안전하게 저장하고 관리하기
</div>

API 키는 W\&B 계정에 접근할 수 있게 하므로 비밀번호처럼 보호해야 합니다. 다음 섹션에서는 권장 저장 방법, 피해야 할 관행, 코드에 키를 전달하는 방법, 그리고 최신 키에 필요한 SDK 버전 요구 사항을 설명합니다.

<div id="recommended-storage-methods">
  ### 권장 저장 방법
</div>

다음 방법 중 하나를 사용하여 API 키를 안전하게 저장하세요.

* **Secrets manager**: [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [HashiCorp Vault](https://developer.hashicorp.com/vault), [Azure Key Vault](https://azure.microsoft.com/en-us/products/key-vault), 또는 [Google Secret Manager](https://cloud.google.com/security/products/secret-manager)와 같은 전용 시크릿 관리 시스템을 사용하세요.
* **Password manager**: 신뢰할 수 있는 비밀번호 관리 애플리케이션을 사용하세요.
* **OS-level keychains**: macOS Keychain, Windows Credential Manager, 또는 Linux secret service에 키를 저장하세요. 프로덕션 환경에는 권장되지 않습니다.

<div id="what-to-avoid">
  ### 피해야 할 사항
</div>

다음과 같은 관행은 API 키를 노출시킬 수 있으므로 피하세요.

* Git과 같은 버전 관리 시스템에 API 키를 절대 커밋하지 마세요.
* API 키를 평문 설정 파일에 저장하지 마세요.
* `ps`와 같은 OS 명령의 출력에 표시되므로, 명령줄 인수로 API 키를 전달하지 마세요.
* 이메일, 채팅 또는 기타 암호화되지 않은 채널을 통해 API 키를 공유하지 마세요.
* 소스 코드에 API 키를 하드코딩하지 마세요.

API 키가 노출된 경우, W\&B 계정에서 즉시 해당 API 키를 삭제하고 [지원팀](mailto:support@wandb.ai) 또는 AISE에 문의하세요.

<div id="environment-variables">
  ### 환경 변수
</div>

코드에서 API 키를 사용할 때는 환경 변수를 통해 전달하세요:

```bash theme={null}
export WANDB_API_KEY="[YOUR-API-KEY]"
```

이 방식은 키를 소스 코드에 넣지 않도록 하고, 필요할 때 더 쉽게 교체할 수 있게 해줍니다.

<Warning>
  `ps` 같은 OS 명령어의 출력에 표시되므로, 환경 변수를 명령어와 같은 줄에서 설정하지 마세요:

  ```bash theme={null}
  # 이 패턴은 피하세요. 프로세스 관리자에 API 키가 노출될 수 있습니다
  export WANDB_API_KEY="[YOUR-API-KEY]" ./my-script.sh
  ```
</Warning>

<div id="sdk-version-compatibility">
  ### SDK 버전 호환성
</div>

최신 API 키를 사용하는 경우, SDK 버전이 이를 지원하는지 확인하세요. 새 API 키는 기존 키보다 더 깁니다. 이전 버전의 `wandb` 또는 `weave` SDK로 인증할 때 API 키 길이 오류가 발생할 수 있습니다.

**해결 방법**: 최신 SDK 버전으로 업데이트하세요.

* `wandb` SDK v0.22.3+

  ```bash theme={null}
  pip install --upgrade wandb==0.22.3
  ```
* `weave` SDK v0.52.17+
  ```bash theme={null}
  pip install --upgrade weave==0.52.17
  ```

SDK를 바로 업그레이드할 수 없다면, 우회 방법으로 `WANDB_API_KEY` 환경 변수를 사용해 API 키를 설정하세요.
