Controlando o Acesso para Chamar e Gerenciar Funções
Descubra como controlar as funções que os usuários podem chamar e gerenciar no OCI Functions.
Ao configurar uma tenancy para desenvolvimento de função, você especifica a seguinte instrução de política de identidade (conforme descrito em Instruções de Política para Dar aos Usuários do OCI Functions Acesso a Recursos Relacionados a Funções):
Allow group <group-name> to manage functions-family in compartment <compartment-name>
Essa política de identidade permite que usuários autenticados no grupo especificado gerencie (ou seja, crie, atualize e exclua) funções e aplicativos no compartimento nomeado e também permite que esses usuários chamem funções no compartimento. Essa política normalmente atende aos requisitos de funções dos desenvolvedores que desenvolvem e testam várias funções em sua organização.
No entanto, esta política de identidade pode ser permissiva demais para atender aos requisitos de segurança para controlar a chamada e o gerenciamento de funções em ambientes de produção. Por exemplo, em um ambiente de produção você pode impedir totalmente que os usuários chamem funções ou restringir os usuários a chamar apenas funções em um aplicativo específico ou chamar apenas uma função específica.
A especificação de uma sub-rede privada para um aplicativo não impede o acesso da internet aos pontos finais de chamada de funções no aplicativo. Use políticas de identidade para controlar o acesso a pontos finais de chamada de função, conforme descrito neste tópico.
Para controlar as funções que os usuários de um grupo podem chamar e gerenciar, configure políticas de identidade:
-
Para controlar as funções que um usuário pode chamar e gerenciar, confirme que não estão em um grupo que tenha recebido a permissão
manage functions-family
. - Se você quiser permitir que os usuários de um grupo criem, atualizem e excluam aplicativos e funções em um compartimento, mas não possam chamar funções, informe as seguintes instruções de política:
Allow group <group-name> to manage fn-app in compartment <compartment-name>
Allow group <group-name> to manage fn-function in compartment <compartment-name>
-
Se você quiser permitir chamadas apenas de funções específicas ou chamadas de funções apenas em aplicativos específicos, inclua a função apropriada e os OCIDs do aplicativo em instruções de política adequadas. Por exemplo:
- Para permitir que os usuários chamem todas as funções em um aplicativo específico, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.app.id = '<application-OCID>'
- Para permitir que os usuários chamem uma função específica, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.function.id = '<function-OCID>'
- Para permitir que os usuários chamem todas as funções em todos os aplicativos, exceto as funções de um aplicativo específico, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.app.id != '<application-OCID>'
- Para permitir que os usuários chamem todas as funções em um compartimento, exceto uma função específica, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.function.id != '<function-OCID>'
- Para permitir que os usuários chamem duas funções específicas, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where ANY {target.function.id='<function-OCID>', target.function.id='<function-OCID>'}
- Para permitir que os usuários chamem uma função específica juntamente com todas as funções em um aplicativo específico, informe uma instrução de política no seguinte formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where ANY {target.function.id='<function-OCID>', target.app.id='<application-OCID>'}
- Para permitir que os usuários chamem todas as funções em um aplicativo específico, informe uma instrução de política no seguinte formato:
-
Se você quiser permitir solicitações de chamada e gerenciamento de função somente de endereços IP específicos:
- Crie uma origem de rede para especificar os endereços IP permitidos, se uma origem de rede adequada ainda não existir (consulte https://docs.oracle.com/iaas/Content/Identity/Tasks/managingnetworksources.htm).
-
Adicione uma instrução de política para permitir que apenas esses endereços IP na origem de rede chamem ou gerenciem funções. Por exemplo:
-
Para permitir apenas solicitações de chamada de função de endereços IP definidos em uma origem de rede chamada
corpnet
, informe uma instrução de política no seguinte formato:Allow group <group-name> to use fn-invocation in compartment <compartment-name> where request.networkSource.name='corpnet'
-
Para permitir apenas solicitações de gerenciamento de função de endereços IP definidos em uma origem de rede chamada
corpnet
, digite uma instrução de política no seguinte formato:Allow group <group-name> to manage functions-family in compartment <compartment-name> where request.networkSource.name='corpnet'
-