Passer au contenu principal
Consultez également Vue d’ensemble des sandboxes des services XBOX. Le sandbox XBOX Live fournit un environnement privé complet pour le développement. Cet article explique ce que sont les sandboxes, pourquoi ils existent, comment ils s’appliquent aux éditeurs et quelle incidence ils ont sur les équipes internes de XBOX. Il s’adresse aux éditeurs qui créent du contenu pour XBOX One (ou version ultérieure) et utilisent des sandboxes. Le développement XBOX Live offre aux éditeurs une formidable occasion de tester en production avec des services de qualité production et des comptes de développeur MSA de production. Cette fonctionnalité et cette flexibilité accrues nécessitent des étapes de configuration dans Partner Center pour créer les données de titre et gérer l’accès aux titres pendant le développement et après leur disponibilité générale. Les sandboxes permettent de partitionner les données en production. Comme il n’existe qu’un seul environnement de production pour tout le contenu, les sandboxes jouent le rôle d’« environnements virtuels » dans lesquels les données générées dans un environnement ne passent pas dans un autre.

Isoler le contenu sur XBOX Live

Sur XBOX Live, il n’existe qu’un seul environnement de production, dans lequel résident tous les contenus en préversion (en développement et en bêta), en certification et commerciaux. L’isolement du contenu est le moyen de garantir l’absence de fuite du contenu des éditeurs en production. Fondamentalement, l’isolement du contenu garantit que tout principal (utilisateur, appareil ou titre) qui demande l’autorisation d’accéder à une ressource (un titre ou un service) a bien été autorisé à y accéder. Avec l’isolement du contenu, les partitions sont divisées en sandboxes dans lesquels les données de titre ou de service sont stockées ; les stratégies d’autorisation sont définies dans le cadre d’un sandbox. Les sandboxes permettent de partitionner les données en production.
  • Avec les services de l’ère XBOX 360, PartnerNet et ProductionNet sont deux environnements distincts.
  • Avec les services XBOX One (ou ultérieurs), un seul environnement de production contient n environnements virtuels distincts, chacun étant appelé sandbox.
Comme il n’existe qu’un seul environnement de production pour tout le contenu, les sandboxes sont en réalité des environnements virtuels uniques dans lesquels les données générées dans un environnement ne peuvent pas passer dans un autre. La figure suivante montre un environnement de production unique dans lequel les éditeurs peuvent créer leurs sandboxes de développement privés. Seuls les comptes de développement ou les kits de développement autorisés peuvent accéder à ces sandboxes. Figure 1. Sandboxes dans un environnement de production. Diagramme de la structure et de l'accès des sandboxes Tout comme PublisherA dispose de sandboxes de développement, les autres éditeurs disposent de leurs propres sandboxes de développement. Un même ID de titre peut résider dans différents sandboxes, mais les données générées pour cet ID de titre sont distinctes d’un sandbox à l’autre. Il existe deux sandboxes système que seul Microsoft peut alimenter : CERT et RETAIL. Comme leur nom l’indique, le sandbox CERT est destiné aux titres en cours de certification avant leur publication, tandis que le sandbox RETAIL représente l’environnement commercial réel, accessible à tous les utilisateurs et appareils du commerce. Alors qu’un ID de titre était auparavant unique dans XBOX Live, c’est désormais la combinaison d’un ID de titre et d’un ID de sandbox qui est unique. Il en va de même pour les ID de produit et les autres espaces d’ID autrefois considérés comme uniques. Ils doivent désormais être associés à un ID de sandbox. Dans l’ensemble du système, toutes les données de XBOX Live sont principalement partitionnées par ID de sandbox.

Configuration initiale d’un titre

Un titre voit le jour dans Partner Center. Un ID de titre, un ID de produit et un identificateur de configuration de service (SCID) sont attribués au titre. Un titre ou un produit ne signifie rien en soi pour XBOX Live. Pour permettre l’utilisation simultanée commerciale et de développement d’un même titre, Partner Center prend en charge l’instanciation des titres afin d’établir et de maintenir les distinctions nécessaires. Une instance de titre réside dans un sandbox : c’est là que les sandboxes interviennent. Pour créer un titre dans Partner Center, un éditeur crée un groupe de produits, spécifie le genre de ce groupe de produits, puis y crée des produits individuels. Figure 2. Relations entre un groupe de produits, un produit, une instance de produit et un sandbox. Diagramme du groupe de produits et de l'instance de produit

