Policys für die Kontrolle des Zugriffs auf Netzwerk- und API-Gateway-bezogene Ressourcen erstellen

Erfahren Sie, wie Sie Policys zur Verwendung mit API Gateway erstellen.

Bevor Benutzer mit dem API-Gateway-Service API-Gateways erstellen und APIs darin bereitstellen können, müssen Sie als Mandantenadministrator eine Reihe von Oracle Cloud Infrastructure-Policys erstellen, um Zugriff auf API-Gateway-bezogene Ressourcen und Netzwerkressourcen zu gewähren.

So gewähren Sie Zugriff auf API-Gateway-bezogene Ressourcen und Netzwerkressourcen:

Weitere Informationen zu Policys finden Sie unter Details zu API-Gateway.

Policy erstellen, um API-Gateway-Benutzern Zugriff auf API-Gateway-bezogene Ressourcen zu erteilen

Wenn API-Gateway-Benutzer ein neues API-Gateway und neue API-Deployments definieren, müssen sie ein Compartment für diese API-Gateway-bezogenen Ressourcen angeben. Benutzer können nur Compartments angeben, auf die die Gruppen, zu denen sie gehören, Zugriff erhalten haben. Damit Benutzer Compartments angeben können, müssen Sie eine Identitäts-Policy erstellen, die den Gruppen Zugriff gewährt.

So erstellen Sie eine Policy, um Benutzern Zugriff auf API-Gateway-bezogene Ressourcen in dem Compartment zu erteilen, das Eigentümer dieser Ressourcen wird:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus. Es wird eine Liste der Policys im aktuellen Compartment angezeigt.
  3. Wählen Sie das Compartment, das über die API-Gateway-bezogenen Ressourcen verfügen wird, aus der linken Liste aus.
  4. Wählen Sie Policy erstellen aus.
  5. Geben Sie Folgendes ein:

    • Name: Einen aussagekräftigen Namen für die Policy (z.B. acme-apigw-developers-manage-access). Der Name muss in allen Policys Ihres Mandanten eindeutig sein. Sie können den Namen später nicht mehr ändern. Vermeiden Sie die Eingabe von vertraulichen Informationen.
    • Beschreibung: Eine aussagekräftige Beschreibung (z.B. Gives api-gateway developers access to all resources in the acme-apigw-compartment). Sie können die Beschreibung später bei Bedarf ändern.
    • Anweisung: Die folgende Policy-Anweisung, mit der der Gruppe Zugriff auf alle API-Gateway-bezogenen Ressourcen im Compartment erteilt wird:

      Geben Sie als Anweisung 1: die folgende Policy-Anweisung ein, um der Gruppe Zugriff auf alle API-Gateway-bezogenen Ressourcen im Compartment zu erteilen:

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

      Beispiel:

      Allow group acme-apigw-developers to manage api-gateway-family in compartment acme-apigw-compartment
    • Tags: Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, können Sie auf die Ressource auch Freiformtags anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  6. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateway-Benutzern Zugriff auf API-Gateway-bezogene Ressourcen im Compartment erteilt wird.
Tipp

Normalerweise werden API-Gateways und API-Deployments im selben Compartment erstellt. In großen Entwicklungsteams mit vielen API-Entwicklern ist es jedoch nützlich, separate Compartments für API-Gateways und API-Deployments zu erstellen. Dadurch können Sie verschiedenen Benutzergruppen entsprechenden Zugriff auf diese Ressourcen erteilen.

Policy erstellen, um API-Gateway-Benutzern Zugriff auf Netzwerkressourcen zu erteilen

