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.

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

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

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

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.
Quelle que soit l’organisation, un utilisateur de Partner Center peut appartenir à 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.)

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

