Trabalhar com grupos de relatórios compartilhados - AWS CodeBuild

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á.

Trabalhar com grupos de relatórios compartilhados

O compartilhamento de grupo de relatórios permite que vários usuários ou contas da AWS visualizem um grupo de relatórios, seus relatórios não expirados e os resultados de teste de seus relatórios. Neste modelo, a conta que possui o grupo de relatórios (proprietário) compartilha um grupo de relatórios com outras contas (consumidores). Um consumidor não pode editar um grupo de relatórios. Um relatório expira 30 dias após sua criação.

Pré-requisitos para o compartilhamento de grupos de relatórios

Para compartilhar um grupo de relatórios, sua conta da AWS deve ser proprietária dele. Não é possível compartilhar um grupo de relatórios que tenha sido compartilhado com você.

Pré-requisitos para acessar grupos de relatórios compartilhados com você

Para acessar um grupo de relatórios compartilhados, a função do IAM de um consumidor requer a permissão BatchGetReportGroups. É possível anexar a seguinte política ao perfil do IAM:

{ "Effect": "Allow", "Resource": [ "*" ], "Action": [ "codebuild:BatchGetReportGroups" ] }

Para obter mais informações, consulte Usando políticas baseadas em identidade para AWS CodeBuild.

O compartilhamento de um grupo de relatórios integra-se ao AWS Resource Access Manager (AWS RAM), um serviço que permite que você compartilhe seus recursos da AWS com qualquer conta da AWS ou por meio do AWS Organizations. Com o AWS RAM, você compartilha recursos que possui criando um compartilhamento de recursos que especifica os recursos e os consumidores com os quais compartilhá-los. Os consumidores podem ser contas individuais da AWS, unidades organizacionais do AWS Organizations ou toda uma organização do AWS Organizations.

Para obter mais informações, consulte o Guia do usuário do AWS RAM.

Compartilhar um grupo de relatórios

Quando você compartilha um grupo de relatórios, o consumidor recebe acesso somente leitura ao grupo de relatórios e seus relatórios. O consumidor pode usar a AWS CLI para visualizar o grupo de relatórios, seus relatórios e os resultados do caso de teste para cada relatório. O consumidor não pode:

  • Visualize um grupo de relatórios compartilhados, ou seus relatórios, no console do CodeBuild.

  • Editar um grupo de relatórios compartilhados.

  • Usar o ARN do grupo de relatórios compartilhados em um projeto para executar um relatório. Uma compilação de projeto que especifique um grupo de relatórios compartilhados falhará.

É possível usar o console do CodeBuild para adicionar um grupo de relatórios a um compartilhamento de recursos existente. Se quiser adicionar o grupo de relatórios a um novo compartilhamento de recursos, primeiro você deve criá-lo no console do AWS RAM.

Para compartilhar um grupo de relatórios com unidades organizacionais ou toda uma organização, é necessário habilitar o compartilhamento com AWS Organizations. Para obter mais informações, consulte Habilitar o compartilhamento com o AWS Organizations no Manual do usuário do AWS RAM.

É possível usar o console do CodeBuild, o console do AWS RAM ou a AWS CLI para compartilhar grupos de relatórios de sua propriedade.

Como compartilhar um grupo de relatórios de sua propriedade (comando do CodeBuild)
  1. Abra o console do AWS CodeBuild em https://console.aws.amazon.com/codesuite/codebuild/home.

  2. No painel de navegação, escolha Report groups (Grupos de relatórios).

  3. Escolha o projeto que deseja compartilhar e selecione Share (Compartilhar). Para obter mais informações, consulte Criar um compartilhamento de recurso no Guia do usuário do AWS RAM.

Como compartilhar grupos de relatórios de sua propriedade (console do AWS RAM)

Consulte Creating a resource share no Guia do usuário do AWS RAM.

Como compartilhar grupos de relatórios de sua propriedade (comando do AWS RAM)

Use o comando create-resource-share.

Como compartilhar um grupo de relatórios de sua propriedade (comando do CodeBuild)

Use o comando put-resource-policy:

  1. Crie um arquivo chamado policy.json e copie o seguinte nele.

    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS":"consumer-aws-account-id-or-user" }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn-of-report-group-to-share" }] }
  2. Atualize policy.json com o ARN do grupo de relatórios e os identificadores com quais compartilhá-lo. O exemplo a seguir concede acesso somente leitura ao grupo de relatórios com o ARN arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group para a Alice e o usuário raiz da conta da AWS identificada por 123456789012.

    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS": [ "arn:aws:iam::123456789012:user/Alice", "123456789012" ] }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group" }] }
  3. Execute o comando a seguir.

    aws codebuild put-resource-policy --resource-arn report-group-arn --policy file://policy.json

Como cancelar o compartilhamento de um grupo de relatórios

Um grupo de relatórios cancelado, incluindo seus relatórios e seus resultados de caso de teste, só pode ser acessado pelo proprietário. Se você cancelar o compartilhamento de um grupo de relatórios, todos os usuários ou contas da AWS com quem o compartilhou anteriormente não poderão acessar o grupo de relatórios, seus relatórios ou os resultados de casos de teste nos relatórios.

Para cancelar o compartilhamento de um grupo de relatórios de sua propriedade, é necessário removê-lo do compartilhamento de recursos. Você pode usar o console do AWS RAM ou a AWS CLI para fazer isso.

Como cancelar o compartilhamento de um grupo de relatórios de sua propriedade (console do AWS RAM)

Consulte Atualização de um compartilhamento de recursos no Manual do usuário do AWS RAM.

Como cancelar o compartilhamento de um grupo de relatórios de sua propriedade (comando do AWS RAM)

Use o comando disassociate-resource-share.

Como cancelar o compartilhamento de um grupo de relatórios de sua propriedade (comando do CodeBuild)

Execute o comando delete-resource-policy e especifique o ARN do grupo de relatórios que você deseja cancelar o compartilhamento:

aws codebuild delete-resource-policy --resource-arn report-group-arn

Como identificar o compartilhamento de um grupo de relatórios

Os proprietários e consumidores podem usar a AWS CLI para identificar grupos de relatórios compartilhados.

Para identificar e obter informações sobre um grupo de relatórios compartilhados e seus relatórios, use os seguintes comandos:

  • Para visualizar os ARNs dos grupos de relatórios compartilhados com você, execute list-shared-report-groups:

    aws codebuild list-shared-report-groups
  • Para visualizar os ARNs dos relatórios em um grupo de relatórios, execute list-reports-for-report-group usando o ARN do grupo de relatórios:

    aws codebuild list-reports-for-report-group --report-group-arn report-group-arn
  • Para visualizar informações sobre casos de teste em um relatório, execute describe-test-cases usando o ARN do relatório:

    aws codebuild describe-test-cases --report-arn report-arn

    A saída será exibida como a seguir:

    { "testCases": [ { "status": "FAILED", "name": "Test case 1", "expired": 1575916770.0, "reportArn": "report-arn", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "path-to-output-report-files" }, { "status": "SUCCEEDED", "name": "Test case 2", "expired": 1575916770.0, "reportArn": "report-arn", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "path-to-output-report-files" } ] }

Permissões do grupo de relatórios compartilhados

Permissões para proprietários

Um proprietário do grupo de relatórios pode editar o grupo de relatórios e especificá-lo em um projeto para executar relatórios.

Permissões para consumidores

Um consumidor do grupo de relatórios pode visualizar um grupo de relatórios, seus relatórios e os resultados do caso de teste para os relatórios. Um consumidor não pode editar um grupo de relatórios, ou seus relatórios, e não pode usá-lo para criar relatórios.