Wenn API-Gateway-Benutzer ein neues API-Gateway definieren, müssen sie ein VCN und ein Subnetz angeben, in dem das API-Gateway erstellt werden soll. Benutzer können nur VCNs und Subnetze angeben, auf die die Gruppen, zu denen sie gehören, Zugriff erhalten haben. Damit Benutzer VCNs und Subnetze angeben können, müssen Sie eine Identitäts-Policy erstellen, mit der den Gruppen Zugriff erteilt wird. Wenn Sie es Benutzern außerdem ermöglichen möchten, öffentliche API-Gateways zu erstellen, muss die Identitäts-Policy den Gruppen die Verwaltung öffentlicher IP-Adressen im Compartment, das über die Netzwerkressourcen verfügt, erlauben.

So erstellen Sie eine Policy, um API-Gateway-Benutzern Zugriff auf Netzwerkressourcen zu erteilen:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus. Es wird eine Liste der Policys im aktuellen Compartment angezeigt.
  3. Wählen Sie das Compartment, das über die Netzwerkressourcen verfügt, aus der Liste auf der linken Seite aus.
  4. Wählen Sie Policy erstellen aus.
  5. Geben Sie Folgendes ein:

    • Name: Einen aussagekräftigen Namen für die Policy (z.B. acme-apigw-developers-network-access). Der Name muss in allen Policys Ihres Mandanten eindeutig sein. Sie können den Namen später nicht mehr ändern. Vermeiden Sie die Eingabe von vertraulichen Informationen.
    • Beschreibung: Eine aussagekräftige Beschreibung (z.B. Gives api-gateway developers access to all network resources in the acme-network compartment). Sie können die Beschreibung später bei Bedarf ändern.
    • Anweisung: Die folgende Policy-Anweisung, mit der der Gruppe Zugriff auf Netzwerkressourcen im Compartment (einschließlich der Möglichkeit, öffentliche IP-Adressen zu verwalten) erteilt wird:

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

      Beispiel:

      Allow group acme-apigw-developers to manage virtual-network-family in compartment acme-network
    • Tags: Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, können Sie auf die Ressource auch Freiformtags anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  6. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateway-Benutzern Zugriff auf Netzwerkressourcen und öffentliche IP-Adressen im Compartment erteilt wird.

Policy erstellen, um API-Gateway-Benutzern Zugriff auf Funktionen zu erteilen

Wenn API-Gateway-Benutzer ein neues API-Gateway definieren, haben sie die Möglichkeit, eine in OCI Functions definierte serverlose Funktion als API-Backend anzugeben. Benutzer können nur Funktionen angeben, auf die die Gruppen, zu denen sie gehören, Zugriff erhalten haben. Damit Benutzer Funktionen als API-Backends angeben können, müssen Sie eine Identitäts-Policy erstellen, mit der den Gruppen Zugriff gewährt wird. Beachten Sie, dass Sie zusätzlich zu dieser Policy für die Benutzergruppe auch eine Policy erstellen müssen, mit der API-Gateways Zugriff auf OCI Functions gewährt wird, damit Benutzer Funktionen als API-Backends angeben können (siehe Policy erstellen, um API-Gateways Zugriff auf Funktionen zu erteilen).

Ein weiterer Grund für das Erstellen einer Identitäts-Policy, mit der Gruppen Zugriff auf OCI Functions erteilt wird, ist, wenn Sie es Benutzern ermöglichen möchten, die Konsole (anstelle einer JSON-Datei) zu verwenden, um eine Authentifizierungsanforderungs-Policy zu definieren und eine in OCI Functions definierte Autorisiererfunktion anzugeben (siehe Token an Autorisiererfunktionen übergeben, um Authentifizierung und Autorisierung zu API-Deployments hinzuzufügen).

