> ## Documentation Index
> Fetch the complete documentation index at: https://docs.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).

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](https://docs.xbox.com/es/services/playfab/multiplayer/servers/deploy-using-powershell-api.md)
* [Ejecución de un script personalizado durante la creación de la máquina virtual: VmStartupScript (versión preliminar)](https://docs.xbox.com/es/services/playfab/multiplayer/servers/vmstartupscript.md)


## Related topics

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