Instances de produit

Une instance de produit est une projection des données de titre, de produit et de configuration dans un sandbox spécifique. Ces données sont décrites dans les trois domaines suivants : configuration de service, métadonnées de catalogue et binaires.

Configuration de service

Définitions de la configuration de service (événements, statistiques, succès, etc.). La configuration de service est définie au niveau de l’instance de produit.

Métadonnées de catalogue

Les métadonnées présentes dans le catalogue, notamment le texte de vente, les illustrations, les informations de disponibilité et d’offre, les données de licence, etc.

Binaires

Un binaire peut être représenté de deux façons :
  1. Métadonnées uniquement, pour permettre le chargement indépendant (sideloading). Cela comprend l’ID de contenu, les informations de version et les informations de licence.
  2. Binaire complet propagé vers un CDN et téléchargeable sur un client.

Obtenir les bons accès

Il existe deux types d’accès distincts à votre contenu sur XBOX One (ou ultérieure) : Accès au moment de la conception : accès depuis un PC via Partner Center. Il permet aux personnes qui travaillent sur vos produits de charger, d’organiser et de manipuler le contenu, la configuration et les métadonnées, mais pas d’exécuter les instances de vos produits ni d’y jouer. Accès à l’exécution : accès depuis une console XBOX. Il permet à vos développeurs, testeurs, réviseurs et, à terme, à vos clients d’exécuter les instances de produit et d’y jouer.
Pour être disponible à l’exécution, une instance de produit doit être placée dans un sandbox. Une fois qu’une build est placée dans un sandbox, les utilisateurs de Partner Center ou les kits de développement auxquels l’accès à ce sandbox a été accordé peuvent exécuter l’instance. Pour ce faire, ils se connectent à Partner Center via une console XBOX à l’aide de l’un de leurs comptes de développement, des comptes spéciaux qui font office d’utilisateurs virtuels pour l’accès à l’exécution.
Lorsque nous parlons de sandboxes, il s’agit généralement de l’accès à l’exécution au contenu qui s’exécute sur XBOX Live. Pour accéder à un service de XBOX Live, un ID de titre est requis. Dès qu’un fichier MicrosoftGame.config contient un ID de titre, la console envoie cet ID de titre à XBOX Live. Les services de sécurité de XBOX Live ne renvoient de jeton valide que si le principal (appareil ou utilisateur) a obtenu l’accès au titre. Ce processus de validation est au cœur de l’isolement du contenu. Vu de très haut :
  • Un groupe de principaux peut contenir des ID d’utilisateur XBOX (XUID), des ID d’appareil, des ID de titre ou des ID de service.
  • Un sandbox peut contenir des ID de titre, des ID de produit ou des ID de configuration de service (SCID).
  • Un groupe de principaux se voit accorder l’accès à un sandbox.
Ainsi, pour qu’un utilisateur ou un appareil puisse accéder à un titre en préversion dans un sandbox, l’accès doit d’abord être accordé via Partner Center. Figure 3. Modèle de configuration de l’accès via Partner Center Diagramme de l'accès aux ressources des sandboxes L’efficacité de l’isolement du contenu repose sur le fait que votre organisation maîtrise les processus suivants :
  • La création de vos comptes d’utilisateur Partner Center, des comptes de développement que chaque utilisateur utilisera pour se connecter lors de l’accès à l’exécution, et des groupes d’utilisateurs auxquels chaque utilisateur appartient.
  • La création de groupes d’appareils regroupant les consoles de confiance.
  • La définition précise, pour chacun de vos sandboxes de développement, des groupes d’utilisateurs et des groupes d’appareils qui ont accès aux instances de produit qu’il contient.
Un exemple de cette configuration est illustré dans la figure ci-dessous. Figure 4. Les informations d’identification d’un utilisateur non autorisé ne permettent pas d’accéder au sandbox, pas plus que les informations d’identification ordinaires d’un compte d’utilisateur Partner Center autorisé. Seules les informations d’identification du compte de développement appartenant au compte d’utilisateur Partner Center autorisé permettent d’obtenir l’accès à l’exécution au sandbox et à toutes les instances de produit qu’il contient actuellement. Diagramme d'exemple d'accès à un sandbox

