> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-sdk-testing-latest.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 시크릿

> Serverless Sandboxes에서 시크릿을 관리하는 방법을 알아보세요.

<Warning>
  Serverless Sandboxes는 공개 프리뷰입니다.
</Warning>

샌드박스에서 API 키 및 토큰과 같은 민감한 정보에 액세스하려면 W\&B Python SDK와 함께 [W\&B Secrets Manager](/ko/platform/secrets)를 사용하세요.

샌드박스에서 시크릿을 사용하려면 먼저 팀의 Secrets Manager에 시크릿을 추가하세요. 그런 다음 샌드박스를 생성할 때 해당 시크릿을 이름으로 참조하세요.

<Caution>
  코드나 샌드박스 설정에 시크릿 값을 직접 포함하지 마세요. 시크릿은 이름으로만 참조하세요.
</Caution>

W\&B는 요청된 각 시크릿을 환경 변수로 샌드박스에 주입합니다. 기본적으로 환경 변수 이름은 시크릿 이름과 같습니다. `env_var` 매개변수를 사용해 환경 변수 이름을 사용자 지정할 수 있습니다.

<Note>
  시크릿을 생성하고 W\&B 계정에서 관리하는 방법에 대한 자세한 내용은 [Manage secrets](/ko/platform/secrets)를 참조하세요.
</Note>

<div id="access-secrets-in-a-sandbox">
  ## 샌드박스에서 시크릿에 액세스하기
</div>

샌드박스에 포함할 시크릿을 지정하려면 `Secret` 클래스를 사용하세요. 하나 이상의 `Secret` 객체를 `Sandbox.run()`의 `secrets` 매개변수에 전달하세요. 각 `Secret` 객체는 이름으로 시크릿을 식별합니다. W\&B는 시크릿 값을 환경 변수로 샌드박스에 주입합니다.

<Tip>시크릿 값이 아니라 시크릿 이름을 전달하세요. 샌드박스 내에서는 해당 환경 변수에서 시크릿을 읽어 사용하세요.</Tip>

다음 예제에서는 기존 시크릿 두 개(`HF_TOKEN` 및 `OPENAI_API_KEY`)를 샌드박스에서 사용 가능하게 합니다.

```python theme={null}
from wandb.sandbox import Sandbox, Secret

with Sandbox.run(
    secrets=[
        Secret(name="HF_TOKEN"),
        Secret(name="OPENAI_API_KEY"),
    ],
) as sandbox:
    result = sandbox.exec([
        "python",
        "-c",
        """
import os
if "HF_TOKEN" in os.environ:
    print(f"Hugging Face token found.")
if "OPENAI_API_KEY" in os.environ:
    print(f"OpenAI key token found.")
""",
    ]).result()
    print(result.stdout)
```

샌드박스 내부에서는 각 시크릿에 해당하는 환경 변수를 통해 액세스할 수 있습니다. 이 예제에서는 `HF_TOKEN`은 `os.environ["HF_TOKEN"]`으로, `OPENAI_API_KEY`는 `os.environ["OPENAI_API_KEY"]`로 사용할 수 있습니다.

시크릿의 환경 변수 이름을 사용자 지정하려면 [맞춤형 환경 변수 이름 사용](#use-a-custom-environment-variable-name)을 참조하세요.

<div id="use-a-custom-environment-variable-name">
  ## 맞춤형 환경 변수 이름 사용
</div>

기본적으로 시크릿의 환경 변수 이름은 시크릿 이름과 동일합니다. 특정 시크릿에 대해 sandbox의 환경 변수를 사용자 지정하려면 `Secret`의 `env_var` 파라미터를 설정하세요(`Secret(env_var="CUSTOM_NAME")`).

다음 예제에서는 `HF_TOKEN` 시크릿을 sandbox에서 사용할 수 있는지 확인합니다:

```python theme={null}
from wandb.sandbox import Sandbox, Secret

with Sandbox.run(
    secrets=[
        Secret(name="HF_TOKEN", env_var="HUGGINGFACE_TOKEN")
    ],
) as sandbox:
    result = sandbox.exec([
        "python",
        "-c",
        """
import os
if "HUGGINGFACE_TOKEN" in os.environ:
    print(f"Hugging Face token found!")
""",
    ]).result()
    print(result.stdout)
```
