View a markdown version of this page

Compartilhando um Event Bus personalizado com outras contas - Amazônia EventBridge

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Compartilhando um Event Bus personalizado com outras contas

Para permitir que outra conta publique em seu ônibus, anexe assinantes a ele ou anexe fontes de eventos a ele, compartilhe o ônibus com AWS Resource Access Manager (AWS RAM) e escolha uma das quatro permissões gerenciadas. Por exemplo, compartilhe o orders ônibus com a conta 444455556666 usandoAWSRAMEventBridgeEventBusV2SubscribeOnly, e essa conta pode criar assinantes nele. Em vez disso, escreva uma política de recursos no barramento quando precisar de uma chave explícitaDeny, de uma chave de condição ou de uma concessão que nenhuma permissão gerenciada expresse. A outra conta ainda precisa das mesmas ações em suas próprias políticas de identidade, porque ambos os lados devem permitir.

Pré-requisitos para compartilhar um ônibus

  • Você deve possuir o ônibus. Uma conta de consumidor não pode compartilhar um ônibus em frente.

  • Para compartilhar com contas em sua organização sem um convite, ative o compartilhamento com AWS Organizations in AWS RAM. Para compartilhar com uma conta fora da sua organização, a conta deve aceitar o convite de compartilhamento de recursos antes de poder usar o ônibus.

  • O ônibus e os assinantes do consumidor estão na mesma região e partição. Um consumidor publica no ônibus e cria assinantes na região do ônibus.

Compartilhando um ônibus

Recomendamos AWS RAM mais do que uma política de recursos que você mesmo redija. AWS RAM oferece um lugar para ver e revogar o que você compartilhou AWS Organizations, com o qual funciona e escreve a política de AWS_RAM recursos do ônibus para você. Crie um compartilhamento de recursos que nomeie o ARN do barramento, as contas de consumidores ou unidades organizacionais e uma das quatro permissões AWS gerenciadas para o tipo de recurso de barramento, cada uma emarn:aws:ram::aws:permission/name.

Permissão gerenciadaO que a conta do consumidor pode fazer
AWSRAMEventBridgeEventBusV2PublishOnlyPublique no ônibus
AWSRAMEventBridgeEventBusV2SubscribeOnlyAnexe assinantes ao ônibus
AWSRAMEventBridgeEventBusV2EventSourceAccessAnexe e atualize as fontes de eventos e descreva o ônibus
AWSRAMEventBridgeEventBusV2FullAccessPublique com qualquer API, descreva o barramento e crie, atualize e exclua seus próprios assinantes e fontes de eventos
aws ram create-resource-share \ --name orders-bus-share \ --resource-arns arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \ --principals 444455556666 \ --permission-arns arn:aws:ram::aws:permission/AWSRAMEventBridgeEventBusV2SubscribeOnly

Para conceder menos de uma permissão gerenciada ou adicionar uma chave de condição, crie uma permissão gerenciada pelo AWS RAM cliente. AWS RAM rejeita uma ação que nomeie apenas o proprietário de um ônibus como ação. Leia uma permissão novamente com a AWS RAM GetPermission operação em vez de assumir sua lista de ações exata.

Cancelando o compartilhamento de um ônibus

Para interromper o compartilhamento, remova o barramento ou o principal do compartilhamento de recursos ou exclua o compartilhamento. EventBridgeautoriza um assinante ou uma fonte de eventos quando ele é criado, para que um assinante criado pelo consumidor enquanto o compartilhamento estava ativo continue entregando após você cancelar o compartilhamento. Para pará-lo, revogue-o comRevokeResource; vejaRevogar um assinante ou uma fonte de eventos. O consumidor não poderá mais publicar ou criar novos assinantes depois que o compartilhamento acabar.

Trabalhando com um ônibus que é compartilhado com você

Um ônibus compartilhado com sua conta aparece em seus ListEventBuses resultados com a conta do proprietário em seu ARN, e você o usa por esse ARN, na região do ônibus. O que você cria nele pertence a você: ao listar assinantes no ônibus compartilhado, você vê apenas seus próprios assinantes, enquanto o proprietário do ônibus vê todos eles. Compartilhar um ônibus expõe apenas esse ônibus; você nunca vê os outros ônibus do proprietário. Você não pode atualizar ou excluir o ônibus, alterar sua política de recursos ou compartilhá-lo posteriormente, e não pode agir sobre um assinante de propriedade de outra conta. O proprietário do ônibus pode retirar qualquer um de seus assinantes ou fontes de eventos comRevokeResource; um recurso revogado é interrompido permanentemente e você só pode excluí-lo.

