Restringir o tráfego de entrada para aplicativos e funções do Code Engine com restrições baseadas em contexto
Esse recurso é uma versão beta e está disponível apenas para fins de avaliação e teste.
Você pode restringir o tráfego de entrada para os aplicativos e funções IBM Cloud® Code Engine usando regras baseadas no contexto IBM Cloud para restringir o acesso aos aplicativos ou funções Code Engine. Esse recurso não é compatível com os trabalhos do site Code Engine. Em vez de atribuir acesso, as restrições baseadas em contexto verificam se uma solicitação de acesso vem de um contexto permitido que você configurou. Você pode limitar o tráfego de entrada para seus aplicativos e funções em seus projetos Code Engine para proteger seus projetos contra tráfego de entrada indesejado.
Quando você protege os recursos do Code Engine com restrições baseadas em contexto com endpoints privados, além de restringir o tráfego de entrada que se conecta ao seu aplicativo ou funções com regras baseadas em contexto, você pode restringir quem pode gerenciar os recursos do Code Engine, como a implantação ou atualização de aplicativos e segredos.
As restrições baseadas em contexto para Code Engine podem ser aplicadas a um único projeto, a todo um grupo de recursos ou a um local (região). Também é possível limitar quais dos seus serviços podem ser acessados em Code Engine. Para obter mais informações sobre IBM Cloud restrições baseadas em contexto, consulte O que são restrições baseadas em contexto.
Quando uma regra de restrição baseada em contexto abrange um grupo de recursos ou um local, as restrições se aplicam aos projetos existentes. Se você criar um novo projeto no mesmo local ou grupo de recursos, deverá atualizar a regra (sem fazer nenhuma alteração) para aplicar as restrições ao novo projeto. Observe que você não precisa alterar a regra; basta clicar em Editar e, em seguida, em Aplicar para garantir que o novo projeto seja associado às restrições.
Criando uma restrição baseada em contexto para seus recursos do site Code Engine
Para criar uma restrição baseada em contexto, consulte Criação de restrições baseadas em contexto. As etapas a seguir são específicas para a criação de um recurso para Code Engine.
-
Vá para a página Regras de restrições baseadas em contexto.
-
Clique em Create (Criar ) para criar uma nova regra para a restrição baseada em contexto, começando pelo serviço.
-
Selecione Code Engine para Services e clique em Next para selecionar as APIs de serviço a serem protegidas.
-
Restrinja o acesso para proteger suas cargas de trabalho de aplicativos ou funções Code Engine selecionando a opção Data plane para APIs de serviço.
Você define as restrições de carga de trabalho no nível do plano de dados, portanto, selecione pelo menos o serviço de plano de dados. Você também pode selecionar outras APIs de serviço ou plataforma.
Clique em Next para definir o escopo da restrição para seus recursos.
-
Aplique a restrição a um único projeto, a todo o grupo de recursos ou a um local (região) onde haja vários projetos. Aplique esse escopo na seção Resources (Recursos) e clique em Review (Revisar ) para continuar.
-
Clique em Continuar para adicionar contexto à sua regra.
-
Code Engine fornece restrições para cargas de trabalho privadas, não para as públicas. Por padrão, todas as cargas de trabalho públicas permanecem acessíveis. Para que sua restrição baseada em contexto restrinja as conexões de entrada privadas e também mantenha todos os pontos de extremidade públicos acessíveis, você deve criar um contexto público vazio. Sem esse endpoint público vazio, você encontrará erros de configuração de regras. Para criar um contexto público vazio:
- Defina os pontos finais como ativados.
- Selecione Público.
- Deixe as zonas de rede vazias. Certifique-se de que nenhuma zona de rede esteja ativada nessa seção para que todos os endpoints públicos sejam acessíveis.
Você pode restringir os pontos de extremidade privados, se desejar:
- Para negar todo o acesso a pontos de extremidade privados em seu projeto, certifique-se de que exista apenas o contexto público vazio e que não haja contextos privados definidos.
- Para restringir cargas de trabalho privadas em seu projeto, selecione a lista de zonas de rede que deseja permitir (por exemplo, você pode permitir que uma VPC acesse redes privadas em seu projeto Code Engine ).
- IPv6 as restrições não são compatíveis com o site Code Engine.
-
Clique em Continuar para fornecer detalhes da regra.
-
Forneça um nome ou uma descrição para sua regra.
-
Selecione Ativado para aplicação.
-
Revise o resumo e clique em Create (Criar ).
Teste de sua regra de restrição baseada em contexto para conectividade de entrada privada
Depois de criar a regra de restrição baseada em contexto, você pode testá-la usando seu aplicativo ou função privada. O acesso é concedido apenas aos endereços IP listados como permitidos. Se uma solicitação vier de um endereço IP que não esteja
na lista de permissões, você verá uma mensagem de erro RBAC Access Denied
. Por exemplo, se você permitiu apenas 9.9.9.9/32
, então seu aplicativo ou função só poderá ser acessado a partir desse intervalo de IP. Qualquer
coisa fora desse intervalo gera uma mensagem de erro.
Se você selecionou uma zona de rede que aponta para uma VPC (nuvem privada virtual), também deve criar um gateway VPE (ponto de extremidade privado virtual) para permitir que a VPC acesse cargas de trabalho privadas. Depois de criar o gateway,
você pode sofrer um atraso temporário devido à resolução do PDNS. Inicialmente, você poderá ver as mensagens de erro do RBAC Access Denied
, mas o acesso será concedido após algum tempo.