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

# 시크릿 관리(미리 보기)

> 이 문서는 고객이 게임 서버에 시크릿을 안전하게 배포할 수 있게 해주는 시크릿 관리 기능에 대한 정보를 제공합니다.

이 새로운 기능을 사용하면 게임 개발자는 계측 키 및 비밀 키와 같은 시크릿을 게임 서버에 안전하게 업로드, 나열, 업데이트 및 사용할 수 있습니다.

## 시크릿 관리 기능 사용 방법

시크릿을 효과적으로 관리하고 활용하기 위해 권장하는 워크플로우는 다음과 같습니다:

1. 시크릿 추가(이 단계는 여러 시크릿에 대해 반복될 수 있음)
2. 새 빌드를 생성할 때 시크릿을 이름으로 참조
3. 게임 서버에서 시크릿 액세스
4. 필요에 따라 시크릿 업데이트

### 시크릿 추가

[UploadSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/upload-secret) API를 통해 시크릿을 추가할 수 있습니다.
이 API를 사용하면 새 시크릿을 서비스에 업로드하거나 **ForceUpdate** 파라미터를 **true**로 설정하여 기존 시크릿을 업데이트할 수 있습니다.

### 시크릿 배포

새로 생성된 VM에 시크릿을 배포하려면 CreateBuild API의 GameSecretReferences 파라미터를 사용하여 빌드에 시크릿을 통합하세요(컨테이너 및 프로세스 기반 배포에 모두 적용 가능).

<Note>
  빌드가 생성된 후에는 새 시크릿을 추가할 수 없지만, 기존 시크릿을 업데이트하면 새 VM에서 업데이트된 값을 사용할 수 있습니다(기존 VM은 원래 값을 유지).
</Note>

시크릿을 참조하는 방법의 예는 다음과 같습니다:

```csharp theme={null}
var request = new CreateBuildWithCustomContainerRequest()
{
    ContainerImageReference = new ContainerImageReference()
    {
        ImageName = "testimagename",
        Tag = "0.1"
    },
    ContainerFlavor = ContainerFlavor.CustomLinux,
    BuildName = "testbuildwithvmstartupscript",
    VmSize = AzureVmSize.Standard_D2as_v4,
    MultiplayerServerCountPerVm = 3,
    Ports = new List<Port>
    {
        new Port()
        {
            Name = "port",
            Num = 123,
            Protocol = ProtocolType.TCP
        }
    },
    RegionConfigurations = new List<BuildRegionParams>
    {
        new BuildRegionParams()
        {
            Region = "EastUs",
            StandbyServers = 3,
            MaxServers = 6
        }
    },
    GameSecretReferences = new[]
    {
        new GameSecretReferenceParams
        {
            Name = "SecretName"
        }
    }
};
var result = await PlayFabMultiplayerAPI.CreateBuildWithCustomContainerAsync(request);
```

### 시크릿 액세스

시크릿이 새 빌드에 추가되고 참조되면 게임 서버는 컨테이너 기반이든 프로세스 기반이든 각 게임 서버 내의 환경 변수를 통해 이러한 시크릿 값에 액세스할 수 있습니다.

환경 변수의 명명 규칙은 다음과 같습니다:

```shell theme={null}
PF_MPS_SECRET_<Secret Name>
```

### 시크릿 삭제

이전 시크릿을 제거하려면 [DeleteSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/delete-secret) API를 활용하세요.

삭제하려는 시크릿이 어떤 빌드에서도 사용되고 있지 않은지 확인하세요. 그렇지 않으면 삭제가 성공하지 않습니다.

## VM 시작 스크립트에서 시크릿 사용

VM 시작 스크립트는 설명된 대로 환경 변수를 참조하여 시크릿 값을 활용할 수 있습니다. 이를 통해 게임 서버를 시작하기 전에 원격 측정 키 또는 기타 필요한 값을 사용할 수 있습니다.

## 참고 항목

* [PowerShell/API를 사용한 빌드 배포](/services/playfab/multiplayer/servers/deploy-using-powershell-api)
* [VM 생성 중 사용자 지정 스크립트 실행 - VmStartupScript(미리 보기)](/services/playfab/multiplayer/servers/vmstartupscript)


## Related topics

- [암호화된 로그인](/ko/services/playfab/identity/player-identity/encryption/encrypted-logins.md)
- [PlayFab 라이브 서비스 관리 문서](/ko/services/playfab/live-service-management/index.md)
- [플레이어 암호화 서비스](/ko/services/playfab/identity/player-identity/encryption/player-encryption-services.md)
- [미리 보기 기간 동안 Playtest 사용](/ko/publishing/game-publishing/concepts/playtest-preview.md)
- [PlayFab API용 Microsoft Entra ID 인증](/ko/services/playfab/identity/dev-identity/authentication/entra-id-api-authentication.md)
