Crea criteri per controllare l'accesso alle risorse correlate al gateway di rete e API

Scopri come creare criteri da utilizzare con il gateway API.

Prima che gli utenti possano iniziare a utilizzare il servizio Gateway API per creare gateway API e distribuire le API su di essi, in qualità di amministratore della tenancy è necessario creare una serie di criteri Oracle Cloud Infrastructure per concedere l'accesso alle risorse di rete e correlate al gateway API.

Per concedere l'accesso alle risorse di rete e relative al gateway API, è necessario effettuare le operazioni riportate di seguito.

Per ulteriori informazioni sui criteri, vedere Dettagli per il gateway API.

Creare un criterio per concedere agli utenti del gateway API l'accesso alle risorse correlate al gateway API

Quando gli utenti del gateway API definiscono un nuovo gateway API e nuove distribuzioni API, devono specificare un compartimento per le risorse correlate al gateway API. Gli utenti possono specificare solo un compartimento a cui è stato concesso l'accesso ai gruppi a cui appartengono. Per consentire agli utenti di specificare un compartimento, è necessario creare un criterio di identità per concedere l'accesso ai gruppi.

Per creare un criterio per concedere agli utenti l'accesso alle risorse correlate al gateway API nel compartimento che sarà proprietario di tali risorse:

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri. Viene visualizzata una lista di criteri nel compartimento che si sta visualizzando.
  3. Selezionare il compartimento proprietario delle risorse correlate al gateway API dalla lista a sinistra.
  4. Selezionare Crea criterio.
  5. Immettere:

    • Nome: un nome significativo per il criterio, ad esempio acme-apigw-developers-manage-access. Il nome deve essere univoco in tutti i criteri nella tenancy. Non può essere modificato in seguito. Evitare di fornire informazioni riservate.
    • Descrizione: una descrizione significativa (ad esempio, Gives api-gateway developers access to all resources in the acme-apigw-compartment). Se lo si desidera, è possibile modificarlo in un secondo momento.
    • Dichiarazione: la seguente istruzione di criteri per concedere al gruppo l'accesso a tutte le risorse correlate al gateway API nel compartimento:

      Come dichiarazione 1: immettere l'istruzione criterio seguente per concedere al gruppo l'accesso a tutte le risorse correlate al gateway API nel compartimento:

      Allow group <group-name> to manage api-gateway-family in compartment <compartment-name>

      Ad esempio:

      Allow group acme-apigw-developers to manage api-gateway-family in compartment acme-apigw-compartment
    • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag defined, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Selezionare Crea per creare il criterio che consente agli utenti del gateway API di accedere alle risorse correlate al gateway API nel compartimento.
Suggerimento

In genere, i gateway API e le distribuzioni API vengono creati nello stesso compartimento. Tuttavia, in team di sviluppo di grandi dimensioni con molti sviluppatori API, potresti trovare utile creare compartimenti separati per i gateway API e per le distribuzioni API. In questo modo sarà possibile concedere a diversi gruppi di utenti l'accesso appropriato a tali risorse.

Creare un criterio per concedere agli utenti del gateway API l'accesso alle risorse di rete

Quando gli utenti del gateway API definiscono un nuovo gateway API, devono specificare una VCN e una subnet in cui creare il gateway API. Gli utenti possono specificare solo VCN e subnet a cui è stato concesso l'accesso ai gruppi a cui appartengono. Per consentire agli utenti di specificare una VCN e una subnet, è necessario creare un criterio di identità per concedere l'accesso ai gruppi. Inoltre, se si desidera consentire agli utenti di creare gateway API pubblici, il criterio di identità deve consentire ai gruppi di gestire gli indirizzi IP pubblici nel compartimento proprietario delle risorse di rete.