So erstellen Sie eine Policy, um API-Gateway-Benutzern Zugriff auf in OCI Functions definierte Funktionen zu erteilen:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus. Es wird eine Liste der Policys im aktuellen Compartment angezeigt.
  3. Wählen Sie das Compartment, das über die Funktionen verfügt, aus der Liste auf der linken Seite aus.
  4. Wählen Sie Policy erstellen aus.
  5. Geben Sie Folgendes ein:

    • Name: Einen aussagekräftigen Namen für die Policy (z.B. acme-apigw-developers-functions-access). Der Name muss in allen Policys Ihres Mandanten eindeutig sein. Sie können den Namen später nicht mehr ändern. Vermeiden Sie die Eingabe von vertraulichen Informationen.
    • Beschreibung: Eine aussagekräftige Beschreibung (z.B. Gives api-gateway developers access to all functions in the acme-functions-compartment). Sie können die Beschreibung später bei Bedarf ändern.
    • Anweisung: Die folgende Policy-Anweisung, mit der der Gruppe Zugriff auf die Funktionen im Compartment erteilt wird:

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

      Beispiel:

      Allow group acme-apigw-developers to use functions-family in compartment acme-functions-compartment
    • Tags: Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, können Sie auf die Ressource auch Freiformtags anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  6. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateway-Benutzern Zugriff auf Funktionen im Compartment erteilt wird.

Policy erstellen, mit der API-Gateway-Benutzer Zertifikatsverknüpfungen erstellen können

API-Gateway-Benutzer können eine Zertifikatsressource des Certificates-Service verwenden, um einen benutzerdefinierten Domainnamen für ein API-Gateway einzurichten. Damit Benutzer eine Zertifikatsressource des Certificates-Service mit einem API-Gateway verknüpfen können, müssen Sie eine Identitäts-Policy erstellen, damit die Gruppen, zu denen die Benutzer gehören, Zertifikatsverknüpfungen erstellen können.

So erstellen Sie eine Policy, mit der API-Gateway-Benutzer eine Zertifikatsressource des Certificates-Service mit einem API-Gateway verknüpfen können:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus. Es wird eine Liste der Policys im aktuellen Compartment angezeigt.
  3. Wählen Sie das Compartment, das über das API-Gateway verfügt, aus der Liste auf der linken Seite aus.
  4. Wählen Sie Policy erstellen aus.
  5. Geben Sie Folgendes ein:

    • Name: Einen sinnvollen Namen für die Policy (z.B. acme-apigw-developers-certificate-association). Der Name muss in allen Policys Ihres Mandanten eindeutig sein. Sie können den Namen später nicht mehr ändern. Vermeiden Sie die Eingabe von vertraulichen Informationen.
    • Beschreibung: Eine aussagekräftige Beschreibung (Beispiel: Gives api-gateway developers the ability to create certificate associations). Sie können die Beschreibung später bei Bedarf ändern.
    • Anweisung: Die folgende Policy-Anweisung, mit der die Gruppe eine Zertifikatsressource des Certificates-Service mit einem API-Gateway im Compartment verknüpfen kann:

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

      Beispiel:

      Allow group acme-apigw-developers to manage certificate-associations in compartment acme-apigw-compartment
    • Tags: Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, können Sie auf die Ressource auch Freiformtags anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  6. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateway-Benutzer Zertifikatsressourcen des Certificates-Service mit API-Gateways im Compartment verknüpfen können.

Policy erstellen, mit der API-Gatewaybenutzer CAs und CA-Bundles verwalten können

Neben dem Standard-Certificate Authority-(CA-) und CA-Bundle können API-Gateway-Benutzer die Root-Zertifikate anderer CAs und anderer CA-Bundles (als benutzerdefinierte CAs und benutzerdefinierte CA-Bundles bezeichnet) dem Truststore eines API-Gateways hinzufügen. Um den Truststore eines API-Gateways durch Hinzufügen eines benutzerdefinierten CA- oder CA-Bundles anzupassen, müssen Benutzer zuerst eine CA-Ressource oder CA-Bundle-Ressource im Certificates-Service erstellen. Siehe Customizing Trust Stores for TLS Certificate Verification.

Damit Benutzer benutzerdefinierte CAs und benutzerdefinierte CA-Bundles zu benutzerdefinierten Trust Stores hinzufügen können, müssen Sie eine Identitäts-Policy erstellen, damit die Gruppen, zu denen die Benutzer gehören, Certificate Authoritys im Certificates-Service verwalten können.

