Isolar o conteúdo no XBOX Live
No XBOX Live, há apenas um único ambiente de produção, em que reside todo o conteúdo de pré-lançamento (em desenvolvimento e beta), de certificação e de varejo. O isolamento de conteúdo é a forma de garantir que não haja vazamentos de conteúdo dos publicadores em produção. Em sua essência, o isolamento de conteúdo garante que qualquer usuário, dispositivo ou título (entidade de segurança) que solicite permissão para acessar um recurso (um título ou um serviço) tenha sido autorizado a acessar esse recurso. Com o isolamento de conteúdo, as partições são divididas em áreas restritas, em que os dados dos títulos ou serviços são armazenados; as políticas de autorização são definidas no escopo de uma área restrita. As áreas restritas são uma forma de particionar os dados que estão em produção.- Com os serviços da era XBOX 360, a PartnerNet e a ProductionNet são dois ambientes distintos.
- Com os serviços do XBOX One (ou posterior), um único ambiente de produção contém n ambientes virtuais distintos, e cada ambiente virtual é chamado de área restrita.

Configuração inicial de um título
Um título nasce no Partner Center. Um título recebe um ID de título, um ID de produto e um identificador de configuração de serviço (SCID). Um título ou produto, por si só, não significa nada para o XBOX Live. Para oferecer suporte ao uso simultâneo de varejo e desenvolvimento de um único título, o Partner Center oferece suporte à criação de instâncias dos títulos, para estabelecer e manter as distinções necessárias. Uma instância de um título reside em uma área restrita, e é aqui que as áreas restritas entram em cena. Para criar um título no Partner Center, o publicador cria um grupo de produtos, especifica o gênero do grupo de produtos e, em seguida, cria produtos individuais dentro dele. Figura 2. As relações entre um grupo de produtos, um produto, uma instância de produto e uma área restrita.
Instâncias de produto
Uma instância de produto é uma projeção dos dados de título, produto e configuração em uma área restrita específica. Esses dados são descritos nas três áreas a seguir: configuração de serviço, metadados do catálogo e binários.Configuração de serviço
Definições de configuração de serviço (eventos, estatísticas, conquistas etc.). A configuração de serviço é definida no nível da instância de produto.Metadados do catálogo
Os metadados que ficam no catálogo, incluindo texto de venda, ativos de arte, informações de disponibilidade/oferta, dados de licenciamento e muito mais.Binários
Um binário pode ser representado de duas maneiras:- Somente metadados, para permitir o sideload. Isso inclui o ID do conteúdo, as informações de versão e as informações de licenciamento.
- O binário completo propagado para uma CDN e disponível para download em um cliente.
Obtendo o acesso correto
Há dois tipos distintos de acesso ao seu conteúdo no XBOX One (ou posterior): Acesso em tempo de design — acesso a partir de um PC pelo Partner Center. Permite que as pessoas que trabalham nos seus produtos carreguem, organizem e trabalhem com conteúdo, configuração e metadados, mas não permite que executem ou joguem instâncias dos seus produtos. Acesso em tempo de execução — acesso a partir de um console XBOX. Permite que seus desenvolvedores, testadores, revisores e, por fim, seus clientes executem e joguem as instâncias de produto.Para estar disponível para acesso em tempo de execução, uma instância de produto precisa ser colocada em uma área restrita. Depois que um build é colocado em uma área restrita, os usuários do Partner Center ou os dispositivos de kit de desenvolvimento que receberam acesso a essa área restrita podem executar a instância. Para isso, eles entram no Partner Center por meio de um console XBOX, usando uma de suas contas de desenvolvimento — contas especiais que funcionam como usuários virtuais para o acesso em tempo de execução.
- Um grupo de entidades de segurança pode conter IDs de usuário do XBOX (XUIDs), IDs de dispositivo, IDs de título ou IDs de serviço.
- Uma área restrita pode conter IDs de título, IDs de produto ou IDs de configuração de serviço (SCIDs).
- Um grupo de entidades de segurança recebe acesso a uma área restrita.

- Criar suas contas de usuário do Partner Center, as contas de desenvolvimento que cada usuário usará para entrar para o acesso em tempo de execução e os grupos de usuários dos quais cada usuário será membro.
- Criar grupos de dispositivos com consoles confiáveis.
- Especificar, para cada uma das suas áreas restritas de desenvolvimento, exatamente quais grupos de usuários e grupos de dispositivos têm acesso às instâncias de produto nela contidas.