Per creare un criterio per concedere agli utenti del gateway API l'accesso alle risorse di rete, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri. Viene visualizzata una lista di criteri nel compartimento che si sta visualizzando.
  3. Selezionare il compartimento proprietario delle risorse di rete dalla lista a sinistra.
  4. Selezionare Crea criterio.
  5. Immettere:

    • Nome: un nome significativo per il criterio, ad esempio acme-apigw-developers-network-access. Il nome deve essere univoco in tutti i criteri nella tenancy. Non può essere modificato in seguito. Evitare di fornire informazioni riservate.
    • Descrizione: una descrizione significativa (ad esempio, Gives api-gateway developers access to all network resources in the acme-network compartment). Se lo si desidera, è possibile modificarlo in un secondo momento.
    • Dichiarazione: la seguente istruzione di criterio per concedere al gruppo l'accesso alle risorse di rete nel compartimento (inclusa la possibilità di gestire gli indirizzi IP pubblici):

      Allow group <group-name> to manage virtual-network-family in compartment <compartment-name>

      Ad esempio:

      Allow group acme-apigw-developers to manage virtual-network-family in compartment acme-network
    • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag defined, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Selezionare Crea per creare il criterio che consente agli utenti del gateway API di accedere alle risorse di rete e agli indirizzi IP pubblici nel compartimento.

Creare un criterio per concedere agli utenti del gateway API l'accesso alle funzioni

