Desenvolvimento de políticas para clientes empresariais

Neste artigo, veremos como projetar um conjunto de políticas que permitem que sua empresa, representada aqui como um cliente corporativo hipotético chamado EnterpriseExampleOrganization, use o Google Cloud.

Os clientes empresariais geralmente têm uma longa história operacional que molda a própria estrutura organizacional e as políticas internas. Esses clientes desenvolveram uma estrutura organizacional sofisticada e complexa, com muitos funcionários, adicionando várias entidades jurídicas por meio de aquisições, fusões ou crescimento natural do mercado. Em um ambiente tão complexo, é fundamental estabelecer controle centralizado, conformidade e separação de responsabilidades.

Muitas vezes, as ferramentas e os processos usados para gerenciar os recursos locais precisam ser estendidos para incluir as funcionalidades da nuvem. Neste artigo, mostraremos como projetar políticas que permitem que a EnterpriseExampleOrganization use o Google Cloud de uma maneira que atenda aos seguintes requisitos:

  • Manter um sistema de identidade no local para todos os usuários da EnterpriseExampleOrganization.
  • Limitar o acesso aos recursos a membros da EnterpriseExampleOrganization.
  • Delegar a administração às equipes ou departamentos para que eles possam gerenciar os recursos provisionados do Google Cloud.
  • Distribuir a cobrança cruzada entre equipes e os produtos que elas desenvolvem.
  • Usar uma ferramenta de autoatendimento para provisionar equipamentos e computar solicitações de recursos e para aplicar controles corporativos. Essa ferramenta precisa ser estendida para abranger os recursos do Google Cloud.
  • Tomar decisões de compras por meio de uma equipe de finanças central.
  • Gerenciar controles de segurança e rede por meio de uma equipe central.
  • Monitorar a atividade que ocorre na conta do Google Cloud da EnterpriseExampleOrganization.
  • Permitir que os desenvolvedores usem apenas os recursos concedidos a eles pela ferramenta de autoatendimento.
  • Proteger e iniciar a implantação desde o controle de qualidade até a produção apenas por engenheiros autorizados.

Governança e visibilidade

As seções a seguir mostram várias abordagens do Google Cloud que a EnterpriseExampleOrganization pode usar para atender à lista de requisitos.

Gerenciamento de identidade

Requisito abordado pela EnterpriseExampleOrganization:

  • Manter um sistema de identidade no local para todos os usuários da EnterpriseExampleOrganization.

No Google Cloud, as Contas do Google são usadas para autenticação e gerenciamento de acesso. Como pré-requisito para conceder à EnterpriseExampleOrganization acesso aos recursos do Google Cloud, os funcionários precisam ter acesso a uma identidade do Google. Como você continuará usando o sistema de identidade com o Google Cloud, é necessário configurar uma conta do Cloud Identity que permita à EnterpriseExampleOrganization fazer a sincronização com identidades locais usando o Cloud Directory Sync. É necessário também implementar o SAML SSO para garantir que a autenticação seja gerenciada pelo seu sistema de identidade. Para mais detalhes, consulte Autenticação e identidade e o diagrama a seguir.

estrutura de política empresarial

Cloud Directory Sync

Com a configuração do Cloud Identity e uso do Cloud Directory Sync, é possível sincronizar entre seu sistema de identidade local e a nuvem. Assim, você tem controle granular sobre os usuários corporativos aos quais quer conceder acesso direto aos recursos do Google Cloud. Esses usuários geralmente são desenvolvedores, cientistas de dados e funcionários operacionais.

Como usar o SAML

O Google Cloud é compatível com o SSO do SAML 2.0. Nele, o Google atua como o provedor de serviços (SP, na sigla em inglês), e um identificador de terceiros opera como provedor de identidades. Isso garante que a autenticação da identidade seja delegada ao provedor de identidade.

Configuração organizacional

Requisitos abordados pela EnterpriseExampleOrganization:

  • Limitar o acesso aos recursos a membros da EnterpriseExampleOrganization.
  • Delegar a administração às equipes ou departamentos para que eles possam gerenciar os recursos provisionados do Google Cloud.
  • Distribuir a cobrança cruzada entre equipes e os produtos que elas desenvolvem.

A EnterpriseExampleOrganization requer governança central, então você precisa implementar o recurso Organização. Isso dá aos administradores total visibilidade e controle dos ativos da empresa.