Configuration des comptes de développement

Sur XBOX One (ou ultérieure), les comptes de développement sont de simples comptes Microsoft (MSA) standard auxquels s’appliquent des règles particulières. Les comptes de développement sont utilisés dans XBOX Live pour le développement. Un compte de développement :
  • Doit être créé dans Partner Center.
  • Se voit attribuer le rôle de développeur externe lorsqu’il est créé par un éditeur.
  • Est lié au compte Partner Center qui l’a créé.
  • Ne peut se connecter qu’à des kits de développement. La connexion d’un compte de développement est refusée sur les appareils du commerce.
  • Peut acheter gratuitement un abonnement XBOX Live Developer Gold ou d’autres abonnements à des fins de test.

Configuration des groupes d’utilisateurs

Un groupe d’utilisateurs, premier type de groupe de principaux, est un ensemble d’utilisateurs de Partner Center. Lorsque des utilisateurs de Partner Center sont ajoutés à des groupes d’utilisateurs, leurs comptes de développement les suivent. Ainsi, lorsqu’un groupe d’utilisateurs est attribué à un sandbox, les comptes de développement associés aux utilisateurs Partner Center de ce groupe sont ajoutés aux groupes de principaux appropriés, et ces groupes de principaux se voient attribuer une stratégie portant sur le jeu de ressources principal qui sous-tend le sandbox.
Les groupes d’utilisateurs créés pour accéder aux sandboxes sont les mêmes que ceux utilisés pour empêcher l’accès aux données de configuration dans Partner Center pour les groupes de produits et les produits.

Configuration des appareils

Un appareil est également ajouté à un groupe de principaux. Un appareil ne peut être utilisé comme kit de développement que si un droit a été acheté via le Game Developer Store et que l’appareil a été provisionné en tant que kit de développement. Une fois qu’un appareil est provisionné en tant que kit de développement, il apparaît dans la liste des appareils pouvant être ajoutés à des groupes d’appareils.

Configuration des groupes d’appareils

Un groupe d’appareils, deuxième type de groupe de principaux, peut également se voir accorder l’accès à des sandboxes. La configuration est semblable à celle des groupes d’utilisateurs décrite ci-dessus.

Sandboxes

Qu’est-ce qu’un sandbox ?

En termes simples, un sandbox est un moyen de partitionner les données en production.

Pourquoi avons-nous besoin de sandboxes ?

Tout comme les utilisateurs et les appareils accèdent aux titres, les titres accèdent aux services. Nous introduisons le concept de « groupe de titres », dans lequel des ensembles de titres se voient accorder l’accès à des ressources de service. Il n’existe qu’un seul environnement de production pour XBOX One (ou ultérieure), pour tout le contenu, en préversion comme commercial. Il faut donc empêcher plusieurs instances (préversion/commerciale) d’un titre d’agir sur les mêmes instances de ressources.

Que contient un sandbox ?

Un sandbox contient une instance de produit pour chaque titre ajouté au sandbox.

Qu’est-ce qu’un ID de sandbox ?

Un ID de sandbox est une unité de partitionnement des données pour un titre, un produit ou une configuration de service. Plusieurs titres peuvent coexister dans le même sandbox, ce qui est une condition préalable au partage de données de configuration de service entre eux. Un ID de sandbox (respectant la casse) est une chaîne au format suivant : <PublisherMoniker>.n. Voici l’explication d’un exemple d’ID de sandbox, XLDP.5 :
  • Le moniker d’éditeur est unique parmi tous les éditeurs. Ainsi, « XLDP » est le moniker de cet éditeur particulier. Un moniker d’éditeur est créé lorsqu’un éditeur est « activé » dans Partner Center par le gestionnaire de compte développeur.
  • Le chiffre « n » identifie le numéro du sandbox. Ici, « 5 » correspond au sixième sandbox créé pour cet éditeur.
Lorsque les données du titre transitent par les services, les services XBOX utilisent l’ID de sandbox pour identifier de manière unique l’« environnement » des données générées.

Quelles données sont isolées par sandbox ?

