Entenda os componentes estruturais do GitHub Enterprise Cloud
O GitHub Enterprise Cloud (GHEC) oferece várias opções de configuração flexíveis, permitindo que cada empresa configure a plataforma para melhor atender às suas necessidades exclusivas. Embora não exista uma única maneira "melhor" de implementar o GHEC, há alguns padrões e etapas comuns que você deve considerar cuidadosamente.
As implementações bem-sucedidas do GHEC começam com o estabelecimento de uma única conta corporativa para todo o trabalho interno. Isso controlará a política em todas as suas organizações, usuários e Equipes do GitHub e será seu portal único para o gerenciamento de cobranças.
As estruturas organizacionais estão sempre evoluindo e a arquitetura do GitHub deve refletir sua intenção de promover uma experiência do desenvolvedor colaborativa, que respeite a natureza dinâmica e complexa dos seus negócios, e que, ao mesmo tempo, cumpra seus requisitos de segurança e conformidade. Começaremos explorando o conceito principal de uma conta GHEC.
Neste guia, você aprenderá:
Os componentes estruturais do GHEC e como eles se relacionam entre si
Como cada componente fornece níveis diferentes de controle
Considerações iniciais do uso desses componentes para configurar a sua empresa e cumprir os requisitos, enquanto promove a colaboração
E por que isso é importante para você?
Nos guias posteriores desses roteiros de aprendizagem, você trabalhará com diferentes conceitos organizacionais para criar a melhor infraestrutura de configurações e políticas para apoiar suas necessidades comerciais. Entender como esses componentes interagem é importante para garantir que você tome as melhores decisões que atendam aos seus requisitos.
Conta corporativa
A conta corporativa é o conceito mais alto no GHEC. A conta corporativa é isolada logisticamente, de forma que os recursos são separados, por padrão, de outras empresas no GHEC. A conta corporativa é simplesmente um contêiner administrativo para cobranças, licenciamentos e outras políticas e configurações. Os administradores usam a conta corporativa para gerenciar como as interfaces do GitHub com sistemas comerciais internos, como provedor de identidade (IdP), licenciamento e cobranças, são compatíveis com tíquetes, qualificações e gerenciamento de logs. Ela oferece também a capacidade de definir e impor políticas para controlar o uso de funcionalidades e recursos do GitHub que se aplicam de forma idêntica a todas as organizações da conta corporativa.
A interface da conta corporativa só é utilizada regularmente pelos usuários administradores (proprietários). Os usuários finais padrão normalmente não têm necessidade de interagir com a interface da conta corporativa.
Organizações
As contas corporativas consistem em uma ou mais organizações às quais os usuários são adicionados. As organizações são os “proprietários” de repositórios, equipes, discussões e projetos compartilhados. Elas permitem que os administradores definam políticas mais granulares nos repositórios que pertencem à organização, assim como o comportamento do usuário dentro dela. As políticas que não são definidas no nível corporativo são distribuídas em cada organização individual. As organizações geralmente não são mapeadas para as unidades de negócios. Em geral, recomendamos que você tenha somente uma organização do GitHub e use outros recursos, como repositórios e equipes, para subdividi-la. Porém, algumas razões legais ou comerciais são legítimas para justificar o emprego de várias organizações, como o fornecimento de uma organização de área restrita para treinamentos ou testes, ou a criação de uma entidade legal separada. Daremos alguns exemplos e estratégias mais tarde.
As organizações atuam também como um ponto inicial para o detalhamento de dados de cobranças, uso e licenciamento para a criação de relatórios, o que é agregado ao nível da conta corporativa. Os serviços baseados no consumo, como o GitHub Actions e Codespaces, são relatados nos níveis do repositório e da organização. Os limites de gastos nesses serviços podem ser definidos conforme cada organização.
As organizações são normalmente o conceito de nível mais alto com o qual um usuário final irá interagir. Por exemplo, é possível executar uma pesquisa de código em toda a organização ou fazer logon em uma organização com o SAML. Apesar de várias organizações serem gerenciadas pelos proprietários da empresa em uma conta corporativa, do ponto de vista do usuário final, as organizações funcionam como contêineres totalmente separados.
Repositórios
Os repositórios hospedam o código-fonte da aplicação e outros arquivos. Eles são a interface de desenvolvedores do conceito primário no GitHub, que incluem acesso às métricas de segurança da aplicação, fluxos de trabalho de CI/CD e outras atividades diárias.
Os repositórios se relacionam com todos os níveis da organização. Porém, certas opções de visibilidade do repositório permitem que os repositórios sejam visíveis como somente leitura para os usuários que estiverem fora da organização, ou mesmo da conta corporativa. Exploraremos isso melhor no guia sobre a visibilidade do repositório (ou pule para documentação das configurações de visibilidade do repositório).
Teams
As equipes do GitHub agrupam usuários de projetos comuns, habilidades especializadas ou outras semelhanças infraestruturais. As equipes podem fornecer acesso baseado em funções para os grupos de repositórios, permitindo criar estruturas de gerenciamento de permissões, além de manter a capacidade de descoberta e reutilização de conteúdo o mais transparente possível.
As equipes usadas para o gerenciamento de permissões devem ser sincronizadas com um grupo de provedores de identidade (IdP), o que permite que os controles de auditoria e os processos de acesso existentes gerenciem o acesso ao código, à integração e a saída.
As permissões porém não são o único uso para as equipes. Use as equipes do GitHub para incentivar a colaboração entre as equipes do projeto e/ou as equipes baseadas em tópicos (não definidas explicitamente no IdP). Elas também podem ser atribuídas automaticamente para fazer a revisão do código.
Em termos de hierarquia e herança de configurações, as equipes se relacionam com todos os níveis da organização. Isso quer dizer que, para reutilizar a mesma equipe em várias organizações na sua conta corporativa, seria necessário recriá-la em cada organização.
Próximo: Escolha um modelo de acesso para o usuário do GitHub Enterprise Cloud
Agora que você já entende melhor os principais componentes estruturais do GHEC, nossa próxima etapa é explorar uma das primeiras decisões que será necessário tomar como uma nova empresa que adota o GHEC: Devo usar o modelo padrão ou o Enterprise Managed User (EMU)?
Exploraremos os prós e os contras de cada um, e destacaremos como outros clientes do GitHub, como Philips e Travelport, escolheram o melhor modelo para suas empresas.