Configuração das contas de desenvolvimento
As contas de desenvolvimento no XBOX One (ou posterior) são apenas contas Microsoft (MSA) padrão com regras especiais aplicadas a elas. As contas de desenvolvimento são usadas no XBOX Live para o desenvolvimento. Uma conta de desenvolvimento:- Precisa ser criada no Partner Center.
- Recebe a função de desenvolvedor externo quando criada pelos publicadores.
- Fica vinculada à conta do Partner Center que a criou.
- Só pode entrar em kits de desenvolvimento. A entrada de uma conta de desenvolvimento é negada em dispositivos de varejo.
- Pode adquirir gratuitamente a assinatura XBOX Live Developer Gold ou outras assinaturas para fins de teste.
Configuração dos grupos de usuários
Um grupo de usuários, o primeiro tipo de grupo de entidades de segurança, é um conjunto de usuários do Partner Center. Quando usuários do Partner Center são adicionados a grupos de usuários, as contas de desenvolvimento deles acompanham esses usuários do Partner Center. Assim, quando um grupo de usuários é atribuído a uma área restrita, as contas de desenvolvimento associadas aos usuários do Partner Center desse grupo são adicionadas aos grupos de entidades de segurança apropriados, e esses grupos recebem uma configuração de política com o conjunto de recursos principal que dá suporte à área restrita.Os grupos de usuários criados para acessar áreas restritas são os mesmos grupos de usuários usados para impedir o acesso aos dados de configuração no Partner Center para grupos de produtos e produtos.
Configuração dos dispositivos
Um dispositivo também é adicionado a um grupo de entidades de segurança. Um dispositivo só pode ser usado como kit de desenvolvimento se um direito for adquirido por meio da Game Developer Store e o dispositivo for provisionado como kit de desenvolvimento. Depois que um dispositivo é provisionado como kit de desenvolvimento, ele aparece na lista de dispositivos que podem ser adicionados aos grupos de dispositivos.Configuração dos grupos de dispositivos
Um grupo de dispositivos, o segundo tipo de grupo de entidades de segurança, também pode receber acesso a áreas restritas. A configuração é semelhante à configuração do grupo de usuários detalhada acima.Áreas restritas
O que é uma área restrita?
Em termos simples, uma área restrita é uma forma de particionar os dados em produção.Por que precisamos de áreas restritas?
Assim como usuários e dispositivos acessam títulos, os títulos acessam serviços. Introduzimos o conceito de “grupo de títulos”, em que conjuntos de títulos recebem acesso a recursos de serviço. Há um único ambiente de produção para o XBOX One (ou posterior) para todo o conteúdo, tanto de pré-lançamento quanto de varejo. Portanto, é preciso impedir que várias instâncias (de pré-lançamento/varejo) de um título operem nas mesmas instâncias de recursos.O que há em uma área restrita?
Uma área restrita contém uma instância de produto para cada título adicionado a ela.O que é um ID de área restrita?
Um ID de área restrita é uma unidade de particionamento de dados de um título, produto ou configuração de serviço. Vários títulos podem existir na mesma área restrita, o que é um pré-requisito para que eles compartilhem quaisquer dados de configuração de serviço. Um ID de área restrita (que diferencia maiúsculas de minúsculas) é uma cadeia de caracteres no seguinte formato: <PublisherMoniker>.n. Um ID de área restrita de exemplo, XLDP.5, é explicado abaixo:- O moniker do publicador é exclusivo entre todos os publicadores. Portanto, “XLDP” é o moniker deste publicador específico. Um moniker de publicador é criado quando um publicador é “ativado” no Partner Center pelo gerente de conta de desenvolvedor.
- O dígito “n” identifica o número da área restrita. Neste caso, “5” é a sexta área restrita criada para este publicador.
Quais dados ficam na área restrita?
O diagrama abaixo mostra quais dados de usuário e de título ficam na área restrita.
Área restrita de substituição global
O desenvolvedor define o ID da área restrita no kit de desenvolvimento e, assim, define a área restrita em que o kit de desenvolvimento é executado; isso também é conhecido como área restrita de substituição global. Assim, todas as requisições feitas aos serviços do XBOX Live (por exemplo, conquistas, matchmaking, licenciamento, EDS etc.) pelos títulos (aplicativos do shell e aplicativos comuns) no kit de desenvolvimento são feitas nessa área restrita. A área restrita de substituição global também implica que somente o conteúdo ingerido na área restrita de substituição global fica visível durante a navegação.Tipos de áreas restritas
Há duas categorias diferentes de áreas restritas. Essas categorias são definidas da seguinte forma:- Áreas restritas de publicadores. Os publicadores têm acesso às suas áreas restritas de desenvolvimento. Elas podem ter nomes como XLDP.0, XLDP.1, XLDP.2, XLDP.3 etc. É aqui que os publicadores colocam as instâncias de produto dos seus títulos. O acesso a essas áreas restritas é restrito aos usuários/dispositivos aos quais os publicadores concedem acesso
- Áreas restritas da Microsoft. São as áreas restritas internas: RETAIL e CERT. Somente a Microsoft tem permissão para publicar nessas áreas restritas protegidas.
Área restrita CERT
Quando um título está pronto para a disponibilidade geral, ele precisa primeiro passar pela certificação. A área restrita CERT é uma área restrita controlada pela Microsoft à qual somente as pessoas da certificação têm acesso. Os publicadores podem ver qual conteúdo de sua propriedade está passando pela certificação. Quaisquer instâncias de produto que falhem durante a certificação podem ser trazidas de volta para uma área restrita de desenvolvimento para serem depuradas e corrigidas pelos publicadores usando o Partner Center.Área restrita RETAIL
A área restrita RETAIL é o destino final de todo o conteúdo criado para XBOX One (ou posterior). Depois que um título passa pela certificação, ele é adicionado à área restrita RETAIL. Somente conteúdo com assinatura verde (green signed) tem permissão para ser executado na área restrita RETAIL. Isso tem uma implicação importante: os betas conduzidos pelos publicadores também são feitos na área restrita RETAIL. Os dados gerados na área restrita RETAIL representam dados reais de produção dos clientes. O acesso ao conteúdo na área restrita RETAIL ainda pode ser controlado por meio do isolamento de conteúdo. Por exemplo, os betas conduzidos pelos publicadores são executados na área restrita RETAIL, onde o publicador escolhe quais grupos de entidades de segurança podem acessar os títulos do conjunto de recursos beta definido por ele. Os dados de serviço gerados pelos títulos beta são dados reais de produção e continuam existindo depois que o título chega à disponibilidade geral.Interação de dados entre áreas restritas
Por definição, uma área restrita é um contêiner que restringe o compartilhamento de dados. Portanto, a interação de dados entre áreas restritas não é possível.Organizando suas áreas restritas
Esta seção fornece um exemplo de como um publicador pode organizar as áreas restritas. Um publicador precisa entender como usar as áreas restritas para organizar os dados. Os exemplos abaixo mostram apenas o gerenciamento do acesso em tempo de execução com isolamento de conteúdo.Cenário 1: dois títulos, uma área restrita
A estrutura básica de um publicador poderia ser:- Dois títulos acessíveis a todos os usuários e dispositivos do publicador, tanto em tempo de design quanto em tempo de execução.
- Uma instância de produto por título.

