Uso de um manifesto CSV armazenado na conta de origem para copiar objetos entre Contas da AWS - Amazon Simple Storage Service

Uso de um manifesto CSV armazenado na conta de origem para copiar objetos entre Contas da AWS

Você pode usar um arquivo CSV que está armazenado em outra Conta da AWS como um manifesto para um trabalho do S3 Batch Operations. Para usar um relatório de inventário do S3, consulte Uso de um relatório de inventário entregue à conta de destino para copiar objetos entre Contas da AWS.

O procedimento a seguir mostra como configurar permissões ao usar uma tarefa de operações em lote do S3 para copiar objetos de uma conta de origem para uma conta de destino com arquivo de manifesto CSV armazenado na conta de origem.

Para configurar um manifesto CSV armazenado em outra Conta da AWS
  1. Crie uma função na conta de destino baseada na política de confiança do recurso Operações em lote do S3. Neste procedimento, a conta de destino é a conta para a qual os objetos estão sendo copiados.

    Para obter mais informações sobre a política de confiança, consulte Política de confiança.

    Para obter mais informações sobre como criar uma função, consulte Criação de uma função para delegar permissões a um serviço da AWS no Guia do usuário do IAM.

    Se você criar a função usando o console, insira um nome para a função (a função do exemplo usa o nome BatchOperationsDestinationRoleCOPY). Escolha o serviço S3 e selecione o caso de uso S3 bucket Batch Operations (Operações em lote do bucket do S3), que aplica a política de confiança à função.

    Em seguida, selecione Create policy (Criar política) para anexar a política a seguir à função.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsDestinationObjectCOPY", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectVersionAcl", "s3:PutObjectAcl", "s3:PutObjectVersionTagging", "s3:PutObjectTagging", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::ObjectDestinationBucket/*", "arn:aws:s3:::ObjectSourceBucket/*", "arn:aws:s3:::ObjectSourceManifestBucket/*" ] } ] }

    Com o uso da política, a função concede permissão ao batchoperations.s3.amazonaws.com para ler o manifesto no bucket do manifesto de origem. Ela concede permissões a objetos GET, ACLs, tags e vesões no bucket do objeto de origem. Ela também concede permissões a objetos PUT, ACLs, tags e versões no bucket do objeto de destino.

  2. Na conta de origem, crie uma política de bucket para o bucket que contém o manifesto para conceder a função que você criou na etapa anterior para objetos GET e versões no bucket do manifesto de origem.

    Esta etapa permite que as operações em lote do S3 leiam o manifesto usando a função confiável. Aplique a política de bucket ao bucket que contém o manifesto.

    Veja a seguir um exemplo da política de bucket para ser aplicada ao bucket do manifesto de origem.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceManfiestRead", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DestinationAccountNumber:user/ConsoleUserCreatingJob", "arn:aws:iam::DestinationAccountNumber:role/BatchOperationsDestinationRoleCOPY" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::ObjectSourceManifestBucket/*" } ] }

    Esta poítica também concede ao usuário de um console que está criando uma tarefa na conta de destino as mesmas permissões no bucket do manifesto de origem por meio da mesma política de bucket.

  3. Na conta de origem, crie uma política de bucket para o bucket de origem que concede a função que você criou para objetos GET, ACLs, tags e versões no bucket de origem. O Operações em lote do S3 pode então obter objetos do bucket de origem por meio da função confiável.

    Veja a seguir um exemplo da política de bucket para o bucket que contém os objetos de origem.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::DestinationAccountNumber:role/BatchOperationsDestinationRoleCOPY" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::ObjectSourceBucket/*" } ] }
  4. Crie um trabalho de operações em lote do S3 na conta de destino. Você precisa do nome de recurso da Amazon (ARN) para a função que criou na conta de destino.

    Para obter informações gerais sobre como criar uma tarefa, consulte Criar um trabalho de operações em lote do S3.

    Para obter informações sobre a criação de um trabalho usando o console, consulte Criar um trabalho de operações em lote do S3.