Com um recurso Organização, é possível mapear a organização na hierarquia de recursos. Como parte dessa organização hierárquica, você consegue usar pastas do Cloud como contêineres para projetos e outras pastas. As pastas do Cloud permitem aos usuários agrupar projetos em pastas para fazer o gerenciamento de recursos e políticas em escala.

Confira no diagrama a seguir uma visão geral dessa estrutura.

configuração organizacional

Essa estrutura se compara à estrutura departamental de uma organização ou de subsidiárias da matriz. A EnterpriseExampleOrganization também pode usar pastas para encapsular todos os projetos e recursos associados a um centro de custo, departamento ou projeto de aplicativo.

Com o Cloud Folders, é possível administrar políticas de gerenciamento de acesso no nível da pasta. Todos os projetos nessa pasta herdam a mesma política.

Controles de segurança organizacional

Requisitos abordados pela EnterpriseExampleOrganization:

  • Limitar o acesso aos recursos a membros da EnterpriseExampleOrganization.
  • Monitorar a atividade que ocorre na conta do Google Cloud da EnterpriseExampleOrganization.
  • Usar uma ferramenta de autoatendimento para provisionar equipamentos e computar solicitações de recursos e para aplicar controles corporativos. Essa ferramenta precisa ser estendida para abranger os recursos do Google Cloud.
  • Gerenciar ferramentas de segurança e rede por meio de uma equipe central.
  • Permitir que os desenvolvedores usem apenas os recursos concedidos a eles pela ferramenta de autoatendimento.
  • Proteger e iniciar a implantação desde o controle de qualidade até a produção apenas por engenheiros autorizados.

O serviço Política da organização fornece controle central e programático sobre os recursos de nuvem da EnterpriseExampleOrganization. Ele oferece um mecanismo simples para restringir configurações permitidas na hierarquia do Cloud Resource. Nesse contexto, as políticas se referem às da Organização, usadas para controlar a configuração dos recursos da nuvem no nível da organização.

As políticas da organização oferecem os seguintes benefícios:

  • Você define políticas por projeto, pasta ou organização.
  • As políticas são herdadas pela hierarquia de recursos, e um administrador relacionado pode modificá-las em qualquer nível em que uma política da organização possa ser definida.
  • Quem gerencia as políticas é o administrador de políticas da organização, não o proprietário do recurso. Isso significa que usuários individuais e proprietários de projeto não podem modificar políticas da organização.

Controle de recursos

É possível implementar políticas da organização para reforçar quais recursos estarão disponíveis em um limite de confiança do Google Cloud (pasta, projeto ou outro nível organizacional).

  • O gerenciamento de identidade e acesso (IAM) permite que você gerencie o controle de acesso definindo quem (identidade) tem que acesso (papel) a qual recurso. Para atribuir papéis aos usuários, crie uma política do IAM (um conjunto de instruções que define o tipo de acesso de cada um). Essa política é anexada a um recurso e, sempre que ele é acessado, o controle de acesso é aplicado.
  • O Resource Manager fornece pontos de anexação e herança para controle de acesso e políticas da organização. Com o uso da API Resource Manager, é possível interagir com a organização, as pastas e os projetos.
  • Em todos os casos, pense cuidadosamente sobre quais controles de acesso implantar, quem precisa de acesso e onde aplicar o princípio do menor privilégio.

Com o Cloud Deployment Manager, você cria projetos automaticamente com os recursos e as políticas de IAM adequados. Os modelos podem ser usados como parte de um sistema de autoatendimento.

Papéis funcionais

Você precisa mapear os papéis funcionais da EnterpriseExampleOrganization para os papéis apropriados do IAM.

Ao usar grupos para gerenciar os usuários, é possível modificar quem pode desempenhar uma função específica. O ajuste da filiação do grupo exclui a necessidade de atualizar a política. Usando a terminologia da EnterpriseExampleOrganization, nomeie os grupos para refletir os papéis funcionais.

Como você usará a ferramenta de autoatendimento para ativar as APIs e implantar os modelos do Deployment Manager, serão necessárias contas de serviço com as permissões apropriadas.

O exemplo de políticas do IAM a seguir ajuda a EnterpriseExampleOrganization a cumprir os próprios requisitos:

Descrição da política do IAM Funcionalidade
O nível do recurso em que a política será aplicada: organização

Funções a serem concedidas: administrador de cobrança