Quando gli utenti del gateway API definiscono un nuovo gateway API, una delle opzioni è quella di specificare una funzione serverless definita nelle funzioni OCI come backend API. Gli utenti possono specificare solo le funzioni a cui hanno accesso i gruppi a cui appartengono. Se si desidera consentire agli utenti di specificare le funzioni come backend API, è necessario creare un criterio di identità per concedere l'accesso ai gruppi. Tenere presente che, oltre a questo criterio per il gruppo di utenti, per consentire agli utenti di specificare le funzioni come backend API, è necessario creare anche un criterio per concedere ai gateway API l'accesso alle funzioni OCI (vedere Creare un criterio per concedere ai gateway API l'accesso alle funzioni).

Un altro motivo per creare un criterio di identità che concede ai gruppi l'accesso alle funzioni OCI è se si desidera consentire agli utenti di utilizzare la console (anziché un file JSON) per definire un criterio di richiesta di autenticazione e specificare una funzione del responsabile autorizzazioni definita nelle funzioni OCI (vedere Passaggio dei token alle funzioni del responsabile autorizzazioni per aggiungere l'autenticazione e l'autorizzazione alle distribuzioni API).

Per creare un criterio per concedere agli utenti del gateway API l'accesso alle funzioni definite nelle funzioni OCI, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri. Viene visualizzata una lista di criteri nel compartimento che si sta visualizzando.
  3. Selezionare il compartimento proprietario delle funzioni dalla lista a sinistra.
  4. Selezionare Crea criterio.
  5. Immettere:

    • Nome: un nome significativo per il criterio, ad esempio acme-apigw-developers-functions-access. Il nome deve essere univoco in tutti i criteri nella tenancy. Non può essere modificato in seguito. Evitare di fornire informazioni riservate.
    • Descrizione: una descrizione significativa (ad esempio, Gives api-gateway developers access to all functions in the acme-functions-compartment). Se lo si desidera, è possibile modificarlo in un secondo momento.
    • Dichiarazione: la seguente istruzione di criterio per concedere al gruppo l'accesso alle funzioni nel compartimento:

      Allow group <group-name> to use functions-family in compartment <compartment-name>

      Ad esempio:

      Allow group acme-apigw-developers to use functions-family in compartment acme-functions-compartment
    • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag defined, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Selezionare Crea per creare il criterio che consente agli utenti del gateway API di accedere alle funzioni nel compartimento.

Creare un criterio per consentire agli utenti del gateway API di creare associazioni di certificati

Gli utenti del gateway API possono utilizzare una risorsa del certificato del servizio Certificati per impostare un nome di dominio personalizzato per un gateway API. Per consentire agli utenti di associare una risorsa certificato del servizio Certificati a un gateway API, è necessario creare un criterio di identità per consentire ai gruppi a cui gli utenti appartengono di creare associazioni di certificati.

Per creare un criterio per consentire agli utenti del gateway API di associare una risorsa certificato del servizio Certificati a un gateway API, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri. Viene visualizzata una lista di criteri nel compartimento che si sta visualizzando.
  3. Selezionare il compartimento proprietario del gateway API dalla lista a sinistra.
  4. Selezionare Crea criterio.
  5. Immettere:

    • Nome: un nome significativo per il criterio, ad esempio acme-apigw-developers-certificate-association. Il nome deve essere univoco in tutti i criteri nella tenancy. Non può essere modificato in seguito. Evitare di fornire informazioni riservate.
    • Descrizione: una descrizione significativa (ad esempio, Gives api-gateway developers the ability to create certificate associations). Se lo si desidera, è possibile modificarlo in un secondo momento.
    • Dichiarazione: la seguente istruzione criterio per consentire al gruppo di associare una risorsa certificato del servizio Certificati a un gateway API nel compartimento:

      Allow group <group-name> to manage certificate-associations in compartment <compartment-name>

      Ad esempio:

      Allow group acme-apigw-developers to manage certificate-associations in compartment acme-apigw-compartment
    • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag defined, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Selezionare Crea per creare il criterio che consente agli utenti del gateway API di associare le risorse del certificato del servizio Certificati ai gateway API nel compartimento.

Creare un criterio per consentire agli utenti del gateway API di gestire CA e bundle CA

Oltre al bundle CA (Certificate Authority) e CA predefinito, gli utenti del gateway API possono scegliere di aggiungere i certificati radice di altre CA e altri bundle CA (definiti CA personalizzati e bundle CA personalizzati) al truststore di un gateway API. Per personalizzare il truststore di un gateway API aggiungendo un bundle CA o CA personalizzato, gli utenti devono prima creare una risorsa CA o una risorsa bundle CA nel servizio Certificati. Vedere Personalizzazione dei truststore per la verifica dei certificati TLS.

Per consentire agli utenti di aggiungere CA personalizzate e bundle CA personalizzati ai truststore personalizzati, è necessario creare un criterio di identità per consentire ai gruppi a cui gli utenti appartengono di gestire le autorità di certificazione nel servizio Certificati.

Per creare un criterio per consentire agli utenti del gateway API di aggiungere CA personalizzate e bundle CA personalizzati ai truststore personalizzati, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri. Viene visualizzata una lista di criteri nel compartimento che si sta visualizzando.
  3. Selezionare il compartimento proprietario del gateway API dalla lista a sinistra.
  4. Selezionare Crea criterio.
  5. Immettere:

    • Nome: un nome significativo per il criterio, ad esempio acme-apigw-developers-custom-ca-bundle. Il nome deve essere univoco in tutti i criteri nella tenancy. Non può essere modificato in seguito. Evitare di fornire informazioni riservate.
    • Descrizione: una descrizione significativa (ad esempio, Gives api-gateway developers the ability to add custom CAs and CA bundles). Se lo si desidera, è possibile modificarlo in un secondo momento.
    • Dichiarazione: la seguente istruzione di criterio per consentire al gruppo di aggiungere CA personalizzate e bundle CA personalizzati al truststore personalizzato dei gateway API nel compartimento:

      Allow group <group-name> to manage certificate-authority-family in compartment <compartment-name>

      Ad esempio:

      Allow group acme-apigw-developers to manage certificate-authority-family in compartment acme-apigw-compartment
    • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag defined, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Selezionare Crea per creare il criterio che consente agli utenti del gateway API di aggiungere CA personalizzate e bundle CA personalizzati ai truststore personalizzati.

Creare un criterio per concedere ai gateway API l'accesso alle funzioni

Quando gli utenti del gateway API definiscono un nuovo gateway API, una delle opzioni è quella di specificare una funzione serverless definita nelle funzioni OCI come backend API. Prima di creare il gateway API, il servizio Gateway API verifica che il nuovo gateway API avrà accesso alla funzione specificata tramite un criterio IAM.

Tenere presente che, oltre a questo criterio per i gateway API, per consentire agli utenti di specificare le funzioni come backend API, è necessario creare anche un criterio per concedere agli utenti l'accesso alle funzioni OCI (vedere Creare un criterio per concedere agli utenti del gateway API l'accesso alle funzioni).

