View a markdown version of this page

Chaves de condição para acesso ao grupo de logs do Contributor Insights - Amazon CloudWatch

Chaves de condição para acesso ao grupo de logs do Contributor Insights

Para criar uma regra no Contributor Insights e visualizar seus resultados, o usuário deve ter a permissão cloudwatch:PutInsightRule. Por padrão, um usuário com essa permissão pode criar uma regra que avalia qualquer grupo de logs no CloudWatch Logs e exibe os resultados. Os resultados podem incluir dados de colaboradores desses grupos de logs, que podem conter informações confidenciais.

É possível criar políticas do IAM com chaves de condição para conceder aos usuários a permissão para gravar regras do Contributor Insights para alguns grupos de logs, impedindo que eles acessem dados de outros grupos de logs.

Para obter mais informações sobre o elemento Condition em políticas do IAM, consulte Elementos de políticas JSON do IAM: condição.

Entenda o modelo de permissões do Contributor Insights

As operações do Contributor Insights usam o namespace cloudwatch: do IAM. As operações do grupo de logs usam o namespace logs:. O Contributor Insights não exige nem avalia as permissões logs: ao processar dados do grupo de logs.

Uma entidade principal com permissões cloudwatch:PutInsightRule e cloudwatch:GetInsightRuleReport pode criar regras que avaliam qualquer grupo de logs e recuperam os resultados, mesmo sem nenhuma permissão logs: nesses grupos de logs.

Importante

Os resultados agregados podem conter informações confidenciais, como campos de logs usados como chaves de colaborador. Conceda permissões cloudwatch:PutInsightRule e cloudwatch:GetInsightRuleReport somente para entidades principais que precisam acessar dados em todos os grupos de logs referenciados.

Para acesso entre contas, se uma conta de origem configurou um link AWS Organizations que compartilha o acesso ao grupo de logs, uma entidade principal na conta de monitoramento precisa apenas de cloudwatch:PutInsightRule para criar regras que tenham como alvo os grupos de logs da conta de origem.

Como restringir o acesso do Contributor Insights a grupos de logs específicos

Use as seguintes chaves de condição para restringir quais grupos de logs uma entidade principal pode especificar ao criar regras do Contributor Insights:

  • cloudwatch:requestInsightRuleLogGroups — Corresponde aos nomes dos grupos de logs especificados em uma regra

  • cloudwatch:requestInsightRuleLogGroupARNs — Corresponde aos ARNs do grupo de logs especificados em uma regra

Importante

Depois que uma regra é criada, qualquer entidade principal com permissão cloudwatch:GetInsightRuleReport pode recuperar seus resultados, independentemente das restrições do grupo de logs.

A política a seguir concede permissão para criar regras do Contributor Insights para o grupo de logs chamado AllowedLogGroup e grupos de logs com nomes que começam com AllowedWildCard. Não concede permissão para criar regras para nenhum outro grupo de logs.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCertainLogGroups", "Effect": "Allow", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*", "Condition": { "ForAllValues:StringLike": { "cloudwatch:requestInsightRuleLogGroups": [ "AllowedLogGroup", "AllowedWildcard*" ] } } } ] }

A política a seguir permite criar regras para qualquer grupo de logs por padrão, mas nega explicitamente a criação de regras para o grupo de logs chamado ExplicitlyDeniedLogGroup.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowInsightRulesOnLogGroupsByDefault", "Effect": "Allow", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*" }, { "Sid": "ExplicitDenySomeLogGroups", "Effect": "Deny", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*", "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudwatch:requestInsightRuleLogGroups": [ "/test/alpine/ExplicitlyDeniedLogGroup" ] } } } ] }

A política a seguir nega a criação de regras que tenham como alvo grupos de log com /production/ no caminho do ARN.

{ "Version": "", "Statement": [ { "Sid": "DenyProductionLogGroupsByARN", "Effect": "Deny", "Action": "cloudwatch:PutInsightRule", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudwatch:requestInsightRuleLogGroupARNs": [ "arn:aws:logs:*:*:log-group:*/production/*" ] } } } ] }
nota
  • As chaves de condição coincidem com as strings padrão, conforme escritas na definição da regra, e não com os grupos de logs resolvidos.

  • Se as regras especificarem grupos de logs como ARNs completos, um valor de condição como /production/* não corresponderá, uma vez que a string de ARN completa não começa com esse prefixo. Use */production/* como prefixo curinga para corresponder às referências de grupos de logs baseadas em ARN.

Práticas recomendadas de segurança do Contributor Insights

Siga essas práticas recomendadas para proteger sua configuração do Contributor Insights.

  • Aplicar privilégio mínimo — conceda cloudwatch:PutInsightRule e cloudwatch:GetInsightRuleReport somente às entidades principais que precisam analisar os dados do grupo de logs

  • Usar chaves de condição para restringir grupos de logs — limite quais grupos de logs uma entidade principal pode referenciar nas regras do Contributor Insights

  • Proteger campos confidenciais — use a proteção de dados do CloudWatch Logs para mascarar dados de log confidenciais antes que o Contributor Insights os processe. Para obter mais informações, consulte Proteger dados de logs confidenciais com mascaramento.

  • Considerar a sensibilidade da chave do colaborador — as chaves do colaborador podem expor valores como endereços IP ou identificadores de usuário nos resultados das regras

  • Analisar acesso entre contas — audite as configurações do link AWS Organizations para confirmar que somente as contas de monitoramento pretendidas podem criar regras em relação aos grupos de logs da conta de origem