Membros a serem vinculados: equipe financeira
O papel de administrador de cobrança permite que a equipe de finanças gerencie pagamentos e faturas, sem que seja necessário conceder a ela permissão para visualizar o conteúdo do projeto.
O nível do recurso em que a política será concedida: organização

Papéis a serem concedidos: usuário de cobrança, criador de projetos

Membros a serem vinculados: conta de serviço usada para automatizar a criação de objetos e projetos.
O papel de criador de projetos fornece as permissões para criar um projeto na conta de serviço usada com a ferramenta de autoatendimento. Com o papel de usuário de cobrança, é possível ativar a cobrança na conta de serviço, ou seja, associar todos projetos à conta de cobrança da organização.
Nível do recurso em que a política será aplicada: organização

Papéis a serem concedidos: administrador de rede

Membros a serem vinculados: equipe de administração de rede
O papel administrador de rede concede permissão para criar, modificar e excluir recursos de rede. Conceder esta permissão à equipe de administração de rede no nível da organização significa que eles podem gerenciar a configuração de rede para todos os projetos na organização.

Auditoria

Os registros de auditoria do Cloud permitem visualizar os registros de auditoria recentes. Eles gravam os registros de acesso aos dados e de atividade do administrador gerados pelos serviços do Google Cloud para ajudar a responder à pergunta: "Quem fez o quê, onde e quando?".

É possível reter entradas de registro de auditoria individuais por um período especificado no Cloud Logging, que oferece uma visualização do painel das atividades recentes de projetos. A política de cotas do Logging explica por quanto tempo as entradas são mantidas. No entanto, não é possível excluir nem modificar registros de auditoria nem as entradas de outra maneira. Para uma retenção mais longa, exporte entradas de registros de auditoria para um bucket do Cloud Storage, um conjunto de dados do BigQuery, um tópico do Pub/Sub ou qualquer combinação dos três.

Como rastrear e entender gastos

Requisitos abordados pela EnterpriseExampleOrganization:

  • Tomar decisões de compras por meio de uma equipe de finanças central.
  • Distribuir a cobrança cruzada entre equipes e os produtos que elas desenvolvem.

Uma única conta de faturamento, implementada com o Cloud Resource Manager e recursos de faturamento, pode atender aos requisitos da EnterpriseExampleOrganization. Os recursos de faturamento incluem o seguinte:

  • Projetos para organizar recursos. O custo é mostrado por projeto, e os IDs do projeto estão incluídos na exportação de cobranças.
  • Anotação de projetos com rótulos que representam informações extras de agrupamento, por exemplo, environment=test. Os rótulos são incluídos em exportações de cobranças para permitir que os custos sejam mais detalhados. Os rótulos estão sujeitos a alterações, mas ainda são úteis.
  • Codificação de um centro de custo em Project Name ou ID para facilitar o rastreamento dos custos para o centro de custo.
  • Exportação de dados de cobrança diretamente para o BigQuery para permitir análises detalhadas.

No diagrama a seguir, é apresentada uma conta de cobrança implementada com o Resource Manager.

estrutura de faturamento

Para gerenciar o faturamento de maneira centralizada, você precisa conceder o papel de administrador de faturamento à conta de faturamento e vincular esse papel do IAM aos usuários na equipe de finanças.

Proposta de política de gestão organizacional e de identidade

O diagrama a seguir mostra as políticas da organização propostas da EnterpriseExampleOrganization.

política da organização

No diagrama anterior, há cinco características principais:

  1. Política da organização para impor restrições e conformidade.

  2. Pastas para entidades legais e departamentos de carga cruzada.

  3. Projetos para equipes e aplicativos.

  4. Usar identidades corporativas existentes por meio da sincronização de identidade ou do Logon único.

  5. Pré-criação de grupos para gerenciar permissões do IAM.

Configuração de rede e controles de segurança

Requisitos abordados pela EnterpriseExampleOrganization:

  • Gerenciar controles de segurança e rede por meio de uma equipe central.

A EnterpriseExampleOrganization tem uma equipe central que gerencia os controles de rede e segurança e quer manter esse modelo ao usar o Google Cloud. Essa equipe exige conexões seguras e confiáveis com o Google Cloud nos escritórios. O Cloud Interconnect fornece conexões com maior disponibilidade e menor latência do que a equipe poderia conseguir usando conexões de Internet.

VPC compartilhada

Com a VPC compartilhada, é possível gerenciar recursos de rede comuns, como redes e sub-redes VPC, com base em um projeto de host central. Outros projetos também podem acessar esses recursos. Com essa configuração e os controles do IAM, fica fácil administrar a rede central.

