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

# Gerenciar segredos (versão prévia)

> Este documento fornece informações sobre o recurso de gerenciamento de segredos, que permite que os clientes implantem segredos em servidores de jogo com segurança.

Com esse novo recurso, os desenvolvedores de jogos podem carregar, listar, atualizar e usar com segurança segredos, como chaves de instrumentação e chaves secretas, em servidores de jogo.

## Como usar o recurso de gerenciamento de segredos

Para gerenciar e utilizar os segredos de forma eficaz, o fluxo de trabalho recomendado inclui:

1. Adicionar segredos (esta etapa pode ser repetida para vários segredos)
2. Referenciar os segredos pelo nome ao criar um novo build
3. Acessar os segredos a partir do seu servidor de jogo
4. Atualizar os segredos conforme necessário

### Adicionando segredos

Os segredos podem ser adicionados por meio da API [UploadSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/upload-secret).
Essa API permite carregar um novo segredo no serviço ou atualizar um segredo existente com o parâmetro **ForceUpdate** definido como **true**.

### Implantando segredos

Para implantar segredos em VMs recém-criadas, incorpore o segredo a um build usando o parâmetro GameSecretReferences nas APIs CreateBuild (aplicável tanto a implantações baseadas em contêiner quanto em processo).

> [!NOTE]
>
> Depois que um build é criado, não é possível adicionar novos segredos a ele; no entanto, atualizar um segredo existente permitirá que o valor atualizado seja usado em novas VMs (as VMs existentes manterão os valores originais).

Veja um exemplo de como referenciar os segredos:

```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);
```

### Acessando segredos

Depois que os segredos forem adicionados e referenciados em novos builds, os servidores de jogo poderão acessar esses valores secretos por meio de variáveis de ambiente em cada servidor de jogo, seja baseado em contêiner ou em processo.

A convenção de nomenclatura das variáveis de ambiente é:

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

### Excluindo segredos

Para remover um segredo antigo, utilize a API [DeleteSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/delete-secret).

Verifique se o segredo não é usado em nenhum build antes de tentar excluí-lo; caso contrário, a exclusão não terá êxito.

## Usar segredos em scripts de inicialização de VM

Os scripts de inicialização de VM podem utilizar os valores secretos referenciando as variáveis de ambiente conforme descrito. Isso permite, por exemplo, o uso de chaves de telemetria ou de outros valores necessários antes de iniciar qualquer servidor de jogo.

## Confira também

* [Implantar builds usando PowerShell/API](/pt-BR/services/playfab/multiplayer/servers/deploy-using-powershell-api)
* [Executando um script personalizado durante a criação da VM - VmStartupScript (versão prévia)](/pt-BR/services/playfab/multiplayer/servers/vmstartupscript)


## Related topics

- [Usar o Playtest durante a versão prévia](/pt-BR/publishing/game-publishing/concepts/playtest-preview.md)
- [Início rápido do Particionamento de Eventos (Versão Prévia)](/pt-BR/services/playfab/data-analytics/export-data/event-partitioning-quickstart.md)
- [Segmentação avançada com propriedades personalizadas do jogador](/pt-BR/services/playfab/live-service-management/game-configuration/segmentation/advanced-segmentation.md)
- [Executar um script personalizado durante a criação da VM (versão prévia)](/pt-BR/services/playfab/multiplayer/servers/vmstartupscript.md)
- [Visão geral do Particionamento de Eventos (Versão Prévia)](/pt-BR/services/playfab/data-analytics/export-data/event-partitioning-overview.md)
