Conceder ao Amazon Managed Service for Prometheus permissão para enviar mensagens ao seu tópico do Amazon SNS - Amazon Managed Service for Prometheus

Conceder ao Amazon Managed Service for Prometheus permissão para enviar mensagens ao seu tópico do Amazon SNS

Você deve conceder permissão ao Amazon Managed Service for Prometheus para enviar mensagens ao seu tópico do Amazon SNS. A instrução de política a seguir concederá essa permissão. Ela contém uma instrução Condition para ajudar a evitar um problema de segurança conhecido como problema do substituto confuso. A declaração Condition restringe o acesso ao tópico do Amazon SNS para permitir somente operações provenientes dessa conta específica e do espaço de trabalho do Amazon Managed Service for Prometheus. Para obter mais informações sobre o problema confused deputy, veja Prevenção contra o ataque do “substituto confuso” em todos os serviços.

Para dar permissão ao Amazon Managed Service for Prometheus para enviar mensagens para seu tópico do Amazon SNS
  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. No painel de navegação, escolha Tópicos.

  3. Escolha o nome do tópico que você está usando com o Amazon Managed Service for Prometheus.

  4. Escolha Editar.

  5. Escolha Política de acesso e adicione a seguinte declaração de política à política existente.

    { "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "sns:Publish", "sns:GetTopicAttributes" ], "Condition": { "ArnEquals": { "aws:SourceArn": "workspace_ARN" }, "StringEquals": { "AWS:SourceAccount": "account_id" } }, "Resource": "arn:aws:sns:region:account_id:topic_name" }

    [Opcional] Se seu tópico do Amazon SNS estiver com a criptografia do lado do serviço (SSE) habilitada, você precisará permitir que o Amazon Managed Service for Prometheus envie mensagens para esse tópico criptografado adicionando as permissões kms:GenerateDataKey* e kms:Decrypt à política de chave do AWS KMS da chave usada para criptografar o tópico.

    Por exemplo, você poderia adicionar isto à política:

    { "Statement": [{ "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }

    Para obter mais informações, consulte Permissões do AWS KMS para Tópico do SNS.

  6. Escolha Salvar alterações.

nota

Por padrão, o Amazon SNS cria a política de acesso com a condição em AWS:SourceOwner. Para mais informações, consulte a política de acesso do SNS.

nota

O IAM segue a primeira regra mais restritiva da política. Em seu tópico do SNS, se houver um bloco de política mais restritivo do que o bloco documentado na política do Amazon SNS, não será concedida a permissão na política do tópico. Para avaliar a sua política e saber quais as concessões, consulte a Lógica de avaliação da política.

Configuração de tópicos do SNS para regiões opcionais

Você pode usar aps.amazonaws.com para configurar um tópico do Amazon SNS na mesma Região da AWS do espaço de trabalho do Amazon Managed Service for Prometheus. Para usar um tópico do SNS de uma região não opcional (como us-east-1) com uma região opcional (como af-south-1), você precisa usar o formato da entidade principal do serviço regional. No princípio de serviço regional, substitua us-east-1 pela região não opcional que você deseja usar: aps.us-east-1.amazonaws.com.

A tabela a seguir lista as regiões opcionais e as entidades principais de serviço regional correspondentes:

Regiões opcionais e entidades principais de serviço regional
Nome da região Região Entidade principal do serviço regional
África (Cidade do Cabo) af-south-1 af-south-1.aps.amazonaws.com
Ásia-Pacífico (Hong Kong) ap-east-1 ap-east-1.aps.amazonaws.com
Ásia-Pacífico (Tailândia) ap-southeast-7 ap-southeast-7.aps.amazonaws.com
Europa (Milão) eu-south-1 eu-south-1.aps.amazonaws.com
Europa (Zurique) eu-central-2 eu-central-2.aps.amazonaws.com
Oriente Médio (Emirados Árabes Unidos) me-central-1 me-central-1.aps.amazonaws.com
Ásia-Pacífico (Malásia) ap-southeast-5 ap-southeast-5.aps.amazonaws.com

Para obter informações sobre como habilitar uma região opcional, consulte Gerenciamento de Regiões da AWS no Guia do usuário do IAM em Referência geral da Amazon Web Services.

Ao configurar seu tópico do Amazon SNS para essas regiões opcionais, certifique-se de usar a entidade principal de serviço regional correta para permitir a entrega de alertas entre regiões.

Prevenção contra o ataque do “substituto confuso” em todos os serviços

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Na AWS, a personificação entre serviços pode resultar no problema do ‘confused deputy’. A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.

Recomendamos o uso das chaves de contexto de condição global aws:SourceArn e aws:SourceAccount nas políticas de recursos para restringir as permissões do recurso que o Amazon Managed Service for Prometheus Amazon concede ao Amazon SNS. Se você utilizar ambas as chaves de contexto de condição global, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.

O valor de aws:SourceArn deve ser o ARN do espaço de trabalho do Amazon Managed Service for Prometheus.

A maneira mais eficaz de se proteger do problema ‘confused deputy’ é usar a chave de contexto de condição global aws:SourceArn com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou se especificar vários recursos, use a chave de condição de contexto global aws:SourceArn com curingas (*) para as partes desconhecidas do ARN. Por exemplo, arn:aws:servicename::123456789012:*.

A política mostrada em Conceder ao Amazon Managed Service for Prometheus permissão para enviar mensagens ao seu tópico do Amazon SNS como usar as chaves de contexto de condição globais aws:SourceArn e aws:SourceAccount no Amazon Managed Service for Prometheus para evitar o problema confused deputy.