Le diagramme ci-dessous montre quelles données d’utilisateur et de titre sont isolées par sandbox. Diagramme des données isolées et non isolées par sandbox

Sandbox de remplacement global

Un développeur définit l’ID de sandbox sur le kit de développement et définit ainsi le sandbox dans lequel s’exécute le kit ; c’est ce qu’on appelle le sandbox de remplacement global. Ainsi, toutes les requêtes adressées aux services XBOX Live (par exemple, succès, matchmaking, licences, EDS, etc.) par les titres (applications shell et applications ordinaires) du kit de développement sont effectuées dans ce sandbox. Le sandbox de remplacement global implique également que seul le contenu ingéré dans ce sandbox est visible lors de la navigation.

Types de sandboxes

Il existe deux catégories de sandboxes. Ces catégories sont définies comme suit :
  • Sandboxes d’éditeur. Les éditeurs ont accès à leurs sandboxes en cours de développement. Ceux-ci peuvent se présenter sous la forme XLDP.0, XLDP.1, XLDP.2, XLDP.3, etc. C’est là que les éditeurs placent les instances de produit de leurs titres. L’accès à ces sandboxes est limité aux utilisateurs et appareils auxquels les éditeurs l’accordent
  • Sandboxes Microsoft. Il s’agit des sandboxes intégrés : RETAIL et CERT. Seul Microsoft est autorisé à publier dans ces sandboxes protégés.

Sandbox CERT

Lorsqu’un titre est prêt pour la disponibilité générale, il doit d’abord passer la certification. Le sandbox CERT est un sandbox contrôlé par Microsoft, auquel seules les personnes chargées de la certification ont accès. Les éditeurs peuvent voir lequel de leurs contenus est en cours de certification. Les instances de produit qui échouent pendant la certification peuvent être ramenées dans un sandbox de développement pour être déboguées et corrigées par les éditeurs à l’aide de Partner Center.

Sandbox RETAIL

Le sandbox RETAIL est la destination finale de tout le contenu créé pour XBOX One (ou ultérieure). Une fois qu’un titre a réussi la certification, il est ajouté au sandbox RETAIL. Seul le contenu signé « green » est autorisé à s’exécuter dans le sandbox RETAIL. Cela a une conséquence importante : les bêtas pilotées par les éditeurs se déroulent également dans le sandbox RETAIL. Les données générées dans le sandbox RETAIL représentent de véritables données de production des clients. L’accès au contenu du sandbox RETAIL reste contrôlable grâce à l’isolement du contenu. Par exemple, les bêtas pilotées par les éditeurs s’exécutent dans le sandbox RETAIL, où l’éditeur choisit les groupes de principaux qui peuvent accéder aux titres du jeu de ressources bêta qu’il a défini. Les données de service générées par les titres bêta sont de véritables données de production et continuent d’exister une fois que le titre atteint la disponibilité générale.

Interaction des données entre sandboxes

Par définition, un sandbox est un conteneur qui restreint le partage des données. L’interaction des données entre sandboxes n’est donc pas possible.

Organisation de vos sandboxes

Cette section fournit un exemple de la façon dont un éditeur peut organiser ses sandboxes. Un éditeur doit comprendre comment utiliser les sandboxes pour organiser les données. Les exemples ci-dessous ne présentent que la gestion de l’accès à l’exécution avec l’isolement du contenu.

Scénario 1 : deux titres, un sandbox

La structure de base d’un éditeur pourrait être la suivante :
  • Deux titres accessibles à tous les utilisateurs et appareils de l’éditeur, au moment de la conception comme à l’exécution.
  • Une instance de produit par titre.
Dans ce cas, l’éditeur n’a besoin que d’un seul sandbox pour tout le contenu en préversion. Le diagramme ci-dessous montre un groupe d’utilisateurs. L’éditeur peut choisir d’utiliser un groupe d’appareils plutôt qu’un groupe d’utilisateurs, s’il le juge plus simple. En outre, ce groupe d’utilisateurs dispose de l’accès à l’exécution et au moment de la conception au sandbox XLDP.1 et aux titres qu’il contient. Organigramme d'un groupe d'utilisateurs avec deux titres

Scénario 2 : un titre, différentes équipes