So erstellen Sie eine Policy, mit der API-Gateway-Benutzer benutzerdefinierte CAs und benutzerdefinierte CA-Bundles zu benutzerdefinierten Trust Stores hinzufügen können:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus. Es wird eine Liste der Policys im aktuellen Compartment angezeigt.
  3. Wählen Sie das Compartment, das über das API-Gateway verfügt, aus der Liste auf der linken Seite aus.
  4. Wählen Sie Policy erstellen aus.
  5. Geben Sie Folgendes ein:

    • Name: Einen sinnvollen Namen für die Policy (z.B. acme-apigw-developers-custom-ca-bundle). Der Name muss in allen Policys Ihres Mandanten eindeutig sein. Sie können den Namen später nicht mehr ändern. Vermeiden Sie die Eingabe von vertraulichen Informationen.
    • Beschreibung: Eine aussagekräftige Beschreibung (Beispiel: Gives api-gateway developers the ability to add custom CAs and CA bundles). Sie können die Beschreibung später bei Bedarf ändern.
    • Anweisung: Die folgende Policy-Anweisung, mit der die Gruppe benutzerdefinierte CAs und benutzerdefinierte CA-Bundles zum benutzerdefinierten Truststore von API-Gateways im Compartment hinzufügen kann:

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

      Beispiel:

      Allow group acme-apigw-developers to manage certificate-authority-family in compartment acme-apigw-compartment
    • Tags: Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, können Sie auf die Ressource auch Freiformtags anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  6. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateway-Benutzer benutzerdefinierte CAs und benutzerdefinierte CA-Bundles zu benutzerdefinierten Trust Stores hinzufügen können.

Policy erstellen, um API-Gateways Zugriff auf Funktionen zu erteilen

Wenn API-Gateway-Benutzer ein neues API-Gateway definieren, haben sie die Möglichkeit, eine in OCI Functions definierte serverlose Funktion als API-Backend anzugeben. Vor dem Erstellen des API-Gateways prüft der API Gateway-Service, ob das neue API-Gateway über eine IAM-Policy Zugriff auf die angegebene Funktion hat.

Beachten Sie, dass Sie zusätzlich zu dieser Policy für API-Gateways auch eine Policy erstellen müssen, mit der Benutzern Zugriff auf OCI Functions gewährt wird, damit Benutzer Funktionen als API-Backends angeben können (siehe Policy erstellen, um API-Gateway-Benutzern Zugriff auf Funktionen zu erteilen).

So erstellen Sie eine Policy, um API-Gateways Zugriff auf in OCI Functions definierte Funktionen zu erteilen:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Erstellen Sie eine neue Policy, um API-Gateways Zugriff auf in OCI Functions definierte Funktionen zu erteilen:

    1. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
    2. Wählen Sie das Compartment aus, das die funktionsbezogenen Ressourcen enthält, auf die Sie Zugriff erteilen möchten. Wenn die Ressourcen in unterschiedlichen Compartments enthalten sind, wählen Sie ein gemeinsames übergeordnetes Compartment (z.B. das Root-Compartment des Mandanten) aus.
    3. Befolgen Sie die Anweisungen unter So erstellen Sie eine Policy, und geben Sie der Policy einen Namen (z.B. acme-apigw-gateways-functions-policy).
    4. Geben Sie eine Policy-Anweisung ein, um API-Gateways Zugriff auf das Compartment zu erteilen, das in OCI Functions definierte Funktionen enthält:

      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>'}

      Dabei gilt:

      • <functions-compartment-name> ist der Name des Compartments, das die Funktionen enthält, die Sie als Backends für API-Gateways verwenden möchten.
      • <api-gateway-compartment-OCID> ist die OCID des Compartments, das die API-Gateways enthält, denen Sie Zugriff auf die Funktionen erteilen möchten.

      Beispiel:

      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. Wählen Sie Erstellen aus, um die Policy zu erstellen, mit der API-Gateways Zugriff auf in OCI Functions definierte Funktionen erteilt wird.

