Mandant für Funktionsentwicklung vorbereiten

Damit eine Funktion auf eine andere Oracle Cloud Infrastructure-Ressource zugreifen kann, müssen Sie die Funktion in eine dynamische Gruppe aufnehmen und dann eine Policy erstellen, um der dynamischen Gruppe Zugriff auf diese Ressource zu erteilen.

Dynamische Gruppe für Funktionen erstellen

Mit dynamischen Gruppen können Sie Oracle Cloud Infrastructure-Computerinstanzen als "Principal"-Akteure gruppieren (ähnlich wie Benutzergruppen). Anschließend können Sie Policys erstellen, mit denen Instanzen API-Aufrufe für Oracle Cloud Infrastructure-Services durchführen können.

Wenn Sie eine dynamische Gruppe erstellen, anstatt der Gruppe explizit Mitglieder hinzuzufügen, definieren Sie stattdessen eine Gruppe von Übereinstimmungsregeln, um die Gruppenmitglieder zu definieren. Beispiel: Eine Regel kann angeben, dass alle Instanzen in einem bestimmten Compartment Mitglieder der dynamischen Gruppe sind. Die Elemente können sich dynamisch ändern, wenn Instanzen in diesem Compartment gestartet und beendet werden.

  1. Öffnen Sie die Konsole, klicken Sie auf Identität, und klicken Sie auf Dynamische Gruppen. Eine Liste der dynamischen Gruppen in Ihrem Mandanten wird angezeigt.
  2. Klicken Sie auf Dynamische Gruppe erstellen.
  3. Geben Sie Folgendes ein:
    • Name: Ein eindeutiger Name für die Gruppe. Der Name muss für alle Gruppen in Ihrem Mandanten eindeutig sein (dynamische Gruppen und Benutzergruppen). Dies kann später nicht mehr geändert werden.
    • Beschreibung: Eine freundliche Beschreibung. Sie können dies in der Konsole nicht ändern, aber mit der API ändern.
  4. Geben Sie die Abgleichsregeln ein. Ressourcen, die den Regelkriterien entsprechen, sind Mitglieder der Gruppe.
    • Regel 1: Damit alle Funktionen in einem Compartment auf eine Ressource zugreifen können, geben Sie eine Regel wie folgt ein, wobei <compartment_id> die OCID des Compartments ist, in dem die Anwendung und zugehörige Funktionen bereitgestellt werden:
      ALL {resource.type = 'fnfunc', resource.compartment.id = '<compartment_id>'}
    • Geben Sie bei Bedarf weitere Regeln ein. Um eine Regel hinzuzufügen, klicken Sie auf +Additional-Regel.

  5. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, haben Sie auch Berechtigungen zum Anwenden von Freiform-Tags für diese Ressource. Um ein definiertes Tag anzuwenden, müssen Sie über Berechtigungen zur Verwendung des Tag-Namespace verfügen. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option (Sie können Tags später anwenden), oder fragen Sie den Administrator.
  6. Klicken Sie auf Dynamische Gruppe erstellen.

    Die Abgleichsregelsyntax wird geprüft, die OCIDs, die Sie in den Regeln verwendet haben, sind jedoch nicht. Stellen Sie sicher, dass die von Ihnen eingegebenen OCIDs korrekt sind.

Policys für Funktionen erstellen

Mit einer Policy kann eine Gruppe auf bestimmte Weise mit bestimmten Ressourcentypen in einem bestimmten Compartment arbeiten.

Die Gruppe und das Compartment, für die Sie die Policy schreiben, müssen bereits vorhanden sein.

Die folgenden Schritte fügen Policys zu dem Compartment hinzu, in dem die Anwendung und zugehörige Funktionen bereitgestellt werden, und zu dem Root-Compartment für die Instanz.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Governance und Administration auf Identität und anschließend auf Policys.
    Eine Liste der Policys im angezeigten Compartment wird angezeigt.
  2. Wählen Sie aus der Liste der Compartments auf der linken Seite das Compartment, in dem die Anwendung und zugehörige Funktionen bereitgestellt werden sollen.
  3. Klicken Sie auf Policy erstellen.
  4. Machen Sie folgende Angaben:
    • Name: Ein eindeutiger Name für die Policy. Der Name muss für alle Policys in Ihrem Mandanten eindeutig sein. Dies kann später nicht geändert werden.
    • Beschreibung: Eine freundliche Beschreibung. Sie können dies zu einem späteren Zeitpunkt ändern.
    • Policy-Versionierung: Wählen Sie Policy aktuell halten aus, wenn die Policy mit zukünftigen Änderungen an den Definitionen von Verben und Ressourcen des Service aktuell bleiben soll. Oder wenn Sie den Zugriff entsprechend den Definitionen einschränken möchten, die an einem bestimmten Datum aktuell waren, wählen Sie Versionsdatum verwenden aus, und geben Sie dieses Datum im Format YYYYY-MM-DD ein.
  5. Geben Sie eine Policy-Anweisung an. Um mindestens eine vordefinierte Anweisung hinzuzufügen, klicken Sie auf Anpassen (Erweitert).
    Fügen Sie die folgenden Policy-Anweisungen hinzu, wobei <group_name> der Name der verknüpften dynamischen Gruppe ist und <compartment_name> das Compartment ist, in dem die Anwendung und die zugehörigen Funktionen bereitgestellt werden:
    • Fügen Sie die folgenden Anweisungen hinzu, damit Funktionen auf Ressourcen im Compartment zugreifen können:
      Allow dynamic-group <group_name> to manage buckets in compartment <compartment_name>
      Allow dynamic-group <group_name> to manage objects in compartment <compartment_name>
      allow dynamic-group <group_name> to use autonomous-databases in compartment <compartment_name> where request.permission='AUTONOMOUS_DATABASE_CONTENT_READ'
      Allow dynamic-group <group_name> to inspect instances in compartment <compartment_name>
      Allow service FaaS to use virtual-network-family in compartment <compartment_name>
      Allow group fleetAdmins to manage functions-family in compartment <compartment_name>
    • Fügen Sie die folgenden Anweisungen hinzu, damit Oracle Cloud Infrastructure Events Funktionen aufrufen kann, wenn eine Datei in Oracle Cloud Infrastructure Object Storage hochgeladen wird:
      Allow dynamic-group <group_name> to inspect streams in compartment <compartment_name>
      Allow dynamic-group <group_name> to manage cloudevents-rules in compartment <compartment_name>
      Allow dynamic-group <group_name> to use stream-push in compartment <compartment_name>
      Allow dynamic-group <group_name> to use stream-pull in compartment <compartment_name>
  6. Klicken Sie auf Erstellen.
    Die neu erstellte Policy wird mit den Policys für das Compartment aufgelistet.
  7. Wählen Sie in der Liste der Compartments auf der linken Seite das Root-Compartment (<instance-name> (root)), und wiederholen Sie die Schritte 3 und 4 oben.
  8. Geben Sie eine Policy-Anweisung an. Um mindestens eine vordefinierte Anweisung hinzuzufügen, klicken Sie auf Anpassen (Erweitert).
    Fügen Sie die folgenden Policy-Anweisungen hinzu, in denen <compartment_name> das Compartment ist, in dem die Anwendung und zugehörige Funktionen bereitgestellt werden:
    Allow service FaaS to manage repos in tenancy
    Allow service FaaS to use virtual-network-family in compartment <compartment_name>
  9. Klicken Sie auf Erstellen.
    Die neu erstellte Policy wird mit den Policys für das Root-Compartment aufgelistet.