Dans ce modèle, les exigences sont les suivantes :
  • Un titre.
  • L’équipe de développement travaille sur des builds quotidiennes.
  • L’équipe d’assurance qualité travaille sur des LKG hebdomadaires.
  • L’équipe de développement doit déboguer les LKG hebdomadaires en cas de bogues.
  • L’équipe financière doit avoir accès aux grilles tarifaires et aux autres métadonnées liées à la publication d’un titre dans le catalogue.
La figure ci-dessous montre que TitleX a deux instances de produit : PI-1 et PI-2. Une instance de produit doit se trouver dans un sandbox, et deux instances de produit d’un même titre ne peuvent pas se trouver dans le même sandbox. Ainsi, TitleX-PI-1 se trouve dans le sandbox XLDP.1 et TitleX-PI-2 dans le sandbox XLDP.2. Le groupe d’utilisateurs de développement a accès aux deux sandboxes, tandis que le groupe d’utilisateurs d’assurance qualité n’a accès qu’au sandbox XLDP.2. En outre, l’utilisateur financier (groupe C) dispose de l’accès au moment de la conception à TitleX. Comme le groupe d’utilisateurs financier n’effectue généralement aucun débogage à l’exécution d’un titre, il est séparé des autres.
Quelle que soit l’organisation, un utilisateur de Partner Center peut appartenir à plusieurs groupes d’utilisateurs.
Organigramme d'un titre avec plusieurs groupes d'utilisateurs

Scénario 3 : deux titres, totalement séparés

Dans cet exemple, les exigences changent quelque peu :
  • Deux titres.
  • L’accès à chaque titre doit être limité à un certain groupe de personnes.
  • Une instance de produit par titre.
  • Un groupe d’utilisateurs administrateurs qui a besoin d’accéder aux données de configuration de Partner Center des titres au moment de la conception. Les personnes de ce groupe sont toutes administrateurs de l’éditeur et peuvent contrôler toutes les données publiées dans le catalogue (métadonnées de catalogue, finance, marketing, soumission à la certification, etc.)
Dans ce modèle, l’éditeur a choisi de séparer complètement les deux titres et les a donc placés dans deux sandboxes différents. L’éditeur a également choisi de créer un groupe d’utilisateurs administrateurs distinct et lui a accordé l’accès aux deux produits. Organigramme d'un groupe administrateur, de deux groupes d'utilisateurs et de deux titres

Scénario 4 : comme vous le souhaitez

En raison du nombre de connexions et par souci de concision, nous avons choisi de ne montrer que les connexions d’exécution aux sandboxes. Rien ne vous empêche d’ajouter également d’autres autorisations d’accès au moment de la conception. Dans cet exemple, les exigences sont les suivantes :
  • Seules certaines personnes de l’éditeur ont accès à certains titres.
  • L’éditeur travaille avec des prestataires de différentes entreprises, éventuellement sur de courtes durées.
  • L’éditeur doit pouvoir mettre hors service un titre et, ce faisant, empêcher l’accès à toutes les données auxquelles les prestataires ou les employés à temps plein avaient accès.
Pour modéliser cette exigence, une structure comme celle ci-dessous peut être adoptée. Le modèle suivi est le suivant :
  • TitleX et TitleY n’ont chacun qu’une seule instance de produit, dans le sandbox XLDP.1.
  • TitleZ a deux instances de produit, l’une dans le sandbox XLDP.2 et l’autre dans le sandbox XLDP.3.
  • Le groupe d’utilisateurs FTE B a accès aux instances de produit de tous les sandboxes.
  • Le groupe d’utilisateurs prestataires A est un groupe réservé aux prestataires, qui a accès au sandbox XLDP.1.
  • Le groupe d’appareils prestataires C est un groupe réservé aux prestataires, qui a accès au sandbox XLDP.3.
Organigramme d'un accès personnalisé des groupes d'utilisateurs aux titres

Déterminer le sandbox ciblé par votre appareil

Les API des services XBOX contiennent un singleton de configuration d’application qui vous permet de connaître le sandbox ciblé par votre titre à l’exécution. Avec le GDK, cela se fait à l’aide de XSystemGetXboxLiveSandboxId.
Dernière modification le 8 octobre 2026