Compartilhar grupos de relatórios - AWS CodeBuild

Compartilhar grupos de relatórios

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 a criação.

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

Pré-requisito

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

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 Grupos de relatórios.

  3. Escolha o projeto que deseja compartilhar e selecione Compartilhar. Para obter mais informações, consulte Create a resource share 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.

    JSON
    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS":"111122223333" }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn:aws:iam::*:role/Service*" }] }
  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.

    JSON
    { "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 seguinte comando.

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

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 de usuário do AWS RAM.