Introdução
Em um mundo onde a velocidade de entrega das soluções desenvolvidas por qualquer empresa é diretamente proporcional à sua competitividade, as organizações enfrentam o constante desafio de manterem se ágeis enquanto garantem que as políticas de governança sejam aplicadas de forma consistente. A dificuldade aumenta quando a expansão acelerada de serviços e aplicações na nuvem ou a inexperiência das organizações, leva a um cenário complexo de gerenciamento, onde a falta de padronização e controle pode resultar em ineficiências operacionais e riscos de segurança.
O AWS Service Catalog é um serviço que auxilia muito neste cenário, permitindo que as políticas de governança sejam atendidas, especialmente em situações onde recursos semelhantes são frequentemente implantados.
O que é o Service Catalog?
O Service Catalog é um serviço da AWS que permite a criação de Produtos e Portfólios pelos times de especialistas em TI da organização, compostos por templates do Cloud Formation e/ou Terraform. Esses produtos, uma vez catalogados, podem ser compartilhados com usuários finais, como desenvolvedores, permitindo o provisionamento de recursos na nuvem de acordo com as especificações estabelecidas, assegurando a conformidade com as políticas organizacionais.
Uma característica importante do Service Catalog é a simplificação do controle de acesso: os usuários finais não precisam de permissões individuais para criar os recursos especificados nos templates de cada produto. Eles necessitam apenas da permissão para iniciar a criação do produto; a Role associada a cada produto contém as permissões necessárias para seu provisionamento. Isso simplifica o gerenciamento de permissões e reforça a segurança, assegurando que apenas as ações autorizadas
sejam executadas durante o provisionamento de cada produto do Service Catalog.
Em resumo, os produtos no Service Catalog são as unidades que podem ser publicadas pelos usuários finais. Eles incluem templates do Terraform ou CloudFormation, servindo como a base para o provisionamento de recursos na nuvem. Por sua vez, os Portfólios representam coleções desses produtos, organizadas de forma lógica. Eles podem ser compartilhados com diferentes grupos e usuários da AWS, facilitando o acesso e a gestão dos recursos pelos usuários finais.
Por que utilizar o Service Catalog?
Dentre os muitos benefícios que o Service Catalog oferece, alguns dos principais são:
- Agilidade operacional: Com os Produtos e Portfólios do AWS Service Catalog, os usuários finais podem implantar rapidamente, com apenas alguns cliques, os recursos de nuvem necessários para atender suas necessidades. Esta agilidade proporciona aos projetos e iniciativas uma execução também mais ágil, refletindo na melhoria da performance organizacional.
- Governança e Compliance: Os times de TI podem criar produtos no Service Catalog alinhados às necessidades de conformidade e governança da empresa, reduzindo drasticamente o risco de erros humanos. A implementação padronizada destes produtos não só aumenta o controle organizacional sobre eles, mas também facilita o monitoramento, a auditoria e o ajuste dos recursos de TI.
- Segurança: Com a distinção de papéis entre a implantação de um Produto e quem executa essa implantação, o Service Catalog permite maior controle sobre as políticas atribuídas aos grupos e usuários, reforçando a prática do Menor Privilégio (Least Privilege). Como mencionado, os usuários precisam apenas da permissão para implantar o produto, não para criar cada um dos seus componentes.
Um exemplo prático
Para entender o seu funcionamento, nada melhor do que um exemplo prático. A configuração do Service Catalog ocorre em duas etapas principais: primeiro, a criação e distribuição dos produtos e portfólios aos usuários finais; segundo, a implantação desses elementos pelos próprios usuários.
Criando e distribuindo Produtos e Portfólios
Como Administrador, o primeiro passo para configurar o Service Catalog é a criação dos produtos. Essa criação pode ser realizada manualmente ou por meio de repositórios Git.
Suponha que a empresa precise criar servidores Linux. A seguir, apresentamos um exemplo detalhado de um produto a ser desenvolvido para cumprir as políticas da empresa.
Ainda na configuração do produto, é necessário enviar o template do Cloudformation que conterá os detalhes do provisionamento.
Ainda na configuração do produto, é necessário enviar o template do Cloudformation que conterá os detalhes do provisionamento.
Com o produto criado, é necessário estabelecer um portfólio, que representa a coleção de produtos. Esse portfólio é distribuído aos usuários finais.
A criação do portfólio é relativamente simples; no entanto, é importante selecionar nomes relevantes e aderir a uma convenção. Isso evita que a gestão de múltiplos portfólios e produtos se torne caótica. O mesmo é válido para produtos.
O próximo passo é adicionar os produtos ao portfólio.
Por fim, é preciso adicionar ao portfólio do AWS Service Catalog a role utilizada para o provisionamento dos recursos do produto, definindo-a nas constraints do portfólio. Importante ressaltar que esta role deve possuir apenas as permissões estritamente necessárias para o provisionamento destes recursos, garantindo o Least Privilege.
Para disponibilizar os portfólios aos usuários finais, basta adicionar os Usuários e/ou Grupos do IAM na aba “Access” do Portfólio.
É importante destacar que, como mencionado anteriormente, os usuários finais não precisam ter acesso a criação ou atualização dos recursos no template do produto. Mas existem duas políticas do IAM, gerenciadas pela AWS, que são importantes para os usuários finais:
- AWSServiceCatalogEndUserFullAccess para acesso total de usuário final para provisionamento e manutenção dos produtos
- AWSServiceCatalogEndUserReadOnlyAccess para acesso somente leitura
Além disso, sempre é possível criar políticas personalizadas que atendam às especificidades da empresa.
Implantando produtos
Para um usuário final, a implantação de produtos do Service Catalog é bastante simples. Basta acessar o Service Catalog e selecionar o produto desejado:
Decidir um nome, e selecionar a versão do produto:
Informar os parâmetros solicitados no template do CloudFormation:
Caso haja uma política de Tags (o que é muito importante), é essencial informar as tags necessárias, e também se os eventos do provisionamento serão notificados:
Ao clicar em “Launch Product”, o provisionamento será iniciado e, ao final, o recurso estará disponível.
Conclusão
O AWS Service Catalog é uma excelente solução para organizações que buscam otimizar a governança e agilidade operacional. Ao permitir a criação e gerenciamento de produtos e portfólios padronizados, facilita a implantação rápida e segura de recursos na nuvem, mantendo o alinhamento com as políticas internas, ao mesmo tempo em que oferece flexibilidade através do suporte a templates do CloudFormation e Terraform. Iniciar a integração do AWS Service Catalog pode significar um passo significativo na direção de uma gestão de TI mais confiável e ágil.