Conecte-se à AWS para detecção de vulnerabilidades e avaliação de risco

É possível conectar o nível Security Command Center Enterprise ao ambiente AWS para fazer o seguinte:

  • Detecte e corrija vulnerabilidades de software e configurações incorretas no ambiente da AWS
  • Crie e gerencie uma postura de segurança para a AWS
  • Identificar possíveis caminhos de ataque da Internet pública para seus recursos de alto valor da AWS
  • Mapear a conformidade dos recursos da AWS com vários padrões e comparativos de mercado

Conectar o Security Command Center à AWS cria um local único para sua equipe de operações de segurança gerenciar e corrigir ameaças e vulnerabilidades no Google Cloud e na AWS.

Para permitir que o Security Command Center monitore sua organização da AWS, configure uma conexão usando um agente de serviço do Google Cloud e uma conta da AWS que tenha acesso aos recursos que você quer monitorar. O Security Command Center usa essa conexão para coletar periodicamente dados em todas as contas e regiões da AWS que você definir.

Neste documento, descrevemos como configurar a conexão com a AWS. Ao configurar uma conexão, você configura o seguinte:

  • Uma série de contas na AWS que têm acesso direto aos recursos da AWS que você quer monitorar. No console do Google Cloud, essas contas são chamadas de contas de coletor.
  • Uma conta na AWS que tenha as políticas e os papéis apropriados para permitir a autenticação nas contas de coletor. No console do Google Cloud, essa conta é chamada de conta delegada. A conta delegada e as contas de coletor precisam estar na mesma organização da AWS.
  • um agente de serviço no Google Cloud que se conecta à conta delegada para autenticação;
  • Um pipeline para coletar dados de recursos da AWS.
  • (Opcional) Permissões para que a proteção de dados sensíveis crie o perfil do conteúdo da AWS.

Essa conexão não se aplica aos recursos de SIEM do Security Command Center que permitem ingerir registros da AWS para detecção de ameaças.

O diagrama a seguir mostra essa configuração. O projeto de locatário é um projeto criado automaticamente e contém a instância de pipeline de coleta de dados de recursos.

Configuração da AWS e do Security Command Center.

Antes de começar

Conclua essas tarefas antes de concluir as tarefas restantes nesta página.

Ativar o nível Enterprise do Security Command Center

Conclua as etapas 1 e 2 do guia de configuração para ativar o nível Enterprise do Security Command Center.

Configurar permissões

Para receber as permissões necessárias para usar o conector da AWS, peça ao administrador para conceder a você o papel do IAM de Proprietário de recursos do Cloud (roles/cloudasset.owner). Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar contas da AWS

Verifique se você criou os seguintes recursos da AWS:

Configurar o Security Command Center

  1. No console do Google Cloud, acesse a página de configuração.

    Acessar a configuração

  2. Selecione a organização em que você ativou o nível Security Command Center Enterpriser.

  3. Clique em Etapa 3: configurar o conector da Amazon Web Services (AWS).

  4. Em ID da conta delegada, insira o ID da conta da AWS que você pode usar como delegada.

  5. Para permitir que a proteção de dados sensíveis crie perfis de dados da AWS, mantenha a opção Conceder permissões para descoberta da proteção de dados sensíveis selecionada. Essa opção adiciona permissões do IAM da AWS ao modelo do CloudFormation para o papel de coletor.

    Permissões do IAM da AWS concedidas por essa opção

    • s3:GetBucketLocation
    • s3:ListAllMyBuckets
    • s3:GetBucketPolicyStatus
    • s3:ListBucket
    • s3:GetObject
    • iam:ListAttachedRolePolicies
    • iam:GetPolicy
    • iam:GetPolicyVersion
    • iam:ListRolePolicies
    • iam:GetRolePolicy

    Essa opção concede apenas as permissões necessárias da AWS para o papel do coletor. Para criar o perfil dos dados da AWS, ative a descoberta de dados sensíveis.

  6. Se quiser, analise as opções avançadas.

  7. Clique em Continuar. A página Connect to AWS será aberta.

  8. Siga uma das etapas a seguir:

    • Faça o download e revise os modelos do CloudFormation para o papel delegado e o papel de coletor.
    • Se você tiver configurado as opções avançadas ou precisar alterar os nomes de papéis padrão da AWS (aws-delegated-role, aws-collector-role e aws-sensitive-data-protection-role), selecione Configurar contas da AWS manualmente. Copie o ID do agente de serviço, o nome da função delegada, o nome da função do coletor e o nome do papel do coletor de proteção de dados sensíveis.

    Não é possível alterar os nomes dos papéis depois de criar a conexão.

