Perfis do IAM para entrega entre contas - Amazon Virtual Private Cloud

Perfis do IAM para entrega entre contas

Ao publicar no Amazon Data Firehose, você pode escolher um fluxo de entrega que esteja na mesma conta que o recurso a ser monitorado (a conta de origem) ou em uma conta diferente (a conta de destino). Para permitir a entrega de logs de fluxo entre contas para o Amazon Data Firehose, você deve criar um perfil do IAM na conta de origem e um perfil do IAM na conta de destino.

Função da conta de origem

Na conta de origem, crie uma função que conceda as seguintes permissões. Neste exemplo, o nome da função é mySourceRole, mas você pode escolher um nome diferente para esta função. A última instrução permite que a função na conta de destino assuma esta função. As instruções de condição garantem que essa função seja passada somente para o serviço de entrega de logs e somente ao ser monitorado o recurso especificado. Ao criar sua política, especifique as VPCs, as interfaces de rede ou as sub-redes que você está monitorando com a chave de condição iam:AssociatedResourceARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::source-account:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region:source-account:vpc/vpc-00112233344556677" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

Verifique se a essa função tem a política de confiança a seguir, que permite que o serviço de entrega de logs assuma a função.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Na conta de origem, use o procedimento a seguir para criar a função.

Para criar a função da conta de origem
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies.

  3. Escolha Criar política.

  4. Na página Create policy (Criar política) faça o seguinte:

    1. Selecione JSON.

    2. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

    3. Escolha Próximo.

    4. Insira um nome e uma descrição e tags opcionais para a política e escolha Criar política.

  5. No painel de navegação, escolha Roles.

  6. Escolha Criar Perfil.

  7. Em Trusted entity type (Tipo de entidade confiável), escolha Custom trust policy (Política de confiança personalizada). Em Custom trust policy (Política de confiança personalizada), substitua "Principal": {}, pelo seguinte, que especifica o serviço de entrega de logs. Escolha Próximo.

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. Na página Add permissions (Adicionar permissões), marque a caixa de seleção correspondente à política que você criou anteriormente neste procedimento e, em seguida, escolha Next (Próximo).

  9. Insira um nome para a função e, opcionalmente, uma descrição.

  10. Selecione Criar função.

Função da conta de destino

Na conta de destino, crie uma função com um nome que comece com AWSLogDeliveryFirehoseCrossAccountRole. Essa função deve conceder as seguintes permissões.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

Certifique-se de que essa função tenha a seguinte política de confiança, que permite que a função que você criou na conta de origem assuma esta função.

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

Na conta de destino, use o procedimento a seguir para criar a função.

Para criar a função da conta de destino
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies.

  3. Escolha Criar política.

  4. Na página Create policy (Criar política) faça o seguinte:

    1. Selecione JSON.

    2. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

    3. Escolha Próximo.

    4. Insira um nome para a política que comece com AWSLogDeliveryFirehoseCrossAccountRole e, em seguida, escolha Create policy (Criar política).

  5. No painel de navegação, escolha Roles.

  6. Escolha Criar Perfil.

  7. Em Trusted entity type (Tipo de entidade confiável), escolha Custom trust policy (Política de confiança personalizada). Em Custom trust policy (Política de confiança personalizada), substitua "Principal": {}, pelo seguinte, que especifica a função da conta de origem. Escolha Próximo.

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. Na página Add permissions (Adicionar permissões), marque a caixa de seleção correspondente à política que você criou anteriormente neste procedimento e, em seguida, escolha Next (Próximo).

  9. Insira um nome para a função e, opcionalmente, uma descrição.

  10. Selecione Criar função.