Faturamento e medição

Compartilhar um ônibus não tem cobrança própria. A publicação, entrega e retenção são cobradas conforme descrito na página de EventBridge preços da Amazon. O proprietário do ônibus pode ver o volume de entrega por conta de consumidor nas EgressBytes métricas EventsDelivered e com a SubscriberAccount dimensão; vejaObservabilidade do barramento de eventos personalizado: métricas, registros e CloudTrail.

Escreva uma política de recursos personalizada

Um barramento de eventos é o único recurso de barramento de eventos personalizado que usa uma política de recursos; EventBridge rejeita qualquer outro ARN de recurso. Um ônibus tem duas políticas nomeadas. defaulté o que você escreve, em linguagem de política de IAM completa, inclusiveDeny. AWS_RAMé escrito somente por AWS RAM e reflete seus compartilhamentos de recursos. EventBridge avalia tanto quando autoriza um chamador de outra conta quanto uma entrada explícita substitui uma Deny na outra. Allow Quando um chamador de várias contas é negado e a política que você escreveu parece permiti-lo, leia a outra política.

A default política a seguir sobre o orders ônibus permite que a conta 444455556666 conecte assinantes e leia o ônibus, e nada mais.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPartnerAccountToSubscribe", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "events:CreateSubscriber", "events:DescribeEventBus" ], "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef" } ] }

Gerencie as políticas com PutResourcePolicy GetResourcePolicyDeleteResourcePolicy,, ListResourcePolicies e. Cada um recebe o ARN --resource-arn do ônibus e age default quando você omite--policy-name. Você não pode escrever ou excluirAWS_RAM: a nomenclatura falha comAccessDeniedException. GetResourcePolicyfalha ResourceNotFoundException quando a política nomeada não existe, em vez de retornar um documento vazio, portanto, trate isso como se não fosse uma política. Um ônibus pelo qual você compartilhou somente não AWS RAM tem default política, portanto, get-resource-policy sem --policy-name retornar esse erro; passe --policy-name AWS_RAM para ler a política AWS RAM escrita. ListResourcePoliciesretorna somente nomes de políticas e IDs de revisão, nunca documentos. Para tornar uma gravação ou exclusão condicional, passe a revisão atual da política--expected-revision-id; em caso de incompatibilidade, a operação falhará. ConflictException Um documento default de política pode ter até 20 KB; uma política maior falha comPolicyLengthExceededException. Essa cota é ajustável em Cotas de serviço.

EventBridge rejeita uma default política que concederia acesso públicoPublicPolicyException, com e não o anexa. Essa verificação está sempre ativada. Uma declaração concede acesso público quando seu principal é curinga e nenhuma condição limita os chamadores a contas ou diretores específicos. Uma condição no conteúdo do evento, como, por exemploevents:source, não identifica o chamador. Uma condição como aws:PrincipalOrgID a do. Uma política que você escreve é invisível AWS RAM, então você é responsável por rastreá-la.

Eventos que chegam sem uma chamada pública

Os eventos também chegam em um ônibus sem uma PutRawEvents ligação diretaPutEvents: de uma fonte de eventos, de uma regra ou de um assinante em outro ônibus cujo alvo é esse ônibus. Uma fonte de eventos é autorizada uma vez, quando você a cria, e nada é verificado novamente quando os eventos chegam, portanto, uma política de ônibus não pode filtrar esse tráfego posteriormente. Consulte Fontes de eventos para um ônibus de eventos personalizado. Uma regra ou assinante que você mesmo aponta para um ônibus é autorizado na ingestão, sob a função que você forneceu, uma vez para cada evento. EventBridge escolhe a ação por evento: events:PutEvents para um AWS serviço genuíno ou evento de parceria e events:PutRawEvents para um evento que você originou. Você não pode escolher a ação usada, portanto, um encaminhador que transporta os dois tipos de eventos por um caminho deve receber as duas ações, na política de identidade da função e na política de recursos do barramento de destino. Conceder apenas um nega metade do fluxo.