Quero configurar uma regra do Amazon EventBridge para enviar notificações de um evento em uma conta da AWS para um destino em outra conta.
Resolução
Crie uma regra na conta de origem
Crie uma regra para enviar eventos para uma conta diferente.
Observação: a regra e o destino do EventBridge devem estar na mesma região da AWS. É possível configurar destinos entre contas somente nos seguintes destinos:
- APIs do Amazon API Gateway
- Aplicações do Amazon Kinesis Data Streams
- Funções do AWS Lambda
- Tópicos do Amazon Simple Notification Service (Amazon SNS)
- Filas do Amazon Simple Queue Service (Amazon SQS)
Configure as permissões do IAM na conta de origem
Certifique-se de que o perfil de execução do AWS Identity and Access Management (AWS IAM) que você atribuiu ao destino de regras do EventBridge tenha uma relação de confiança com o EventBridge. A política de confiança deve incluir events.amazonaws.com como uma entidade confiável. Além disso, certifique-se de que a política de IAM do perfil de execução inclua as permissões necessárias para publicar no seu destino.
Exemplo de relação de confiança:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Exemplo de política do IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:Region:Account-ID-of-SNS-Topic:test"
]
}
]
}
Observação: substitua sns:Publish pelas permissões necessárias para seu destino e arn:aws:sns:Region:Account-ID-of-SNS-Topic:test pelo nome do recurso da Amazon (ARN) do recurso de destino.
Configure as permissões do IAM na conta de destino
A política baseada em recursos do seu destino deve dar ao EventBridge as permissões necessárias para acessar seu destino. Analise a política do IAM do seu recurso de destino para confirmar se ele tem as permissões necessárias.
Exemplo de política de IAM para tópicos do Amazon SNS:
{
"Sid": "AWSEvents_ArticleEvent_Id4950650036948",
"Effect": "Allow",
"Principal": {
"AWS": "IAMRole"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:Region:Account-ID-of-SNS-topic:test"
}
Observação: substitua IAMRole pelo ARN do perfil de execução na conta de origem e arn:aws:sns:Region:Account-ID-of-SNS-topic:test pelo ARN do tópico do SNS.
(Para tópicos com o SSE ativado) Confirme se seu destino tem as permissões necessárias do AWS KMS
Seu destino deve usar uma chave gerenciada pelo cliente do AWS Key Management Service (AWS KMS). Essa chave do AWS KMS deve incluir uma política de chave personalizada que dê permissão ao EventBridge para usar a chave.
Para configurar as permissões necessárias do AWS KMS, conclua as etapas a seguir:
- Crie uma nova chave gerenciada pelo cliente na mesma conta do seu recurso de destino. Certifique-se de que a política de chave do AWS KMS tenha as permissões necessárias para que o EventBridge acesse a chave gerenciada pelo cliente.
Exemplo de política:
{
"Sid": "AWSEvents_ArticleEvent_Id4950650036948",
"Effect": "Allow",
"Principal": {
"AWS": "IAMRole"
},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "KMS-key-arn"
}
Observação: substitua IAMRole pelo ARN do perfil de execução do IAM e KMS-key-ARN pelo ARN da chave do AWS KMS.
- Use a chave gerenciada pelo cliente para configurar a criptografia do lado do servidor (SSE).
Observação: as instruções para configurar o SSE são as mesmas para todos os tipos de destino.
- Certifique-se de que o perfil de execução da regra do EventBridge tenha uma política que permita a ação da API kms:Decrypt.
Exemplo de política:
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "KMS-key-arn"
}
]
}
Observação: substitua KMS-key-arn pelo ARN da sua chave do AWS KMS.
Solucione problemas
Se o seu tópico do SNS não receber notificações de eventos, consulte Por que meu tópico do Amazon SNS não recebeu as notificações do EventBridge?
Se sua função do Lambda não receber notificações de eventos, consulte Por que minha função do Lambda não foi acionada pela minha regra do EventBridge?
Se sua fila do Amazon SQS não receber notificações de eventos, consulte Why is my Amazon SQS queue not receiving EventBridge notifications? (Por que minha fila do Amazon SQS não está recebendo notificações do EventBridge?)
Para obter mais etapas de solução de problemas, consulte Como soluciono problemas com as regras do EventBridge entre contas ou regiões?