Cenário 2: um título, equipes diferentes
Neste modelo, os requisitos são:- Um título.
- A equipe de desenvolvimento trabalha com builds diários.
- A equipe de QA trabalha com LKGs semanais.
- A equipe de desenvolvimento precisa depurar os LKGs semanais em caso de bugs.
- A equipe financeira precisa de acesso às tabelas de preços e a outros metadados relacionados ao lançamento do título no catálogo.
Independentemente da organização, um usuário do Partner Center pode pertencer a mais de um grupo de usuários.

Cenário 3: dois títulos, completamente separados
Neste exemplo, os requisitos mudam um pouco:- Dois títulos.
- O acesso a cada título deve ser limitado a um determinado conjunto de pessoas.
- Uma instância de produto por título.
- Um grupo de usuários administradores que precisa de acesso aos dados de configuração do Partner Center em tempo de design para os títulos. As pessoas desse grupo são todas administradoras do publicador e podem controlar todos os dados publicados no catálogo (metadados do catálogo, finanças, marketing, envio para certificação etc.)

Cenário 4: do jeito que você quiser
Devido ao número de conexões e para manter o texto curto, optamos por mostrar apenas as conexões de tempo de execução das áreas restritas. Nada impede que você adicione também outras permissões de acesso em tempo de design. Neste exemplo, os requisitos são:- Somente determinadas pessoas têm acesso a determinados títulos dentro do publicador.
- O publicador trabalha com fornecedores de empresas diferentes, e esses fornecedores podem ser temporários.
- O publicador deve ser capaz de desativar um título e, com isso, impedir o acesso a quaisquer dados aos quais os fornecedores ou os funcionários (FTEs) tinham acesso.
- O TitleX e o TitleY têm apenas uma instância de produto cada, na área restrita XLDP.1.
- O TitleZ tem duas instâncias de produto, uma na área restrita XLDP.2 e outra na área restrita XLDP.3.
- O FTE User Group B recebe acesso às instâncias de produto em todas as áreas restritas.
- O Vendor User Group A é um grupo de usuários somente de fornecedores que recebe acesso à área restrita XLDP.1.
- O Vendor Device Group C é um grupo somente de fornecedores que recebe acesso à área restrita XLDP.3.

