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.
Tópicos
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)
-
Abra o console do AWS CodeBuild em https://console.aws.amazon.com/codesuite/codebuild/home
. -
No painel de navegação, escolha Grupos de relatórios.
-
Escolha o projeto que deseja compartilhar e selecione 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:
-
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
" }] } -
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 ARNarn: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" }] }
-
Execute o seguinte comando.
aws codebuild put-resource-policy --resource-arn
report-group-arn
--policy file://policy.json
Serviços relacionados
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.