Com a VPC compartilhada, você tem uma rede VPC, como um espaço privado de IP RFC 1918 comum, que abrange vários projetos. Você pode adicionar instâncias de qualquer projeto a essa rede VPC ou às sub-redes. Você também pode anexar uma VPN a uma única rede VPC, que pode ser usada por todos ou por um subconjunto dos projetos.

A VPC compartilhada oferece os seguintes recursos:

  • Possibilita um conjunto de administradores de rede centralizados separados dos administradores de projeto.
  • Permite designar um grupo de administradores para gerenciar a VPC compartilhada usando controles do IAM.
  • Facilita a criação de conjuntos separados de administradores. Os administradores de cada projeto do Google Cloud podem criar e usar instâncias na rede VPC.
  • Permite que o administrador da rede faça parte de uma equipe centralizada, enquanto os usuários em diferentes departamentos da EnterpriseExampleOrganization podem compartilhar a rede ou a sub-rede VPC.
  • Fornece uma maneira de gerenciar centralmente os recursos de rede, por exemplo, endereços IP e sub-redes.
  • Permite aplicar políticas consistentes e restringi-las em toda a organização.
  • O administrador da rede pode definir um conjunto de regras de firewall, gateways, políticas de segurança e NAT comuns e aplicá-los a todas as sub-redes. Essas políticas não precisam ser definidas e mantidas várias vezes para cada projeto.

Controles de segurança de rede

Requisitos abordados pela EnterpriseExampleOrganization:

  • Permitir que os desenvolvedores usem apenas os recursos concedidos a eles pela ferramenta de autoatendimento.
  • Gerenciar controles de segurança e rede por meio de uma equipe central.
  • Proteger e iniciar a implantação desde o controle de qualidade até a produção apenas por engenheiros autorizados.

A EnterpriseExampleOrganization quer enviar recursos de criação diretamente para o ambiente de produção dela a partir dos ambientes de teste com segurança e agendamento. O modelo de rede descrito aqui aborda o requisito por controles de segurança apropriados.

Os controles de segurança organizacional foram discutidos em uma seção anterior. Esses controles e os controles de segurança específicos da rede funcionam juntos para atender aos requisitos identificados nesta seção.

Papéis da rede do IAM

Para atender aos requisitos da EnterpriseExampleOrganization, é preciso implementar os controles apropriados do IAM para rede e segurança.

Funcionalidade Descrição das políticas de IAM necessárias
Uma equipe central gerencia redes e controles de segurança. Todos os projetos compartilham uma única rede.
  • Seguindo as melhores práticas, configure um grupo que contenha a identidade dos usuários que gerenciam de maneira centralizada a rede e a segurança. Use esse grupo nas políticas de IAM necessárias para atender a esse requisito.
  • Com o uso da VPC compartilhada, você mapeia equipes centralizadas para gerenciar configurações de rede.
  • Atribua os papéis Administrador de rede e Administrador da VPC compartilhada (XPNAdmin) ao grupo no nível da organização da hierarquia de recursos da nuvem. Além disso, o papel de administrador de segurança no nível da organização a esse grupo de administradores fornece as permissões necessárias para gerenciar as regras de firewall e os certificados SSL.
Os projetos são criados usando uma ferramenta de autoatendimento Essa funcionalidade requer um projeto dedicado, em que seja possível criar projetos na conta de serviço.

A ferramenta de autoatendimento usa essa conta de serviço. Conceda à conta do serviço os papéis de usuário de cobranças e criador do projeto e defina-os no nível da organização.

Equipes separadas podem gerenciar cada projeto de serviço. Assim, você separa projetos de desenvolvimento, teste e produção.

O diagrama a seguir mostra o modelo mais simples que atende aos requisitos de controle central da EnterpriseExampleOrganization. A mesma equipe pode gerenciar as redes VPC de desenvolvimento e produção.

Arquitetura de requisitos de controle central.

Regras de firewall

O tráfego entre sub-redes de origem e de destino e/ou as instâncias que são marcadas ou usam contas de serviço específicas é gerenciado pelas regras de firewall. Essas regras fornecem os controles necessários para garantir a existência de limites suficientes entre os ambientes de desenvolvimento, teste e produção.

Referências

Requisito Referências
Gerenciamento de identidade
Configuração organizacional
Cobrança
Rede e controles de segurança

A seguir