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

Scopri come creare criteri da utilizzare con API Gateway.

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

Per concedere l'accesso alle risorse di rete e correlate a API Gateway, è 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 di API Gateway definiscono un nuovo gateway API e nuove distribuzioni API, devono specificare un compartimento per le risorse correlate a tale 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 saranno proprietari di tali risorse:

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Create Policy.
  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 è possibile modificare 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 seguito.
    • Dichiarazione: la seguente istruzione di criteri per concedere al gruppo l'accesso a tutte le risorse correlate a API Gateway nel compartimento:

      Come dichiarazione 1: immettere l'istruzione criterio seguente per concedere al gruppo l'accesso a tutte le risorse correlate a 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 definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Fare clic su Crea per creare il criterio che consente agli utenti di API Gateway di accedere alle risorse correlate a API Gateway 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 di API Gateway 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 fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Create Policy.
  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 è possibile modificare 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 seguito.
    • 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 definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Fare clic su 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 di API Gateway definiscono un nuovo gateway API, un'opzione consiste nel 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 autenticazione e autorizzazione alle distribuzioni API).

Per creare un criterio per concedere agli utenti di API Gateway l'accesso alle funzioni definite nelle funzioni OCI, procedere come segue.

  1. Eseguire il login alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Create Policy.
  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 è possibile modificare 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 seguito.
    • 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 definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Fare clic su 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 di Gateway API possono utilizzare una risorsa certificato di servizio Certificati per impostare un nome di dominio personalizzato per un gateway API. Per consentire agli utenti di associare una risorsa certificato di 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 che consenta agli utenti di API Gateway di associare una risorsa certificato di 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 fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Create Policy.
  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 è possibile modificare 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 seguito.
    • Dichiarazione: la seguente istruzione criterio per consentire al gruppo di associare una risorsa certificato di 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 definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Fare clic su Crea per creare il criterio che consente agli utenti del gateway API di associare le risorse del certificato di 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 di API Gateway possono scegliere di aggiungere i certificati radice di altre CA e altri bundle CA (definiti CA personalizzate 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 che consenta agli utenti di API Gateway 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 fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Create Policy.
  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 è possibile modificare 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 seguito.
    • 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 definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
  6. Fare clic su Crea per creare il criterio che consente agli utenti di API Gateway 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 di API Gateway definiscono un nuovo gateway API, un'opzione consiste nel 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 consentire agli utenti di accedere 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, procedere come segue.

  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 fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Crea per creare il criterio che consente ai gateway API di accedere alle funzioni definite in 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 di API Gateway 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 fare clic su Identità e sicurezza. In Identità fare clic su Domini. In dominio di Identity, fare clic su 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. Fare clic su 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 fare clic su Identità e sicurezza. In Identità fare clic su 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. Fare clic su Crea per creare il nuovo criterio che consente ai gateway API nel gruppo dinamico di accedere ai segreti specificati nel servizio Vault.