Esta página mostra como usar uma política da organização no modo de simulação para monitorar como uma alteração na política afetaria seus fluxos de trabalho antes da aplicação.
Uma política da organização no modo de simulação é criada e aplicada de maneira semelhante a outras políticas da organização, e as violações da política são registradas em um registro de auditoria, mas as ações de violação não são negadas.
Antes de começar
Para usar uma política da organização no modo de simulação, é necessário ativar o faturamento no seu projeto do Google Cloud. Para informações sobre como verificar se o faturamento está ativado para um projeto, consulte Verificar o status de faturamento dos seus projetos.
Para mais informações sobre o que são políticas e restrições da organização e como elas funcionam, consulte Introdução ao serviço de políticas da organização.
Funções exigidas
Para receber as permissões necessárias a fim de gerenciar as políticas da organização,
peça ao administrador para conceder a você o
papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin
) na organização.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para gerenciar as políticas da organização. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para gerenciar as políticas da organização:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
As únicas restrições de política da organização disponíveis para uso em políticas da organização são:
- Restringir o uso de recursos
- Restringir versões do TLS
- Restrições personalizadas
- Restrições gerenciadas
Tentar criar uma política da organização no modo de simulação usando qualquer outra restrição resulta em um erro.
Criar uma política da organização no modo de simulação
Restrições de lista
É possível criar uma política da organização no modo de simulação para uma restrição de lista
usando o console do Google Cloud ou a Google Cloud CLI. Os exemplos a seguir
demonstram como criar uma política da organização no modo de simulação que audita o
efeito da restrição de lista gcp.restrictServiceUsage
.
Console
No console do Google Cloud, acesse a página Políticas da organização.
No seletor de projetos, selecione o recurso em que você quer definir a política da organização.
Selecione a restrição Restringir o uso do serviço de recurso na lista da página Políticas da organização.
Selecione a guia Teste.
Clique em Gerenciar política de simulação.
Na página Editar política de teste, selecione Substituir a política do editor principal.
Em Aplicação da política, clique em Substituir.
Clique em Adicionar regra.
Em Valores da política, selecione Personalizado.
Em Tipo de política, selecione Negar.
Na caixa Custom values, digite
compute.googleapis.com
e clique em Done.Se essa for uma restrição personalizada, clique em Testar alterações para simular o efeito dessa política da organização. Para mais informações, consulte Testar alterações na política da organização com o Simulador de política.
Para aplicar a política da organização no modo de simulação, clique em Definir política de simulação. Você também pode definir a política ativa clicando em Definir política.
Para verificar o status da política da organização no modo de simulação, acesse a guia Simulação de uma restrição de política da organização.
Para projetos com uma política da organização aplicada no modo de simulação, é possível conferir os registros de auditoria clicando em Ver registros de rejeição. Para
essa política da organização, os registros de auditoria mostram as violações como se a restrição
Restringir o uso do serviço de recurso fosse aplicada para negar
compute.googleapis.com
.
gcloud
Para criar uma política da organização no modo de simulação, crie um arquivo YAML que
define a restrição com dryRunSpec
. Exemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: deniedValues: - compute.googleapis.com
Substitua:
RESOURCE_TYPE
pororganizations
,folders
ouprojects
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Essa política da organização não vai aplicar a restrição gcp.restrictServiceUsage
, mas os registros de auditoria vão mostrar as violações como se ela fosse aplicada.
É possível definir uma política da organização ativa e uma simulação de política da organização
no mesmo arquivo YAML, se você definir spec
e dryRunSpec
. Exemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Para aplicar uma política da organização no modo de teste, use o
comando org-policies set policy
. Para atualizar uma política da organização
no modo de simulação com novas restrições, use a flag --update-mask
. Exemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Substitua:
POLICY_PATH
com o caminho completo do arquivo YAML da política da organização.UPDATE_MASK
comspec
para atualizar apenas a política ativa oudryRunSpec
para atualizar apenas a política da organização no modo de simulação. Também é possível usar*
para atualizar os camposspec
edryRunSpec
. Se esse campo não for definido ao atualizar uma política de organização, o comando resultará em um erro e a política de organização não será atualizada.
É possível verificar se a política da organização no modo de simulação está definida usando
o comando org-policies describe
. O campo dryRunSpec
só aparece se
existir na política da organização.
Essa política da organização aplicaria a restrição gcp.restrictServiceUsage
de modo que apenas container.googleapis.com
fosse permitido. No entanto,
os registros de auditoria também mostram violações de compute.googleapis.com
e
appengine.googleapis.com
.
Restrições booleanas
É possível criar uma política da organização no modo de simulação para uma restrição booleana usando o console do Google Cloud ou a Google Cloud CLI. Os exemplos a seguir demonstram como criar uma política da organização no modo de simulação que audita o efeito de uma política personalizada da organização booleana.
Console
No console do Google Cloud, acesse a página Políticas da organização.
No seletor de projetos, selecione o recurso em que você quer definir a política da organização.
Selecione a política personalizada que você quer aplicar na lista da página Políticas da organização.
Selecione a guia Teste.
Clique em Gerenciar política de simulação.
Na página Editar política de teste, selecione Substituir a política do editor principal.
Clique em Adicionar regra.
Em Aplicação, selecione Ativada e clique em Concluído.
Para aplicar a política da organização no modo de simulação, clique em Definir política de simulação. Depois de verificar se a política da organização no modo de simulação funciona conforme o esperado, clique em Definir política para ativar a política.
Para verificar o status da política da organização no modo de simulação, acesse a guia Simulação de uma restrição de política da organização.
Para projetos com uma política da organização aplicada no modo de simulação, é possível conferir os registros de auditoria clicando em Ver registros de rejeição. Para essa política da organização, os registros de auditoria mostram violações como se a política personalizada da organização fosse aplicada.
gcloud
Para criar uma política da organização no modo de simulação, crie um arquivo YAML que
define a restrição com dryRunSpec
. Exemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME dryRunSpec: rules: - enforce: true
Substitua:
RESOURCE_TYPE
pororganizations
,folders
ouprojects
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.CONSTRAINT_NAME
pelo nome da restrição personalizada. Por exemplo,custom.disableGkeAutoUpgrade
.
Essa política da organização não vai aplicar a restrição personalizada, mas os registros de auditoria mostram as violações como se o fizessem.
É possível definir uma política da organização ativa e uma política da organização no
modo de simulação no mesmo arquivo YAML, se você definir spec
e
dryRunSpec
. Exemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: false dryRunSpec: rules: - enforce: true
Para aplicar uma política da organização no modo de teste, use o comando org-policies set policy
. Para atualizar uma política da organização
no modo de simulação com novas restrições, use a flag --update-mask
. Exemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Substitua:
POLICY_PATH
com o caminho completo do arquivo YAML da política da organização.UPDATE_MASK
comspec
para atualizar apenas a política ativa oudryRunSpec
para atualizar apenas a política da organização no modo de simulação. Também é possível usar*
para atualizar os camposspec
edryRunSpec
. Se esse campo não for definido ao atualizar uma política de organização, o comando resultará em um erro e a política de organização não será atualizada.
É possível verificar se uma política da organização no modo de simulação está definida usando
o comando org-policies describe
. O campo dryRunSpec
só aparece se
existir na política da organização.
Essa política da organização não aplica a restrição personalizada. No entanto, os registros de auditoria mostram violações da restrição personalizada.
Criar uma política da organização no modo de simulação com base em uma política ativa
É possível usar uma política da organização existente como ponto de partida para uma política da organização no modo de simulação. Você pode fazer isso para saber o impacto que uma mudança na política atual teria no seu ambiente.
É possível criar uma política da organização no modo de simulação com base em uma política existente usando o console do Google Cloud ou a Google Cloud CLI.
Console
No console do Google Cloud, acesse a página Políticas da organização.
No seletor de projetos, selecione um recurso que já tenha a restrição Restringir o uso do serviço de recurso configurada.
Selecione a restrição Restringir o uso do serviço de recurso na lista da página Políticas da organização.
Selecione a guia Ao vivo.
Clique em Gerenciar política.
Clique em Adicionar regra.
Em Valores da política, selecione Personalizado.
Em Tipo de política, selecione Negar.
Na caixa Valores personalizados, insira
appengine.googleapis.com
.Clique em Concluído e em Definir política de simulação.
gcloud
Para criar uma política da organização no modo de simulação com base em uma política ativa, encontre a política atual no recurso usando o comando org-policies describe
. Exemplo:
gcloud org-policies describe gcp.restrictServiceUsage \ --project=PROJECT_ID
Substitua PROJECT_ID
pelo ID do projeto ou número do projeto em que essa política de organização está configurada.
A saída será parecida com esta:
name: projects/123456789012/policies/gcp.restrictServiceUsage spec: etag: CJy93KEGEKCJw/QB rules: - values: allowedValues: - compute.googleapis.com updateTime: '2023-04-12T21:11:56.512804Z'
Copie a saída desse comando para um arquivo temporário. Edite esse arquivo para
remover os campos etag
e updateTime
e mude o campo spec
para
dryRunSpec
. Faça as mudanças na configuração de restrição que você
quer testar na política da organização no modo de simulação.
O arquivo YAML concluído vai ficar mais ou menos assim:
name: projects/123456789012/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Para aplicar a política da organização no modo de simulação, use o
org-policies set policy
com a flag --update-mask
. Exemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Substitua POLICY_PATH
pelo caminho completo do
arquivo YAML da política temporária da organização.
Excluir uma política da organização no modo de simulação
É possível excluir uma política da organização no modo de simulação usando o Console do Google Cloud ou a Google Cloud CLI.
Console
No console do Google Cloud, acesse a página Políticas da organização.
No seletor de projetos, selecione o recurso em que você quer definir a política da organização.
Selecione a restrição Restringir o uso do serviço de recurso na lista da página Políticas da organização.
Selecione a guia Teste.
Clique em Excluir política de simulação.
gcloud
Para excluir uma política da organização no modo de simulação, crie um arquivo YAML que define a política da organização sem uma especificação de simulação. Exemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com
Substitua:
RESOURCE_TYPE
pororganizations
,folders
ouprojects
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Em seguida, use o comando org-policies set policy
com a flag --update-mask
definida como dryRunSpec
. Exemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Isso atualiza a política da organização atual para remover a especificação de simulação e ignora a parte ativa da especificação.
Para excluir políticas da organização ativas e em modo de simulação ao mesmo tempo, use o comando org-policies delete
. Exemplo:
gcloud org-policies delete CONSTRAINT_NAME \ --RESOURCE_TYPE=RESOURCE_ID
Substitua:
CONSTRAINT_NAME
pelo nome da restrição que você quer excluir. Por exemplo,gcp.restrictServiceUsage
.RESOURCE_TYPE
pororganizations
,folders
ouprojects
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Avaliação eficaz das políticas da organização no modo de simulação
As políticas da organização no modo de teste são herdadas de maneira semelhante a outras políticas da organização. Se uma política da organização no modo de simulação for definida em um recurso da organização, ela será herdada por todos os recursos descendentes, a menos que seja substituída em um nível inferior na hierarquia.
A avaliação de política efetiva mostra o resultado das políticas da organização que são mescladas nesse recurso. Portanto, os ajustes na política da organização ativa são refletidos na política efetiva da organização no modo de simulação, se a política do modo de simulação for herdada em vez de ser definida localmente.
Por exemplo, considere um recurso da organização, Organization A
, com uma política da organização ativa definida como enforced: false
e uma política da organização no modo de simulação definido como enforced: true
. Um recurso filho, Folder B
, também define
a política da organização ativa como enforced: false
e herda a
política da organização no modo de simulação. Em Folder B
, a política ativa definida significa que a avaliação de política efetiva da política da organização no modo de simulação também é enforce: false
, substituindo a política da organização no modo de simulação definida na organização pai.
Um recurso filho de Folder B
, Project X
, define a política ativa como
enforced: true
. Semelhante ao comportamento em Folder B
, a avaliação
eficaz da política da organização no modo de teste para Project X
é
enforced: true
, porque a política ativa está definida.
Outro recurso filho de Folder B
, Project Y
, define a política da organização
no modo de teste para enforced: true
. Ela herda a política da organização do recurso pai. Portanto, a avaliação efetiva é enforced: false
para a política ativa e enforced: true
para a política da organização no modo de simulação.
Recurso | Definir a política da organização | Política da organização em vigor | Definir a política da organização no modo de simulação | Política da organização eficaz no modo de teste |
---|---|---|---|---|
Organização A | enforced: false |
enforced: false |
enforced: true |
enforced: true |
Pasta B | enforced: false |
enforced: false |
Nenhum | enforced: false |
Pasta C | Nenhum | enforced: false |
Nenhum | enforced: true |
Projeto X | enforced: true |
enforced: true |
Nenhum | enforced: true |
Projeto Y | Nenhum | enforced: false |
enforced: true |
enforced: true |
Analisar os efeitos de uma política da organização no modo de simulação
Uma política da organização no modo de simulação não bloqueia nenhuma operação quando imposta. Para saber o efeito da sua política da organização, verifique os registros de auditoria da política da organização.
Os registros de auditoria de políticas da organização para políticas ativas e em modo de simulação são gerados com base na permissão ou negação da operação pelas políticas aplicadas ao recurso. A tabela a seguir descreve as situações em que um registro de auditoria de política da organização é gerado:
Política da organização ativa | Política da organização no modo de simulação | Registro de auditoria gerado |
---|---|---|
Permitir | Permitir | Não |
Permitir | Negar | Registro de auditoria somente no modo de teste |
Negar | Permitir | Geração de registros de auditoria no modo real e de teste |
Negar | Negar | Geração de registros de auditoria no modo real e de teste |
As violações da política da organização no modo de simulação aparecem junto com as violações no modo ativo nos registros de auditoria. Exemplo:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 7,
"message": "PERMISSION_DENIED"
},
"authenticationInfo": {},
"requestMetadata": {
"callerIp": "1.2.3.4",
"requestAttributes": {},
"destinationAttributes": {}
},
"serviceName": "appengine.googleapis.com",
"methodName": "google.api.appengine.v1.appengine.apps.services.get",
"resourceName": "projects/sur-project-test-3",
"metadata": {
"constraint": "constraints/gcp.restrictServiceUsage",
"checkedValue": "appengine.googleapis.com",
"liveResult": "ALLOWED",
"@type": "type.googleapis.com/google.cloud.audit.OrgPolicyDryRunAuditMetadata",
"dryRunResult": "DENIED"
}
},
"insertId": "1f2bvoxcmg1",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "sur-project-test-3",
"service": "appengine.googleapis.com",
"method": "google.api.appengine.v1.appengine.apps.services.get"
}
},
"timestamp": "2022-06-16T19:42:58.244990928Z",
"severity": "WARNING",
"logName": "projects/sur-project-test-3/logs/cloudaudit.googleapis.com%2Fpolicy",
"receiveTimestamp": "2022-06-16T19:42:59.572025716Z"
}
É possível usar o Explorador de registros para consultar apenas a política da organização em violações do modo de teste.
Console
No Console do Google Cloud, é possível usar a Análise de Registros para recuperar as entradas de registro de auditoria do projeto do Google Cloud, da pasta ou da organização:
No console do Google Cloud, acesse a página Logging> Análise de registros.
Selecione um projeto do Google Cloud, uma pasta ou uma organização.
No painel Criador de consultas, faça o seguinte:
Em Tipo de recurso, selecione o recurso do Google Cloud com os registros de auditoria que você quer consultar.
Em Nome do registro, selecione o tipo de registro de auditoria da política.
No painel Consulta, insira o seguinte:
protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"
Se você estiver com problemas para conferir registros na Análise de registros, consulte as informações de solução de problemas.
Para mais informações sobre como consultar usando o Explorador de Registros, consulte Criar consultas no Explorador de Registros.
gcloud
A Google Cloud CLI fornece uma interface de linha de comando para a API Logging. Insira um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um ID do projeto, o identificador do projeto que você fornecer precisará fazer referência ao nome do projeto selecionado.
Para ler as entradas de registro de auditoria para violações da política da organização no modo de simulação, execute o seguinte comando:
gcloud logging read protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED" \ --RESOURCE_TYPE=RESOURCE_ID \
Substitua:
RESOURCE_TYPE
pororganization
,folder
ouproject
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Adicione a sinalização --freshness
ao comando para ler registros com mais de um dia.
Saiba mais sobre como usar a CLI gcloud em
gcloud logging read
.
Se você tiver muitos projetos na sua organização, use coletores agregados para agregar e encaminhar as entradas de registro de auditoria de todos os projetos da organização para uma tabela do BigQuery. Para mais informações sobre como criar coletores agregados, consulte Agrupar e rotear registros no nível da organização para destinos compatíveis.
A seguir
Para mais informações sobre como criar e gerenciar restrições da política da organização, consulte Como usar restrições.