Policy erstellen, um API-Gateways Zugriff auf Zugangsdaten zu erteilen, die im Vault-Service als Secrets gespeichert sind

Wenn API-Gateway-Benutzer ein API-Gateway definieren, das Antwortdaten in einem externen Cacheserver (wie einem Redis-Server) cacht, müssen die Zugangsdaten für die Authentifizierung beim Cacheserver im Vault-Service gespeichert werden. Wenn API-Gateway-Benutzer ein API-Gateway definieren, das zur Validierung von Token auf den Introspektionsendpunkt eines Autorisierungsservers zugreift, müssen die Zugangsdaten zur Authentifizierung beim Autorisierungsserver im Vault-Service gespeichert werden. Um die Authentifizierung von API-Gateways beim Cacheserver oder Autorisierungsserver zu ermöglichen, müssen Sie eine Policy erstellen, die API-Gateways Zugriff auf Secrets im Vault-Service erteilt.

So erstellen Sie eine Policy, um API-Gateways Zugriff auf Secrets im Vault-Service zu erteilen:

  1. Melden Sie sich als Mandantenadministrator in der Konsole an.
  2. Erstellen Sie eine neue dynamische Gruppe mit einem oder mehreren API-Gateways:

    1. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Domains aus. Wählen Sie unter Identitätsdomain die Option Dynamische Gruppen aus.
    2. Befolgen Sie die Anweisungen unter So erstellen Sie eine dynamische Gruppe, und geben Sie der dynamischen Gruppe einen Namen (Beispiel: acme-apigw-dyn-grp).
    3. Beachten Sie bei der Angabe einer Regel für die dynamische Gruppe die folgenden Beispiele:

      • Wenn alle API-Gateways in einem Compartment auf Secrets zugreifen sollen, geben Sie eine Regel wie im folgenden Beispiel ein, die alle API-Gateways im Compartment mit der angegebenen Compartment-OCID zur dynamischen Gruppe hinzugefügt:

        ALL {resource.type = 'ApiGateway', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
      • Wenn ein bestimmtes API-Gateway auf Secrets zugreifen kann, geben Sie eine Regel wie die Folgende ein, die das API-Gateway mit der angegebenen OCID zur dynamischen Gruppe hinzufügt:

        ALL {resource.type = 'ApiGateway', resource.id = 'ocid1.apigateway.oc1.iad.aaaaaaaab______hga'}
    4. Wählen Sie Dynamische Gruppe erstellen aus.

    Nachdem Sie eine dynamische Gruppe erstellt haben, die mindestens ein API-Gateways enthält, können Sie jetzt eine Policy erstellen, um der dynamischen Gruppe Zugriff auf mindestens ein Secret zu erteilen.

  3. Erstellen Sie eine neue Policy, um der dynamischen Gruppe Zugriff auf ein oder mehrere Secrets im Vault-Service zu erteilen:

    1. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
    2. Folgen Sie den Anweisungen unter So erstellen Sie eine Policy, und geben Sie der Policy einen Namen (z.B. acme-apigw-dyn-grp-policy).
    3. Beachten Sie bei der Angabe einer Policy-Anweisung die folgenden Beispiele:

      • Wenn API-Gateways in der acme-apigw-dyn-grp auf alle Secrets in einem Compartment zugreifen können sollen, geben Sie eine Policy-Anweisung wie die Folgende ein:

        allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment
      • Wenn API-Gateways in der acme-apigw-dyn-grp auf ein bestimmtes Secret zugreifen können sollen, geben Sie eine Policy-Anweisung wie die Folgende ein:

        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. Wählen Sie Erstellen aus, um die neue Policy zu erstellen, die API-Gateways in der dynamischen Gruppe Zugriff auf die angegebenen Secrets im Vault-Service erteilt.