AGoogle Cloud política da organização oferece controle centralizado e programático sobre os recursos da sua organização. Como administrador de políticas da organização, você pode definir uma política da organização, que é um conjunto de restrições chamadas de limites que se aplicam aos recursos do Google Cloud e aos descendentes desses recursos na hierarquia de recursos doGoogle Cloud . É possível aplicar políticas da organização no nível da organização, da pasta ou do projeto.
A política da organização fornece restrições predefinidas para diversos serviços doGoogle Cloud . No entanto, se você quiser um controle mais granular e personalizável sobre os campos específicos restritos nas suas políticas da organização, crie também restrições personalizadas. Para implementar uma restrição personalizada na plataforma CCAI, é necessário configurar as instâncias para acesso privado. Isso restringe o acesso à Internet pública a essas instâncias, o que significa que você precisa configurar o Private Service Connect para que seus agentes, gerentes e administradores da plataforma CCAI possam acessá-las. Para mais informações, consulte Configurar o Private Service Connect.
Vantagens
As políticas da organização para a plataforma CCAI permitem que os administradores Google Cloudapliquem restrições em toda a organização em caminhos de rede que não são cobertos pelo VPC Service Controls. Além disso, essas políticas oferecem controle detalhado sobre os caminhos de entrada e saída ao particionar o tráfego de rede em componentes. Para mais informações, consulte Componentes.
Herança de políticas
Por padrão, as políticas da organização são herdadas pelos elementos que descendem dos recursos em que elas são aplicadas. Por exemplo, se você aplicar uma política a uma pasta, o Google Cloud vai aplicá-la a todos os projetos dessa pasta. Para saber mais sobre esse comportamento e como alterá-lo, consulte Regras de avaliação de hierarquia.
Preços
O Organization Policy Service, incluindo políticas predefinidas e personalizadas, é oferecido sem custos financeiros.
Limitações
A plataforma CCAI não é integrada ao Inventário de recursos do Cloud. Portanto, o recurso Simulador de política da Política de IA não está disponível para a política da organização da plataforma CCAI.
Antes de começar
Antes de começar, faça o seguinte:
- Siga as etapas em Configurar seu projeto Google Cloud para a CCAI Platform.
- Para instalar e inicializar a CLI Google Cloud , faça o seguinte:
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
- Certifique-se de conhecer o ID da organização.
Funções exigidas
Para receber as permissões necessárias para gerenciar políticas da organização, peça ao administrador que conceda a você os seguintes papéis do IAM:
- Administrador de políticas da organização (
roles/orgpolicy.policyAdmin) no recurso da organização -
Para ter acesso total aos recursos da plataforma CCAI:
Administrador da plataforma Contact Center AI (
roles/contactcenteraiplatform.admin) no recurso do projeto -
Para ativar, desativar e inspecionar estados de serviço, inspecionar operações e consumir cota e faturamento para um projeto de consumidor:
Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin) no recurso do projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para gerenciar políticas da organizações. 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.customConstraints.get -
orgpolicy.customConstraints.list -
orgpolicy.customConstraints.create -
orgpolicy.customConstraints.update -
orgpolicy.customConstraints.delete
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Componentes
Você usa componentes ao criar restrições personalizadas em instâncias da plataforma CCAI. Os componentes são abstrações de caminhos de rede associados a funcionalidades específicas da Plataforma CCAI. Por exemplo, o componente agente representa o grupo de todos os caminhos de rede de entrada relacionados às tarefas que um agente, gerente ou administrador da plataforma CCAI realiza.
A tabela a seguir mostra os componentes usados nas restrições personalizadas da plataforma CCAI:
| Componente | Descrição | Direção do tráfego | Valor de exemplo |
|---|---|---|---|
AGENT |
O grupo de todos os caminhos de rede de entrada relacionados às tarefas que um agente, gerente ou administrador da plataforma de IA de contato faz. | Entrada | AGENT |
CRM |
Tráfego de saída para um app de gestão de relacionamento com o cliente (CRM). | Saída | CRM |
MEDIA |
Tráfego de saída de mídia. | Saída | MEDIA |
DIRECT_ACCESS_POINT |
Tráfego de saída para um endpoint de acesso direto (DAP, na sigla em inglês). | Saída | DIRECT_ACCESS_POINT |
EMAIL |
Tráfego de saída de e-mail. | Saída | EMAIL |
COBROWSE |
Tráfego de saída do compartilhamento de tela. | Saída | COBROWSE |
Criar uma restrição personalizada
Uma restrição personalizada é definida em um arquivo YAML pelos recursos, métodos, condições e ações compatíveis com o serviço em que você está aplicando a política da organização. As condições das restrições personalizadas são definidas usando a Common Expression Language (CEL). Para mais informações sobre como criar condições em restrições personalizadas usando a CEL, consulte a seção sobre a CEL em Como criar e gerenciar restrições personalizadas.
Para definir uma restrição personalizada em um arquivo YAML para a plataforma CCAI, siga estas etapas:
Crie um arquivo de texto com as seguintes linhas:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "CONDITION" actionType: ACTION_TYPE displayName: "DISPLAY_NAME" description: "DESCRIPTION"Substitua:
ORGANIZATION_ID: o código da sua organização.CONSTRAINT_NAME: o nome da sua restrição personalizada. Uma restrição personalizada precisa começar com um prefixocustom.e só pode incluir letras maiúsculas, minúsculas ou números, por exemplo,custom.requirePrivateAccess. Esse campo pode ter até 70 caracteres, sem contar o prefixo.CONDITION: uma condição de CEL gravada em uma representação de um recurso de serviço compatível, por exemplo,resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT'). Esse campo tem um comprimento máximo de 1000 caracteres. Para mais informações sobre os recursos disponíveis para gravar condições, consulte Recursos e operações compatíveis com a plataforma CCAI. Para mais informações sobre componentes, consulte Componentes.ACTION_TYPE: a ação a ser realizada se oconditionfor atendido. EspecifiqueALLOW.DISPLAY_NAME: um nome legível para a restrição. Esse campo pode ter no máximo 200 caracteres.DESCRIPTION: uma descrição legível da restrição a ser exibida como uma mensagem de erro quando a política for violada. Esse campo tem um comprimento máximo de 2000 caracteres.
Salve a restrição personalizada como um arquivo YAML. Por exemplo,
customconstraint.yaml. Use o caminho para esse arquivo como o valor da variávelCONSTRAINT_PATHem Configurar uma restrição personalizada.
Para mais informações sobre políticas personalizadas da organização e sintaxe de restrição, consulte Exemplos de políticas personalizadas da organização para casos de uso comuns.
Configurar uma restrição personalizada
Console
Para criar uma restrição personalizada, faça o seguinte:
- No console do Google Cloud , acesse a página Políticas da organização.
- No seletor de projetos, selecione o projeto em que você quer definir a política da organização.
- Clique em Restrição personalizada.
- Na caixa Nome de exibição, insira um nome legível para a restrição. Esse nome é usado em mensagens de erro e pode ser usado para identificação e depuração. Não use informações de identificação pessoal (PII) ou dados sensíveis em nomes de exibição, porque eles podem ser expostos em mensagens de erro. Esse campo pode ter até 200 caracteres.
-
Na caixa ID da restrição, insira o ID que você quer para a nova restrição personalizada. Uma restrição personalizada só pode conter letras (maiúsculas e minúsculas) ou
números, por exemplo,
custom.requirePrivateAccess. Esse campo pode conter até 70 caracteres, sem contar o prefixo (custom.), por exemplo,organizations/123456789/customConstraints/custom. Não inclua PII ou dados sensíveis no ID da restrição, porque eles podem ser expostos em mensagens de erro. - Na caixa Descrição, insira uma descrição legível da restrição. Essa descrição é usada como uma mensagem de erro quando a política é violada. Inclua detalhes sobre o motivo da violação e como resolver o problema. Não inclua PII ou dados sensíveis na descrição, porque eles podem ser expostos em mensagens de erro. Esse campo pode conter até 2.000 caracteres.
-
Na caixa Tipo de recurso, selecione o nome do recurso REST do Google Cloud
que contém o objeto e o campo que você quer restringir. Por exemplo,
container.googleapis.com/NodePool. A maioria dos tipos de recursos aceita até 20 restrições personalizadas. Se você tentar criar mais restrições personalizadas, a operação vai falhar. -
Essa restrição só pode ser aplicada no método REST
CREATE. - Para definir uma condição, clique em Editar condição.
-
No painel Adicionar condição, crie uma condição de CEL que se refira a um recurso de serviço compatível, por exemplo,
resource.management.autoUpgrade == false. Esse campo pode ter até 1.000 caracteres. Para detalhes sobre o uso da CEL, consulte Common Expression Language. Para mais informações sobre os recursos de serviço que você pode usar nas restrições personalizadas, consulte Serviços compatíveis com restrição personalizada. - Clique em Salvar.
- Em Ação, selecione se você quer permitir ou negar o método avaliado quando a condição é atendida.
- Clique em Criar restrição.
Para ver os métodos compatíveis para cada serviço, encontre o serviço em Serviços que aceitam restrições personalizadas.
A ação de negação significa que a operação para criar ou atualizar o recurso será bloqueada se a condição for avaliada como verdadeira.
A ação de permissão significa que a operação para criar ou atualizar o recurso só é permitida se a condição for avaliada como verdadeira. Todos os outros casos, exceto os listados explicitamente na condição, estão bloqueados.
Quando você digita um valor em cada campo, a configuração YAML equivalente à restrição personalizada é exibida à direita.
gcloud
- Para criar uma restrição personalizada, crie um arquivo YAML com o seguinte formato:
-
ORGANIZATION_ID: o ID da organização, como123456789. -
CONSTRAINT_NAME: o nome da sua nova restrição personalizada. Uma restrição personalizada só pode conter letras (maiúsculas e minúsculas) ou números, por exemplo,custom.requirePrivateAccess. Esse campo pode conter até 70 caracteres, sem contar o prefixo (custom.), por exemplo,organizations/123456789/customConstraints/custom. Não inclua PII ou dados sensíveis no ID da restrição, porque eles podem ser expostos em mensagens de erro. -
RESOURCE_NAME: o nome totalmente qualificado do recurso Google Cloud que contém o objeto e o campo que você quer restringir. Por exemplo,contactcenteraiplatform.googleapis.com/ContactCenter. A maioria dos tipos de recursos aceita até 20 restrições personalizadas. Se você tentar criar mais restrições personalizadas, a operação vai falhar. -
methodTypes: os métodos REST em que a restrição é aplicada. Só pode serCREATE. -
CONDITION: uma condição de CEL gravada em uma representação de um recurso de serviço compatível. Esse campo pode conter até 1.000 caracteres. Por exemplo,.resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT') -
ACTION: a ação a ser realizada se oconditionfor atendido. Só pode serALLOW. -
DISPLAY_NAME: um nome legível para a restrição. Esse nome é usado em mensagens de erro e pode ser usado para identificação e depuração. Não use PII ou dados sensíveis em nomes de exibição, porque eles podem ser expostos em mensagens de erro. Esse campo pode ter até 200 caracteres. -
DESCRIPTION: uma descrição legível da restrição a ser exibida como uma mensagem de erro quando a política for violada. Esse campo pode conter até 2.000 caracteres. -
Depois de criar o arquivo YAML para uma nova restrição personalizada, faça a configuração
necessária para disponibilizá-la para as políticas da organização. Para configurar uma restrição personalizada, use o comando
gcloud org-policies set-custom-constraint: -
Para verificar se a restrição personalizada existe, use o
comando
gcloud org-policies list-custom-constraints:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: RESOURCE_NAME methodTypes: - CREATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
Substitua:
Para ver os métodos compatíveis com cada serviço, encontre o serviço em Serviços que aceitam restrições personalizadas.
Para mais informações sobre os recursos disponíveis para gravação de condições, consulte Recursos compatíveis.
A ação "permitir" significa que, se a condição for avaliada como verdadeira, a operação para criar ou atualizar o recurso será permitida. Isso também significa que todos os outros casos, exceto o listado explicitamente na condição, estão bloqueados.
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
Substitua CONSTRAINT_PATH pelo caminho completo do arquivo de restrição personalizada. Por exemplo, /home/user/customconstraint.yaml.
Após a conclusão, as restrições personalizadas vão estar disponíveis como políticas da organização na lista de políticas da organização do Google Cloud .
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
Substitua ORGANIZATION_ID pelo ID do recurso da organização.
Para mais informações, consulte Como visualizar políticas da organização.
Aplicar uma restrição personalizada
Para aplicar uma restrição booleana, crie uma política da organização que faça referência a ela e aplique essa política a um recurso do Google Cloud .
Para aplicar uma restrição personalizada, siga estas etapas:
Para criar uma política da organização que aplique uma restrição booleana, crie um arquivo YAML da política que faça referência à seguinte restrição:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: trueSubstitua:
PROJECT_ID: o projeto em que você quer aplicar a restrição.CONSTRAINT_NAME: o nome definido para sua restrição personalizada. Por exemplo,custom.requirePrivateAccess.
Para aplicar a política da organização que contém a restrição, execute o seguinte comando:
gcloud org-policies set-policy POLICY_PATHSubstitua
POLICY_PATHpelo caminho completo para o arquivo YAML da política da organização. A política levará até 15 minutos para entrar em vigor.
Testar a restrição personalizada
Uma restrição personalizada, conforme definido em Criar uma restrição personalizada (com um componente do tipo AGENT, como no exemplo na descrição de CONDITION), impõe os seguintes comportamentos:
A criação ou atualização de uma instância com um componente do tipo
AGENTé bem-sucedida. Para mais informações, consulte Criar e atualizar uma instância da plataforma CCAI com um componente do tipoAGENT.A criação ou atualização de uma instância sem um componente do tipo
AGENTfalha. Para mais informações, consulte Criar uma instância da plataforma CCAI sem um componente do tipoAGENTe Atualizar uma instância da plataforma CCAI sem um componente do tipoAGENT.
Criar e atualizar uma instância da plataforma CCAI com um componente do tipo AGENT
Para testar a criação e atualização de uma instância da CCAI Platform com um componente
do tipo AGENT, siga estas etapas:
Crie, configure e aplique uma restrição personalizada conforme indicado neste documento.
Crie uma instância conforme indicado em Criar uma instância da plataforma CCAI configurada para acesso privado. A criação da instância é concluída.
Para atualizar a instância, faça o seguinte:
No console Google Cloud , no menu de navegação, clique em Plataforma CCAI.
A página Instâncias da plataforma CCAI é exibida.
Clique no nome da instância que você criou anteriormente neste procedimento.
Clique em Editar e em Configurar implantações.
Mude a programação de implantação e clique em Salvar. A atualização é concluída.
Como você criou uma instância privada da plataforma CCAI, é necessário configurar uma conexão do Private Service Connect para acessá-la.
Criar uma instância da plataforma CCAI sem um componente do tipo AGENT
Para testar a criação e atualização de uma instância da plataforma CCAI sem um
componente do tipo AGENT, siga estas etapas:
Crie, configure e aplique uma restrição personalizada conforme indicado neste documento.
Tente criar uma instância conforme indicado em Criar uma instância da plataforma CCAI, sem configurar o acesso privado. A criação da instância falha.
Atualizar uma instância da plataforma CCAI sem um componente do tipo AGENT
Conforme demonstrado em Criar uma instância da plataforma CCAI sem um componente
do tipo AGENT, não é possível
criar uma instância sem um componente do tipo AGENT depois de aplicar a
restrição personalizada. Se você já tinha uma instância desse tipo antes de aplicar a restrição personalizada, depois de aplicar a restrição, as atualizações da instância vão falhar, a menos que incluam a adição de um componente do tipo AGENT. Consulte a observação a seguir.
Recursos e operações com suporte da plataforma CCAI
A tabela a seguir mostra os recursos e as operações compatíveis com restrições personalizadas da política da organização.
| Recurso | Ação | Atributo | Operador | Exemplo de condição |
|---|---|---|---|---|
| ContactCenter | Crie ou atualize uma instância. Para mais informações, consulte Criar uma instância da plataforma CCAI. | nome | contém | resource.name.contains("us-central1/contactCenters/myContactCenter") |
| correspondências | resource.name.matches("projects/my-project/locations/us-central1/contactCenters/myContactCenter") |
|||
| startsWith | resource.name.startsWith("projects/my-project") |
|||
| endsWith | resource.name.endsWith("myContactCenter") |
|||
| privateAccess | existe |
resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT')
Verifica se o componente |
Exemplos de políticas personalizadas da organização para casos de uso comuns
A tabela a seguir mostra a sintaxe de algumas políticas da organização personalizadas que podem ser úteis:
| Descrição | Sintaxe da restrição |
|---|---|
Todos os componentes especificados são particulares, ou seja, AGENT). |
name: organizations/ORGANIZATION_ID/customConstraints/custom.requirePrivateAccess resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT')" actionType: ALLOW displayName: Agents cannot connect over the internet. description: Internet access is disallowed for agents. |
Todas as instâncias, exceto a única especificada, precisam usar o AGENT particular especificado. |
name: organizations/ORGANIZATION_ID/customConstraints/custom.requirePrivateAccess resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT' || resource.name.contains('myContactCenterId')" actionType: ALLOW displayName: Restrict Internet access to AGENT for all instances except a single instance. description: Internet access for agents is restricted except for myContactcenterId CCAI Platform instances. |
A seguir
- Introdução ao Organization Policy Service.
- Como usar restrições
- Como criar e gerenciar políticas personalizadas da organização
- Restrições das políticas da organização