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

# Administración de secretos (versión preliminar)

> Este documento proporciona información sobre la característica de administración de secretos que permite a los clientes implementar secretos en los servidores de juego de forma segura.

Con esta nueva característica, los desarrolladores de juegos pueden cargar, enumerar, actualizar y usar de forma segura secretos como claves de instrumentación y claves secretas en los servidores de juego.

## Cómo usar la característica de administración de secretos

Para administrar y utilizar los secretos de forma eficaz, el flujo de trabajo recomendado incluye:

1. Agregar secretos (este paso puede repetirse para varios secretos)
2. Hacer referencia a los secretos por nombre al crear una compilación nueva
3. Acceder a los secretos desde el servidor de juegos
4. Actualizar los secretos según sea necesario

### Agregar secretos

Los secretos pueden agregarse mediante la API [UploadSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/upload-secret).
Esta API permite cargar un secreto nuevo en el servicio o actualizar un secreto existente con el parámetro **ForceUpdate** establecido en **true**.

### Implementación de secretos

Para implementar secretos en máquinas virtuales recién creadas, incorpore el secreto en una compilación mediante el parámetro GameSecretReferences en las API CreateBuild (aplicable tanto a implementaciones basadas en contenedores como en procesos).

<Note>
  Una vez creada una compilación, no es posible agregarle secretos nuevos; sin embargo, la actualización de un secreto existente permitirá que su valor actualizado se use en las máquinas virtuales nuevas (las máquinas virtuales existentes conservarán los valores originales).
</Note>

Este es un ejemplo de cómo hacer referencia a los secretos:

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

### Acceso a los secretos

Una vez que los secretos se agregan y se hace referencia a ellos en compilaciones nuevas, los servidores de juego pueden acceder a estos valores secretos a través de variables de entorno dentro de cada servidor de juegos, ya sea basado en contenedores o en procesos.

La convención de nomenclatura de las variables de entorno es:

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

### Eliminación de secretos

Para quitar un secreto antiguo, utilice la API [DeleteSecret](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/delete-secret).

Asegúrese de que el secreto no se use en ninguna compilación antes de intentar eliminarlo; de lo contrario, la eliminación no se realizará correctamente.

## Uso de secretos en scripts de inicio de máquina virtual

Los scripts de inicio de máquina virtual pueden utilizar los valores secretos haciendo referencia a las variables de entorno como se ha descrito. Esto permite, por ejemplo, usar claves de telemetría u otros valores necesarios antes de iniciar cualquier servidor de juegos.

## Consulte también

* [Implementación de compilaciones mediante PowerShell/API](/services/playfab/multiplayer/servers/deploy-using-powershell-api)
* [Ejecución de un script personalizado durante la creación de la máquina virtual: VmStartupScript (versión preliminar)](/services/playfab/multiplayer/servers/vmstartupscript)


## Related topics

- [Uso de Playtest durante la versión preliminar](/es/publishing/game-publishing/concepts/playtest-preview.md)
- [Inicio rápido de la creación de particiones de eventos (versión preliminar)](/es/services/playfab/data-analytics/export-data/event-partitioning-quickstart.md)
- [Información general de la creación de particiones de eventos (versión preliminar)](/es/services/playfab/data-analytics/export-data/event-partitioning-overview.md)
- [Ejecución de un script personalizado durante la creación de la VM (versión preliminar)](/es/services/playfab/multiplayer/servers/vmstartupscript.md)
- [Data Connections - Información general](/es/services/playfab/data-analytics/export-data/data-connection-overview.md)