Per creare un criterio per concedere ai gateway API l'accesso alle funzioni definite nelle funzioni OCI, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Creare un nuovo criterio per concedere ai gateway API l'accesso alle funzioni definite nelle funzioni OCI:

    1. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
    2. Selezionare il compartimento contenente le risorse correlate alla funzione a cui si desidera concedere l'accesso. Se le risorse si trovano in compartimenti diversi, selezionare un compartimento padre comune (ad esempio, il compartimento radice della tenancy).
    3. Seguire le istruzioni in Per creare un criterio e assegnare un nome al criterio, ad esempio acme-apigw-gateways-functions-policy.
    4. Immettere un'istruzione criterio per concedere ai gateway API l'accesso al compartimento contenente le funzioni definite nelle funzioni OCI:

      ALLOW any-user to use functions-family in compartment <functions-compartment-name> where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = '<api-gateway-compartment-OCID>'}

      dove:

      • <functions-compartment-name> è il nome del compartimento contenente le funzioni che si desidera utilizzare come backend per i gateway API.
      • <api-gateway-compartment-OCID> è l'OCID del compartimento contenente i gateway API a cui si desidera accedere alle funzioni.

      Ad esempio:

      ALLOW any-user to use functions-family in compartment acme-functions-compartment where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa7______ysq'}
    5. Selezionare Crea per creare il criterio che consente ai gateway API di accedere alle funzioni definite nelle funzioni OCI.

Creare un criterio per concedere ai gateway API l'accesso alle credenziali memorizzate come segreti nel servizio Vault

Se gli utenti di API Gateway definiscono un gateway API che inserisce nella cache i dati di risposta in un server cache esterno (ad esempio un server Redis), le credenziali da autenticare con il server cache devono essere memorizzate nel servizio Vault. Analogamente, se gli utenti del gateway API definiscono un gateway API che accede all'endpoint di introspezione di un server di autorizzazione per convalidare i token, le credenziali da autenticare con il server di autorizzazione devono essere memorizzate nel servizio Vault. Per consentire l'autenticazione dei gateway API con il server cache o il server di autorizzazione, è necessario creare un criterio che conceda ai gateway API l'accesso ai segreti nel servizio Vault.

Per creare un criterio per concedere ai gateway API l'accesso ai segreti nel servizio Vault, effettuare le operazioni riportate di seguito.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Creare un nuovo gruppo dinamico comprendente uno o più gateway API:

    1. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Domini. In Dominio di Identity, selezionare Gruppi dinamici.
    2. Seguire le istruzioni in Per creare un gruppo dinamico e assegnare al gruppo dinamico un nome (ad esempio, acme-apigw-dyn-grp).
    3. Quando si specifica una regola per il gruppo dinamico, tenere presenti gli esempi riportati di seguito.

      • Se si desidera che tutti i gateway API in un compartimento siano in grado di accedere ai segreti, immettere una regola simile alla seguente che aggiunga tutti i gateway API nel compartimento con l'OCID compartimento specificato al gruppo dinamico:

        ALL {resource.type = 'ApiGateway', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
      • Se si desidera che un gateway API specifico sia in grado di accedere ai segreti, immettere una regola simile alla seguente che aggiunga il gateway API con l'OCID specificato al gruppo dinamico:

        ALL {resource.type = 'ApiGateway', resource.id = 'ocid1.apigateway.oc1.iad.aaaaaaaab______hga'}
    4. Selezionare Crea gruppo dinamico.

    Dopo aver creato un gruppo dinamico che include uno o più gateway API, è ora possibile creare un criterio per concedere al gruppo dinamico l'accesso a uno o più segreti.

  3. Creare un nuovo criterio per concedere al gruppo dinamico l'accesso a uno o più segreti nel servizio Vault:

    1. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
    2. Seguire le istruzioni in Per creare un criterio e assegnare un nome al criterio, ad esempio acme-apigw-dyn-grp-policy.
    3. Quando si specifica un'istruzione criterio, tenere presenti gli esempi riportati di seguito.

      • Se si desidera che i gateway API in acme-apigw-dyn-grp possano accedere a tutti i segreti in un compartimento, immettere un'istruzione criterio simile alla seguente:

        allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment
      • Se si desidera che i gateway API in acme-apigw-dyn-grp possano accedere a un segreto specifico, immettere un'istruzione criterio simile alla seguente:

        allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment where target.secret.id='ocid1.vaultsecret.oc1.iad.amaaaaaa______qia'
    4. Selezionare Crea per creare il nuovo criterio che consente ai gateway API nel gruppo dinamico di accedere ai segreti specificati nel servizio Vault.