Criando Políticas para Controlar o Acesso à Rede e aos Recursos Relacionados a Funções
Descubra como criar políticas para controlar o acesso dos usuários e do serviço OCI Functions a recursos de rede e relacionados a funções.
Para que os usuários possam começar a usar o OCI Functions para criar e implantar funções, como um administrador da tenancy, você precisa criar várias instruções de política do Oracle Cloud Infrastructure para conceder acesso a recursos relacionados a funções e à rede.
Use o Policy Builder para criar uma política adequada, selecionando Funções como o Caso de Uso da Política e, em seguida, selecionando o modelo de política Permitir que os usuários criem, implantem e gerenciem funções e aplicativos. Esse modelo de política contém todas as instruções de política necessárias para usar o OCI Functions. Consulte Criando Instruções de Política com o Policy Builder.
Como alternativa, você pode criar uma ou mais políticas que contenham as instruções de política (siga as instruções em Para criar uma política).
Instruções da política
Objetivo: | Criar em: | Instrução: |
---|---|---|
Permite que os usuários obtenham a string de namespace do serviço Object Storage da tenancy | Compartimento Raiz |
Allow group <group-name> to read objectstorage-namespaces in tenancy
|
Fornece aos usuários acesso a repositórios no Oracle Cloud Infrastructure Registry | Compartimento que possui o repositório ou o compartimento raiz | Allow group <group-name> to manage repos in tenancy|<compartment-name> |
Quando os usuários do OCI Functions trabalham com funções, eles têm de acessar repositórios no Oracle Cloud Infrastructure Registry. Os usuários só podem acessar repositórios aos quais o grupo a que pertencem tenham recebido acesso. Para permitir que os usuários acessem um repositório, as instruções de política devem conceder acesso aos grupos a esse repositório.
A instrução de política Allow group <group-name> to read objectstorage-namespaces in tenancy
permite que os usuários obtenham a string de namespace do serviço Object Storage gerada automaticamente da tenancy, que é necessária para fazer log-in no Oracle Cloud Infrastructure Registry. Esta instrução de política também fornece acesso a logs de função armazenados em um bucket de armazenamento no Oracle Cloud Infrastructure Object Storage (consulte Armazenando e Exibindo Logs de Função).
Se você usar a instrução de política Allow group <group-name> to manage repos in tenancy
para conceder aos usuários acesso a repositórios no Oracle Cloud Infrastructure Registry, observe que essa instrução de política concede ao grupo permissão para gerenciar todos os repositórios na tenancy. Se você considerar isso como muito permitido, poderá restringir os repositórios aos quais o grupo tem acesso, incluindo uma cláusula where na instrução manage repos
. Observe que, se você incluir uma cláusula where, também deverá incluir uma segunda instrução na política para permitir que o grupo inspecione todos os repositórios na tenancy (ao usar a Console). Por exemplo, as instruções de política a seguir restringem o grupo a acessar apenas repositórios com nomes que iniciam com 'acme-web-app', mas também permitem que o grupo inspecione todos os repositórios na tenancy:
Allow group acme-functions-developers to inspect repos in tenancy
Allow group acme-functions-developers to manage repos in tenancy where all {target.repo.name=/acme-web-app*/ }
Objetivo: | Criar em: | Instrução: |
---|---|---|
Dá aos usuários acesso a recursos relacionados a funções | Compartimento que possui recursos relacionados a funções | Allow group <group-name> to manage functions-family in compartment <compartment-name>
|
Fornece aos usuários acesso às métricas emitidas pelo OCI Functions | Compartimento que possui recursos relacionados a funções | Allow group <group-name> to read metrics in compartment <compartment-name> |
Quando os usuários do OCI Functions criam funções e aplicativos, eles têm de especificar um compartimento para esses recursos relacionados a funções (incluindo métricas emitidas pelo OCI Functions). Os usuários só podem especificar um compartimento ao qual o grupo a que pertencem tenham recebido acesso. Para permitir que os usuários especifiquem um compartimento, as instruções de política deverão conceder acesso a esses grupos.
A instrução de política Allow group <group-name> to manage functions-family in compartment <compartment-name>
dá aos usuários acesso a recursos relacionados a funções.
A instrução de política Allow group <group-name> to read metrics in compartment <compartment-name>
fornece aos usuários acesso às métricas emitidas pelo OCI Functions.
Objetivo: | Criar em: | Instrução: |
---|---|---|
Dá aos usuários acesso a recursos de log | Compartimento Raiz |
|
Quando os usuários do OCI Functions definem um aplicativo, eles podem ativar o registro em log para armazenar e exibir logs de função no serviço Oracle Cloud Infrastructure Logging. Os usuários só podem exibir os logs dos grupos aos quais pertencem e tenham recebido acesso. Para permitir que os usuários armazenem e exibam logs de funções no serviço Oracle Cloud Infrastructure Logging, uma instrução de política deve conceder aos grupos acesso aos recursos de log.
A instrução de política Allow group <group-name> to manage logging-family in compartment <compartment-name>
dá aos usuários acesso total a recursos de log no compartimento que possuirão recursos de log
Objetivo: | Criar em: | Instrução: |
---|---|---|
Dá aos usuários acesso aos recursos de rede | Compartimento que possui recursos de rede | Allow group <group-name> to use virtual-network-family in compartment <compartment-name>
|
Quando os usuários do OCI Functions criam uma função ou aplicativo, eles têm de especificar uma VCN e uma sub-rede para criá-los. Os usuários só podem especificar VCNs e sub-redes em compartimentos aos quais os grupos aos quais eles pertencem tenham recebido acesso. Para permitir que os usuários especifiquem uma VCN e uma sub-rede, uma instrução de política deverá conceder acesso aos grupos ao compartimento.
Quando os usuários do OCI Functions desejam definir regras de entrada e saída que se aplicam a todas as funções de um determinado aplicativo usando um NSG, eles podem adicionar o aplicativo a esse NSG. Para adicionar um aplicativo a um NSG, uma instrução de política semelhante deve conceder aos grupos aos quais os usuários pertencem acesso ao compartimento ao qual o NSG pertence. Observe que o NSG pode pertencer a outro compartimento da sub-rede da função. Para obter mais informações, consulte Adicionando Aplicativos a Grupos de Segurança de Rede (NSGs).
Objetivo: | Criar em: | Instrução: |
---|---|---|
Dá ao serviço OCI Functions acesso aos recursos de rastreamento | Compartimento que possui recursos de rastreamento ou o compartimento raiz |
|
Dá aos usuários acesso aos recursos de rastreamento | Compartimento que possui recursos de rastreamento ou o compartimento raiz |
|
Quando os usuários do OCI Functions querem investigar por que uma função não é executada ou executada conforme esperado, eles podem usar o rastreamento para depurar problemas de execução e desempenho. Para usar o rastreamento, os usuários precisam ativar o rastreamento do aplicativo que contém a função e, em seguida, ativar o rastreamento de uma ou mais funções. Em seguida, os usuários podem exibir rastreamentos de função no Explorador de Rastreamento do Application Performance Monitoring (APM). Para obter mais informações, consulte Rastreamento Distribuído para Funções.
Os usuários só poderão ativar o rastreamento se o grupo ao qual pertencem puder acessar domínios do APM existentes (ou criar novos domínios do APM) e se o OCI Functions puder acessar domínios do APM. Para permitir que os usuários ativem o rastreamento e exibam rastreamentos, as instruções de política devem conceder ao grupo e ao OCI Functions acesso aos domínios do APM.
A instrução de política Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name>
dá aos usuários acesso a recursos de rastreamento no compartimento ou em toda a tenancy. Se você quiser permitir que os usuários criem novos domínios do APM (e excluam domínios do APM), especifique manage apm-domains
em vez de use apm-domains
.
A instrução de política Allow service faas to use apm-domains in tenancy|compartment <compartment-name>
dá ao OCI Functions acesso aos domínios do APM no compartimento ou em toda a tenancy.
Objetivo: | Criar em: | Instrução: |
---|---|---|
Fornece ao serviço OCI Functions acesso para verificar chaves de criptografia principais no Oracle Cloud Infrastructure Vault | Compartimento que possui o vault e/ou a chave de criptografia principal ou o compartimento raiz |
(se você precisar de instruções de política mais restritivas, consulte os exemplos a seguir) |
Fornece ao serviço OCI Functions acesso a imagens assinadas no Oracle Cloud Infrastructure Registry | Compartimento Raiz |
|
Fornece aos usuários acesso a vaults e chaves de criptografia principais no Oracle Cloud Infrastructure Vault | Compartimento que possui o vault e/ou a chave de criptografia principal ou o compartimento raiz |
(se você precisar de instruções de política mais restritivas, consulte os exemplos a seguir) |
Fornece aos usuários acesso a imagens assinadas no Oracle Cloud Infrastructure Registry | Compartimento Raiz |
|
Os usuários podem configurar aplicativos do OCI Functions para permitir apenas a criação, atualização, implantação e chamada de funções com base em imagens no Oracle Cloud Infrastructure Registry que foram assinadas por chaves de criptografia principais específicas.
Para criar uma política de verificação de assinatura e criar e implantar imagens de função assinadas, os usuários devem ter acesso a chaves de criptografia principais em vaults definidos no Oracle Cloud Infrastructure Vault. Da mesma forma, para impor uma política de verificação de assinatura definida para um aplicativo, o serviço OCI Functions também deve ter acesso a chaves de criptografia principais definidas no Oracle Cloud Infrastructure Vault.
Você pode restringir as chaves de criptografia principais que podem ser usadas para assinatura de imagem de função e verificação de assinatura. Por exemplo, usando políticas como:
Allow service faas to {KEY_READ} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'GetKeyVersion'
Allow service faas to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Allow group <groupname> to {KEY_READ} in compartment <compartment-name> where ALL {target.key.id = '<ocid-of-key-in-verification-policy>', ANY {request.operation = 'GetKey', request.operation = 'GetKeyVersion'}}
Allow group <groupname> to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Para obter mais informações e exemplos, consulte Assinando Imagens de Função e Impondo o Uso de Imagens Assinadas do Registro.