IBM Cloud Docs
Limitare il traffico in entrata alle applicazioni e alle funzioni di Code Engine con restrizioni basate sul contesto

Limitare il traffico in entrata alle applicazioni e alle funzioni di Code Engine con restrizioni basate sul contesto

Questa funzione è una funzione beta ed è disponibile solo a scopo di valutazione e di test.

È possibile limitare il traffico in entrata alle applicazioni e alle funzioni IBM Cloud® Code Engine utilizzando regole basate sul contesto IBM Cloud per limitare l'accesso alle applicazioni o alle funzioni Code Engine. Questa funzione non è supportata per i lavori di Code Engine. Invece di assegnare l'accesso, le restrizioni basate sul contesto verificano che una richiesta di accesso provenga da un contesto consentito configurato dall'utente. Potete limitare il traffico in entrata alle vostre applicazioni e funzioni all'interno dei vostri progetti Code Engine per proteggere i vostri progetti dal traffico in entrata indesiderato.

Quando si proteggono le risorse di Code Engine con restrizioni basate sul contesto con endpoint privati, oltre a limitare il traffico in entrata che si connette all'applicazione o alle funzioni con regole basate sul contesto, è possibile limitare chi può gestire le risorse di Code Engine, come ad esempio la distribuzione o l'aggiornamento di applicazioni e segreti.

Le restrizioni basate sul contesto per Code Engine possono riguardare un singolo progetto, un intero gruppo di risorse o una località (regione). È inoltre possibile limitare l'accesso ai propri servizi da Code Engine. Per ulteriori informazioni sulle restrizioni basate sul contesto di IBM Cloud, vedere Cosa sono le restrizioni basate sul contesto.

Quando una regola di restrizione basata sul contesto riguarda un gruppo di risorse o una posizione, le restrizioni si applicano ai progetti esistenti. Se si crea un nuovo progetto nella stessa posizione o gruppo di risorse, è necessario aggiornare la regola (senza apportare alcuna modifica) per applicare le restrizioni al nuovo progetto. Non è necessario modificare la regola; è sufficiente fare clic su Modifica e poi su Applica per garantire che il nuovo progetto sia associato alle restrizioni.

Creazione di una restrizione basata sul contesto per le risorse di Code Engine

Per creare una restrizione basata sul contesto, vedere Creazione di restrizioni basate sul contesto. I passi seguenti sono specifici per la creazione di una risorsa di Code Engine.

  1. Andare alla pagina Regole di restrizione basate sul contesto.

  2. Fare clic su Crea per creare una nuova regola per la restrizione basata sul contesto, a partire dal servizio.

  3. Selezionare Code Engine per Servizi e fare clic su Avanti per selezionare le API del servizio da proteggere.

  4. Limitate l'accesso per proteggere i carichi di lavoro delle applicazioni o delle funzioni di Code Engine selezionando l'opzione Piano dati per le API di servizio.

    Si definiscono le limitazioni del carico di lavoro a livello di piano dati, quindi selezionare almeno il servizio di piano dati. È possibile selezionare anche altre API di servizi o piattaforme.

    Fare clic su Avanti per impostare la restrizione per le risorse.

  5. Applicare la restrizione a un singolo progetto, all'intero gruppo di risorse o a una posizione (regione) in cui sono presenti più progetti. Applicare questo ambito nella sezione Risorse e fare clic su Revisione per procedere.

  6. Fare clic su Continua per aggiungere il contesto alla regola.

  7. Code Engine l'API del piano dati prevede restrizioni per i carichi di lavoro privati, non per quelli pubblici. Per impostazione predefinita, tutti i carichi di lavoro pubblici rimangono accessibili. Affinché la restrizione basata sul contesto limiti le connessioni private in entrata e mantenga accessibili tutti gli endpoint pubblici, è necessario creare un contesto pubblico vuoto. Senza questo endpoint pubblico vuoto, si verificano errori di impostazione delle regole. Per creare un contesto pubblico vuoto:

    1. Impostate Endpoint su on.
    2. Seleziona Public.
    3. Lasciare le zone di rete vuote. Assicurarsi che in questa sezione non siano abilitate zone di rete, in modo che tutti gli endpoint pubblici siano accessibili.

    È possibile limitare gli endpoint privati, se lo si desidera:

    • Per negare l'accesso agli endpoint privati all'interno del progetto, assicurarsi che esista solo il contesto pubblico vuoto e che non siano impostati contesti privati.
    • Per limitare i carichi di lavoro privati all'interno del progetto, selezionare l'elenco delle zone di rete che si desidera consentire (ad esempio, si può consentire a una VPC di accedere alle reti private del progetto Code Engine ).
    • IPv6 non sono supportate per Code Engine.
  8. Fare clic su Continua per fornire i dettagli della regola.

  9. Fornire un nome o una descrizione per la regola.

  10. Selezionare Abilitato per l'applicazione.

  11. Rivedere il riepilogo e fare clic su Crea.

Verifica della regola di restrizione basata sul contesto per la connettività privata in ingresso

Dopo aver creato la regola di restrizione basata sul contesto, è possibile testarla utilizzando l'applicazione o la funzione privata. L'accesso è consentito solo agli indirizzi IP elencati. Se una richiesta proviene da un indirizzo IP che non è incluso nell'elenco, viene visualizzato un messaggio di errore RBAC Access Denied. Ad esempio, se si consente solo 9.9.9.9/32, l'applicazione o la funzione è accessibile solo da quell'intervallo IP. Qualsiasi cosa al di fuori di questo intervallo genera un messaggio di errore.

Se è stata selezionata una zona di rete che punta a un VPC (virtual private cloud), è necessario creare anche un gateway VPE (virtual private endpoint) per consentire al VPC di accedere ai carichi di lavoro privati. Dopo aver creato il gateway, è possibile che si verifichi un ritardo temporaneo dovuto alla risoluzione di PDNS. Inizialmente si possono vedere i messaggi di errore di RBAC Access Denied, ma dopo un po' di tempo verrà concesso l'accesso.