Não clique em Criar. Em vez disso, configure o ambiente da AWS.

Configurar o ambiente da AWS

É possível configurar o ambiente da AWS usando um dos seguintes métodos:

Usar modelos do CloudFormation para configurar seu ambiente AWS

Se você fez o download dos modelos do CloudFormation, use estas etapas para configurar o ambiente da AWS.

  1. Faça login no console de contas delegadas da AWS. Verifique se você fez login na conta delegada usada para assumir outras contas de coletor da AWS.
  2. Acesse o console do Modelo do AWS CloudFormation.
  3. Crie uma pilha usando o arquivo de modelo da função delegada. Para mais informações, consulte Criar uma pilha a partir de recursos atuais usando o Console de Gerenciamento da AWS na documentação da AWS.

    Ao passar pelas instruções, faça o seguinte:

    1. Ao especificar um modelo, faça upload do arquivo do modelo de papel delegado.
    2. Ao especificar os detalhes da pilha, insira o nome dela.
    3. Revise os parâmetros. Verifique se os nomes das funções de delegado e coletor correspondem aos listados na página Conectar à AWS no console do Google Cloud.

    4. Conforme exigido pela sua organização, atualize as opções de pilha.

    Aguarde a criação da pilha. Se ocorrer um problema, consulte Solução de problemas.

    Se você optar por adicionar contas da AWS individualmente (desativando a descoberta automática de contas), também poderá criar pilhas separadas para cada conta da AWS em vez de criar um único conjunto de pilhas.

  4. Usando uma conta de gerenciamento da AWS ou qualquer conta de membro registrada como um administrador delegado, crie um conjunto de pilhas. Para mais informações, consulte Criar um conjunto de pilhas com permissões gerenciadas pelo serviço na documentação da AWS.

    Ao passar pelas instruções, faça o seguinte:

    1. Ao especificar um modelo, faça upload do arquivo de modelo de função do coletor.
    2. Ao especificar os detalhes do StackSet, verifique e atualize o ID da conta delegada e os nomes dos papéis.
    3. Conforme exigido pela sua organização, configure as opções do conjunto de pilhas.
    4. Ao especificar as opções de implantação, escolha os destinos de implantação. É possível implantar em toda a organização da AWS ou em uma unidade organizacional que inclua todas as contas da AWS de que você quer coletar dados.

    5. Especifique as regiões da AWS em que os papéis e as políticas serão criados. Como os papéis são recursos globais, você não precisa especificar várias regiões.

    6. Mude outras configurações, se necessário.

    7. Revise as mudanças e crie o conjunto de pilhas. Se você receber um erro, consulte Solução de problemas.

  5. Implante uma pilha separada para provisionar a função de coletor na conta de gerenciamento, porque um conjunto de pilhas do AWS CloudFormation não cria instâncias de pilha em uma conta de gerenciamento. Para mais informações, consulte DeploymentTargets na documentação da AWS.

Para concluir o processo de integração, consulte Concluir o processo de integração.

Configurar contas da AWS manualmente

Se não for possível usar os modelos do CloudFormation (por exemplo, se estiver usando nomes de papéis diferentes ou personalizando a integração), crie manualmente as políticas e os papéis do IAM da AWS necessários.

Você precisa criar políticas do IAM da AWS e papéis do IAM da AWS para a conta delegada e as contas de coletor.

Crie a política de IAM da AWS para o papel delegado

Para criar uma política de IAM da AWS para o papel delegado (uma política delegada), faça o seguinte:

  1. Faça login no console de contas delegadas da AWS.

  2. Clique em Políticas > Criar política.

  3. Clique em JSON e cole uma das opções a seguir, dependendo se você selecionou a caixa de seleção Conceder permissões para a descoberta de proteção de dados sensíveis em Configurar o Security Command Center.

    Conceder permissões para descoberta da proteção de dados sensíveis: apagado

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    }
    

    Substitua COLLECTOR_ROLE_NAME pelo nome do papel de coletor que você copiou ao configurar o Security Command Center (o padrão é aws-collector-role).

    Conceder permissões para descoberta da proteção de dados sensíveis: selecionado

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Resource": [
            "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
            "arn:aws:iam::*:role/SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME"
          ],
          "Effect": "Allow"
        },
        {
          "Action": [
            "organizations:List*",
            "organizations:Describe*"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
    

    Substitua:

    • COLLECTOR_ROLE_NAME: o nome do papel do coletor de dados de configuração que você copiou ao configurar o Security Command Center (o padrão é aws-collector-role)
    • SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME: o nome do papel do coletor de proteção de dados sensíveis que você copiou ao configurar o Security Command Center (o padrão é aws-sensitive-data-protection-role)
  4. Clique em Seguinte.

  5. Na seção Detalhes da política, insira um nome e uma descrição para a política.

  6. Clique em Criar política.

Criar um papel do AWS IAM para a relação de confiança entre a AWS e o Google Cloud

Criar um papel delegado que configure uma relação confiável entre a AWS e o Google Cloud. Esse papel usa a política delegada que foi criada em Criar a política de IAM da AWS para o papel delegado.

  1. Faça login no console de contas delegadas da AWS como um usuário da AWS que possa criar papéis e políticas do IAM.

  2. Clique em Papéis > Criar papel.

  3. Em Tipo de entidade confiável, clique em Identidade da Web.

  4. Em Identity Provider, clique em Google.

  5. Em Público-alvo, insira o ID da conta de serviço que você copiou ao configurar o Security Command Center. Clique em Próximo.

  6. Para conceder ao papel delegado acesso aos papéis do coletor, anexe as políticas de permissão a ele. Pesquise a política delegada que foi criada em Criar a política de IAM da AWS para o papel delegado e selecione-a.

  7. Na seção Detalhes do papel, insira o Nome do papel delegado que você copiou ao configurar o Security Command Center (o nome padrão é aws-delegated-role).

  8. Clique em Criar função.

Criar a política de IAM da AWS para a coleta de dados de configuração de recursos

Para criar uma política do AWS IAM para coleta de dados de configuração de recursos (uma política de coletor), conclua o seguinte:

  1. Faça login no console de contas do coletor da AWS.

  2. Clique em Políticas > Criar política.

  3. Clique em JSON e cole o seguinte:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. Clique em Seguinte.

  5. Na seção Detalhes da política, insira um nome e uma descrição para a política.

  6. Clique em Criar política.

  7. Repita essas etapas para cada conta de coletor.

Criar o papel do IAM da AWS para a coleta de dados de configuração de recursos em cada conta

Crie o papel do coletor que permite que o Security Command Center receba dados de configuração de recursos da AWS. Esse papel usa a política do coletor que foi criada em Criar a política de IAM da AWS para a coleta de dados de configuração de recursos.

  1. Faça login no console de contas do coletor da AWS como um usuário que pode criar papéis do IAM para as contas do coletor.

  2. Clique em Papéis > Criar papel.

  3. Em Tipo de entidade confiável, clique em Política de confiança personalizada.

  4. Na seção Política de confiança personalizada, cole o seguinte:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Substitua:

  5. Para conceder a esse papel de coletor acesso aos dados de configuração do recurso da AWS, anexe as políticas de permissão ao papel. Pesquise a política de coletor personalizada que foi criada em Criar a política de IAM da AWS para a coleta de dados de configuração de recursos e selecione-a.

  6. Pesquise e selecione as seguintes políticas gerenciadas:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. Na seção Detalhes do papel, insira o nome do papel de coletor de dados de configuração que você copiou ao configurar o Security Command Center.

  8. Clique em Criar função.

  9. Repita essas etapas para cada conta de coletor.

Se você tiver marcado a caixa de seleção Conceder permissões para a descoberta de proteção de dados sensíveis em Configurar o Security Command Center, prossiga para a próxima seção.

Se você não marcou a caixa de seleção Conceder permissões para a descoberta da proteção de dados sensíveis, conclua o processo de integração.

Criar a política de IAM da AWS para proteção de dados sensíveis

Conclua estas etapas se você tiver marcado a caixa de seleção Conceder permissões para a descoberta da proteção de dados sensíveis em Configurar o Security Command Center.

Para criar uma política do AWS IAM para proteção de dados sensíveis (uma política de coletor), conclua o seguinte:

  1. Faça login no console de contas do coletor da AWS.

  2. Clique em Políticas > Criar política.

  3. Clique em JSON e cole o seguinte:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets",
            "s3:GetBucketPolicyStatus",
            "s3:ListBucket",
            "s3:GetObject"
          ],
          "Resource": [
            "arn:aws:s3:::*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:ListAttachedRolePolicies",
            "iam:ListRolePolicies",
            "iam:GetPolicy",
            "iam:GetPolicyVersion",
            "iam:GetRolePolicy"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  4. Clique em Seguinte.

  5. Na seção Detalhes da política, insira um nome e uma descrição para a política.

  6. Clique em Criar política.

  7. Repita essas etapas para cada conta de coletor.

Criar o papel do IAM da AWS para proteção de dados sensíveis em cada conta

Conclua estas etapas se você tiver marcado a caixa de seleção Conceder permissões para a descoberta da proteção de dados sensíveis em Configurar o Security Command Center.

Crie o papel de coletor que permite que a Proteção de Dados Sensíveis crie o perfil do conteúdo dos seus recursos da AWS. Esse papel usa a política do coletor que foi criada em Criar a política do IAM da AWS para proteção de dados sensíveis.

  1. Faça login no console de contas do coletor da AWS como um usuário que pode criar papéis do IAM para contas do coletor.

  2. Clique em Papéis > Criar papel.

  3. Em Tipo de entidade confiável, clique em Política de confiança personalizada.

  4. Na seção Política de confiança personalizada, cole o seguinte:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Substitua:

  5. Para conceder a esse papel de coletor acesso ao conteúdo dos recursos da AWS, anexe as políticas de permissão ao papel. Pesquise a política de coletor personalizada que foi criada em Criar a política do IAM da AWS para proteção de dados sensíveis e selecione-a.

  6. Na seção Detalhes do papel, insira o nome do papel para proteção de dados sensíveis que você copiou ao configurar o Security Command Center.

  7. Clique em Criar função.

  8. Repita essas etapas para cada conta de coletor.

Para concluir o processo de integração, consulte Concluir o processo de integração.

Conclua o processo de integração

  1. No console do Google Cloud, acesse a página Adicionar conector do Amazon Web Services.

    Acessar o conector do Amazon Web Services

  2. Clique em Testar conector para verificar se o Security Command Center pode se conectar ao ambiente AWS. Se a conexão for bem-sucedida, o teste determinou que o papel delegado tem todas as permissões necessárias para assumir os papéis de coletor. Se a conexão não funcionar, consulte Como solucionar erros ao testar a conexão.

  3. Clique em Criar.

Configuração personalizada

Nesta seção, descrevemos algumas maneiras de personalizar a conexão entre o Security Command Center e a AWS. Essas opções estão disponíveis na seção Opções avançadas (opcional) da página Adicionar conector da Amazon Web Services no console do Google Cloud.

Por padrão, o Security Command Center descobre automaticamente suas contas da AWS em todas as regiões da AWS. A conexão usa o endpoint global padrão para o AWS Security Token Service e as consultas por segundo (QPS) padrão para o serviço da AWS que você está monitorando. Essas opções avançadas permitem personalizar os padrões.

Opção Descrição
Especificar as contas da AWS a serem usadas Permita que o Security Command Center descubra as contas da AWS automaticamente ou forneça uma lista de contas da AWS que o Security Command Center possa usar para encontrar recursos.
Especificar quais contas da AWS serão excluídas Se você permitir que o Security Command Center descubra contas automaticamente, forneça uma lista de contas da AWS que o Security Command Center não possa usar para encontrar recursos.
Especificar quais regiões da AWS serão monitoradas É possível selecionar uma ou mais regiões da AWS para o Security Command Center monitorar. Deixe o campo AWS regions vazio para monitorar todas as regiões.
Substituir as consultas por segundo (QPS) padrão para serviços da AWS É possível alterar o QPS para controlar o limite de cota do Security Command Center. Defina a substituição como um valor menor que o valor padrão para esse serviço e maior ou igual a 1. O valor padrão é o máximo. Se você alterar o QPS, o Security Command Center poderá ter problemas ao buscar dados. Portanto, não recomendamos alterar esse valor.
Altere o endpoint do serviço de token de segurança da AWS É possível especificar um endpoint específico para o serviço de token de segurança da AWS (por exemplo, https://sts.us-east-2.amazonaws.com). Deixe o campo Serviço de token de segurança da AWS (AWS STS) (opcional) vazio para usar o endpoint global padrão (https://sts.amazonaws.com).

Solução de problemas

Esta seção inclui alguns problemas comuns que você pode encontrar ao integrar o Security Command Center com a AWS.

Os recursos já existem

Esse erro ocorre no ambiente da AWS quando você tenta criar as políticas e os papéis do IAM da AWS. Esse problema ocorre quando o papel já existe na sua conta da AWS e você está tentando criá-lo novamente.

Para resolver esse problema, siga estas etapas:

  • Verifique se o papel ou a política que você está criando já existe e atende aos requisitos listados neste guia.
  • Se necessário, mude o nome da função para evitar conflitos.

Principal inválido na política

Esse erro pode ocorrer no ambiente da AWS quando você cria os papéis do coletor, mas o papel delegado ainda não existe.

Para resolver esse problema, conclua as etapas em Criar a política de IAM da AWS para o papel delegado e aguarde até que o papel delegado seja criado antes de continuar.

Limitações de limitação na AWS

A AWS limita as solicitações de API para cada conta da AWS por conta ou por região. Para garantir que esses limites não sejam excedidos quando o Security Command Center coleta dados de configuração de recursos da AWS, o Security Command Center coleta os dados em um QPS máximo fixo para cada serviço da AWS, conforme descrito na documentação da API para o serviço da AWS.

Se houver limitação de solicitações no ambiente da AWS devido ao consumo de QPS, você poderá atenuar o problema fazendo o seguinte:

  • Na página de configurações do conector da AWS, defina um QPS personalizado para o serviço da AWS que está enfrentando problemas de limitação de solicitações.

  • Restrinja as permissões do papel de coletor da AWS para que os dados desse serviço específico não sejam mais coletados. Essa técnica de mitigação impede que as simulações de caminho de ataque funcionem corretamente na AWS.

A revogação de todas as permissões na AWS interrompe o processo do coletor de dados imediatamente. A exclusão do conector da AWS não interrompe imediatamente o processo do coletor de dados, mas não recomeça após a conclusão.

Como solucionar erros ao testar a conexão

Esses erros podem ocorrer quando você testa a conexão entre o Security Command Center e a AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

A conexão é inválida porque o agente de serviço do Google Cloud não pode assumir o papel delegado.

Para resolver esse problema, considere o seguinte:

AWS_FAILED_TO_LIST_ACCOUNTS

A conexão é inválida porque a descoberta automática está ativada, e o papel delegado não pode acessar todas as contas da AWS nas organizações.

Esse problema indica que alguns recursos estão faltando na política que permite a ação organizations:ListAccounts no papel delegado. Para resolver esse problema, verifique quais recursos estão faltando. Para verificar as configurações da política delegada, consulte Criar a política de IAM da AWS para o papel delegado.

AWS_INVALID_COLLECTOR_ACCOUNTS

A conexão é inválida porque há contas de coletor inválidas. A mensagem de erro inclui mais informações sobre as possíveis causas, que incluem as seguintes:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

A conta do coletor é inválida porque o papel delegado não pode assumir o de coletor na conta do coletor.

Para resolver esse problema, considere o seguinte:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

A conexão é inválida porque a política do coletor não tem algumas das configurações de permissão necessárias.

Para resolver esse problema, considere as seguintes causas:

A seguir