Adicionando Atributos de Segurança a Aplicativos e Aplicando Políticas de ZPR

Descubra como adicionar atributos de segurança a aplicativos e como aplicar políticas de Zero Trust Packet Routing (ZPR) com o OCI Functions.

O uso do Zero Trust Packet Routing (ZPR) com o OCI Functions permite que você implemente um controle de acesso refinado e com menos privilégios sobre interações entre funções e outros recursos do OCI. O ZPR é especialmente útil em ambientes em que dados confidenciais ou operações críticas são distribuídos em vários recursos da OCI, e é necessária a separação e o controle rigorosos do acesso a recursos. O uso do ZPR ajuda a mitigar os riscos associados ao acesso não autorizado e garante que apenas o tráfego permitido explicitamente flua entre recursos protegidos, oferecendo suporte às necessidades de conformidade e às políticas de segurança organizacional.

Você pode usar o ZPR (Zero Trust Packet Routing) com ou no lugar de grupos de segurança de rede para gerenciar o acesso à rede para recursos do OCI. Para fazer isso, defina políticas de ZPR que controlam como os recursos se comunicam entre si e, em seguida, adicione atributos de segurança a esses recursos. Para obter mais informações, consulte Roteamento de Pacotes de Confiança Zero.

Cuidado

Se um ponto final tiver um atributo de segurança ZPR (Zero Trust Packet Routing), o tráfego para o ponto final deverá atender às políticas de ZPR e também a todas as regras de NSG e lista de segurança. Por exemplo, se você já estiver usando NSGs e adicionar um atributo de segurança a um ponto final, todo o tráfego para o ponto final será bloqueado. A partir daí, uma política de ZPR deve permitir explicitamente o tráfego para o ponto final.

Para usar o ZPR com o OCI Functions, você adiciona atributos de segurança a um aplicativo em uma tenancy ativada para ZPR. Após adicionar um atributo de segurança a um aplicativo, as funções no aplicativo só poderão acessar outros recursos do OCI se o acesso for permitido por uma política de ZPR.

Os atributos de segurança são definidos em um namespace de atributo de segurança. Para adicionar um atributo de segurança a um aplicativo, uma política do serviço IAM deve conceder ao grupo ao qual você pertence acesso ao namespace no qual o atributo de segurança está definido. Para obter mais informações, consulte Política de IAM obrigatória para adicionar atributos de segurança a aplicativos.

Para ativar funções em um aplicativo ao qual você adicionou um atributo de segurança para acessar outros recursos do OCI, uma política de ZPR adequada deve existir. Se essa política de ZPR não existir, você precisará criar uma. Se os atributos de segurança também tiverem sido adicionados aos outros recursos, você poderá criar uma política ZPR que permita explicitamente que as funções acessem recursos com esses atributos de segurança. Se os atributos de segurança não tiverem sido adicionados aos outros recursos que você deseja que as funções acessem, você poderá usar 'osn-services-ip-addresses' como ponto final para criar uma política de ZPR mais permissiva. Sem uma política de ZPR adequada, o acesso das funções a outros recursos é bloqueado no nível da rede e podem ocorrer erros de conexão dentro do código da função. Para obter mais informações, consulte Política de ZPR necessária para permitir que aplicativos (e funções) acessem outros recursos.

Importante

Para chamar com sucesso funções em um aplicativo ao qual você adicionou um atributo de segurança, uma política de ZPR adequada deve existir para permitir o acesso aos repositórios do Oracle Cloud Infrastructure Registry que contêm as imagens nas quais as funções se baseiam. Se não existir uma política ZPR adequada, as funções não poderão ser chamadas com sucesso porque não será possível extrair imagens dos repositórios.

Para obter mais informações sobre a política de ZPR a ser criada, consulte Política de ZPR obrigatória para permitir que imagens de função sejam extraídas do Oracle Cloud Infrastructure Registry.

Observe os pontos a seguir:

  • Para ver os aplicativos aos quais os atributos de segurança foram adicionados, use a página Console do ZPR (consulte Listando Recursos Protegidos na documentação do ZPR). A página Console do ZPR também exibe VNICs criadas pelo OCI Functions, com o nome para exibição de cada VNIC definido como o OCID do aplicativo proprietário.
  • Após adicionar atributos de segurança a um aplicativo, você pode usar o Analisador de Caminho de Rede para ajudar a depurar quaisquer problemas de conectividade de rede encontrados por funções no aplicativo.
  • No momento, não há suporte para o uso de atributos de segurança e políticas ZPR para restringir o acesso aos recursos do OCI Functions de outros serviços do OCI no nível da rede.
  • Se você tiver adicionado um atributo de segurança a um aplicativo e a Console, a CLI ou a API do ZPR forem subsequentemente usadas para excluir o atributo de segurança do namespace do atributo de segurança, será necessário remover manualmente o atributo de segurança do aplicativo. Se você não remover o atributo de segurança excluído do aplicativo, serão retornados 502 erros quando as funções no aplicativo forem chamadas.

Você pode adicionar ou remover atributos de segurança de ou para aplicativos usando a Console, a CLI do OCI e a API.

Política obrigatória do IAM para adicionar atributos de segurança aos aplicativos

Para que você possa adicionar um atributo de segurança a um aplicativo, uma política do serviço IAM deve conceder ao grupo ao qual você pertence permissão para usar o namespace do atributo de segurança que contém o atributo de segurança.

Por exemplo:

Allow group acme-functions-developers to use security-attribute-namespaces in tenancy

Para obter mais informações, consulte Instrução de Política para Conceder aos Usuários do OCI Functions Acesso a Namespaces de Atributo de Segurança.

Observe que, se não existir uma política adequada do IAM para usar o namespace do atributo de segurança, você não poderá adicionar o atributo de segurança ao aplicativo. O atributo de segurança não é mostrado na Console e as tentativas de adicionar o atributo de segurança usando a CLI do OCI ou a API retornam uma mensagem de erro 404 - Não Encontrado.

Política de ZPR necessária para permitir que aplicativos (e funções) acessem outros recursos

Quando você adiciona um atributo de segurança a um aplicativo do OCI Functions, as funções desse aplicativo só poderão acessar outros recursos se uma política de ZPR conceder ao aplicativo acesso a esses recursos.

Se uma política de ZPR adequada ainda não existir, você precisará criar uma. Por exemplo, usando a seguinte sintaxe:

in <vcn-security-attribute> VCN allow <application-security-attribute> endpoints to connect to <destination-security-attribute> endpoints

em que:

  • <vcn-security-attribute> é um atributo (e valor) de segurança que foi adicionado à VCN na qual reside a sub-rede do aplicativo. Por exemplo, VCN-Network:myVCN.
  • <application-security-attribute> é o atributo de segurança (e o valor) que você adicionou ao aplicativo. Por exemplo, functions-app:myFuncAppA
  • <destination-security-attribute> é um atributo de segurança (e valor) que foi adicionado ao recurso que você deseja que as funções no aplicativo acessem. Por exemplo, DB-Server:App1

Por exemplo:

in VCN-Network:myVCN VCN allow functions-app:myFuncAppA endpoints to connect to DB-Server:App1 endpoints

Para obter mais informações sobre políticas, sintaxe e exemplos de ZPR, consulte Política de Roteamento de Pacote de Confiança Zero na documentação do ZPR.

Política de ZPR necessária para permitir que imagens de função sejam extraídas do Oracle Cloud Infrastructure Registry

Para chamar com sucesso funções em um aplicativo ao qual você adicionou um atributo de segurança, uma política de ZPR deve existir para permitir o acesso aos repositórios do Oracle Cloud Infrastructure Registry que contêm as imagens nas quais as funções se baseiam.

Se ainda não existir uma política de ZPR adequada, você deverá criar uma política de ZPR usando a seguinte sintaxe:

in <vcn-security-attribute> VCN allow <application-security-attribute> endpoints to connect to 'osn-services-ip-addresses'

em que:

  • <vcn-security-attribute> é um atributo (e valor) de segurança que foi adicionado à VCN na qual reside a sub-rede do aplicativo. Por exemplo, VCN-Network:myVCN
  • <application-security-attribute> é o atributo de segurança (e o valor) que você adicionou ao aplicativo. Por exemplo, functions-app:myFuncAppA

Por exemplo:

in VCN-Network:myVCN VCN allow functions-app:myFuncAppA endpoints to connect to 'osn-services-ip-addresses'

Se não existir uma política de ZPR adequada, quando uma função for chamada, o OCI Functions não poderá extrair a imagem do Oracle Cloud Infrastructure Registry e retornará a seguinte mensagem de erro:

Fn: Error invoking function. status: 502 message: Failed to pull function image

Para obter mais informações sobre políticas, sintaxe e exemplos de ZPR, consulte Política de Roteamento de Pacote de Confiança Zero na documentação do ZPR.

  • Para adicionar ou remover atributos de segurança de ou para um aplicativo existente do OCI Functions usando a Console:

    1. Na página de lista Aplicativos, selecione o aplicativo ao qual você deseja adicionar ou remover atributos de segurança. Se precisar de ajuda para localizar a página de lista ou o aplicativo, consulte Listando Aplicativos.

      A guia Segurança mostra os atributos de segurança que já foram adicionados ao aplicativo (se houver).

    2. Para adicionar um atributo de segurança ao aplicativo:

      1. Na guia Segurança, selecione Adicionar e, na caixa de diálogo Adicionar atributos de segurança:
        • Selecione o namespace do atributo de segurança que contém o atributo de segurança.
        • Selecione o atributo da segurança.
        • Informe o valor do atributo da segurança.
      2. Se quiser adicionar vários atributos de segurança ao aplicativo, selecione Adicionar atributo de segurança e selecione atributos de segurança adicionais (até três no máximo).
      3. Selecione Adicionar atributos de segurança.
    3. Para remover um atributo de segurança do aplicativo:

      1. Na guia Segurança, selecione Excluir no menu Ações (três pontos) ao lado do atributo de segurança que você deseja excluir.
      2. Confirme se você deseja excluir o atributo de segurança.

    Os atributos de segurança mostrados na guia Segurança do aplicativo agora se aplicam ao aplicativo.

  • Use o comando oci fn application create e os parâmetros necessários para criar um aplicativo:

    oci fn application create --compartment-id <compartment-ocid> --display-name <app-name> --subnet-ids <subnet-ocids> [OPTIONS]

    Use o comando oci fn application update e os parâmetros necessários para atualizar um aplicativo:

    oci fn application update --application-id <application-ocid> [OPTIONS]

    Para obter uma lista completa de flags e opções de variável para comandos de CLI do OCI, consulte a Referência de Linha de Comandos.

  • Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

    Use estas operações de API para adicionar ou remover atributos de segurança de ou para um aplicativo: