Usar tags para controlar o acesso aos recursos do AWS CodeBuild
As condições nas declarações de política do IAM fazem parte da sintaxe que é possível usar para especificar permissões para ações do CodeBuild baseadas em projeto. É possível criar uma política que permita ou negue ações em projetos com base nas tags associadas a esses projetos e aplicar essas políticas aos grupos do IAM que você configura para gerenciar usuários. Para obter informações sobre como aplicar tags a um projeto usando o console ou a AWS CLI, consulte Criar um projeto de compilação no AWS CodeBuild. Para obter informações sobre como aplicar tags usando o SDK do CodeBuild, consulte CreateProject e Tags na Referência da API do CodeBuild. Para obter informações sobre como usar tags para controlar o acesso a recursos da AWS, consulte Controlling Access to AWS Resources Using Resource Tags, no Guia do usuário do IAM.
Importante
Ao usar o recurso de capacidade reservada, os dados armazenados em cache nas instâncias da frota, incluindo arquivos de origem, camadas do Docker e diretórios em cache especificados no buildspec, podem ser acessados por outros projetos na mesma conta. Isso ocorre por design e permite que projetos dentro da mesma conta compartilhem instâncias de frota.
exemplo Exemplo 1: Limitar ações de projetos do CodeBuild com base em tags de recursos
O exemplo a seguir nega todas as ações BatchGetProjects em projetos marcados com a chave Environment com o valor de chave de Production. O administrador de um usuário deve anexar essa política do IAM, além de uma política gerenciada pelo usuário, a usuários não autorizados. A chave de condição aws:ResourceTag é usada para controlar o acesso a recursos com base em suas tags.
exemplo Exemplo 2: Limitar ações de projetos do CodeBuild com base em tags de solicitação
A política a seguir negará a permissão dos usuários para a ação CreateProject se a solicitação tiver uma tag com a chave Environment e o valor de chave Production. Além disso, a política impede que esses usuários não autorizados modifiquem projetos usando a chave de condição aws:TagKeys para não permitir UpdateProject se a solicitação tiver uma tag com a chave Environment. Um administrador deve anexar essa política do IAM, além da política gerenciada pelo usuário, a usuários que não estão autorizados a executar essas ações. A chave de condição aws:RequestTag é usada para controlar quais tags podem ser transmitidas em uma solicitação do IAM.
exemplo Exemplo 3: Negar ou permitir ações em grupos de relatórios com base em tags de recursos
É possível criar uma política que permita ou negue ações em recursos do CodeBuild (projetos e grupos de relatórios) com base nas tags da AWS associadas a esses recursos e aplicar essas políticas aos grupos do IAM configurados para gerenciar usuários. Por exemplo, é possível criar uma política que negue todas as ações do CodeBuild em grupos de relatórios com a chave de tag da AWS Status e o valor de chave de Secret e, depois, aplicar essa política ao grupo do IAM criado para os desenvolvedores gerais (Desenvolvedores). É necessário verificar se os desenvolvedores que trabalham nesses grupos de relatórios marcados não são membros do grupo Desenvolvedores geral, mas sim pertencentes a um grupo do IAM diferente que não tenha a política restritiva aplicada (SecretDevelopers).
O exemplo a seguir nega todas as ações do CodeBuild em grupos de relatórios marcados com a chave Status e o valor de chave de Secret:
exemplo Exemplo 4: Limitar ações do CodeBuild para AWSCodeBuildDeveloperAccess com base em tags de recursos
É possível criar políticas que permitam ações do CodeBuild em todos os grupos de relatórios e projetos que não estejam marcados com tags específicas. Por exemplo, a política a seguir permite o equivalente de permissões AWSCodeBuildDeveloperAccess para todos os grupos de relatórios e projetos, exceto os marcados com as tags especificadas: