Funktionsimages signieren und die Verwendung signierter Images aus der Registry erzwingen
Erfahren Sie, wie Sie Funktionsimages signieren und die Verwendung signierter Images aus Oracle Cloud Infrastructure Registry beim Deployment und Aufrufen von Funktionen mit OCI Functions erzwingen.
Aus Compliance- und Sicherheitsgründen möchten Systemadministratoren Software oft nur dann in einem Produktionssystem bereitstellen, wenn sie sich sicher sind, dass:
- die Software aus einer vertrauenswürdigen Quelle stammt
- die Software seit ihrer Veröffentlichung nicht mehr geändert wurde, was ihre Integrität kompromittieren würde
Um diese Anforderungen zu erfüllen, können Sie Images signieren, die in der Oracle Cloud Infrastructure Registry gespeichert sind. Signierte Images bieten eine Möglichkeit, sowohl die Quelle eines Images als auch seine Integrität zu überprüfen. Mit Oracle Cloud Infrastructure Registry können Benutzer oder Systeme Images an die Registry übertragen und diese dann signieren. Dadurch wird eine Imagesignatur erstellt. Eine Imagesignatur verknüpft ein Image mit einem Masterverschlüsselungsschlüssel, der aus Oracle Cloud Infrastructure Vault abgerufen wurde.
Benutzer oder Systeme, die ein signiertes Image aus Oracle Cloud Infrastructure Registry abrufen, können sich sicher sein, dass die Quelle des Images vertrauenswürdig ist und dass die Integrität des Images nicht kompromittiert wurde. Weitere Informationen finden Sie unter Images für mehr Sicherheit signieren.
Um die Sicherheit weiter zu verbessern, können Sie OCI Functions-Anwendungen so konfigurieren, dass nur die Erstellung, Aktualisierung, das Deployment und der Aufruf von Funktionen basierend auf Images in Oracle Cloud Infrastructure Registry zulässig sind, die von bestimmten Masterverschlüsselungsschlüsseln signiert wurden. Im Allgemeinen führen Sie dazu die folgenden Schritte aus:
- Rufen Sie die Masterverschlüsselungsschlüssel aus Oracle Cloud Infrastructure Vault ab, um die Images zu signieren, die beim Erstellen, Aktualisieren, Bereitstellen und Aufrufen von Funktionen an Oracle Cloud Infrastructure Registry übertragen und daraus abgerufen werden.
- Erstellen Sie eine Policy zur Verifizierung der Imagesignatur für die Anwendung. Die Signaturverifizierungs-Policy definiert den Masterverschlüsselungsschlüssel, mit dem Images signiert werden, die beim Erstellen, Aktualisieren, Bereitstellen und Aufrufen von Funktionen in der Anwendung an Oracle Cloud Infrastructure Registry übertragen und daraus abgerufen werden.
- Wenn Sie mit dem Befehl
fn deploy
Funktionen in einer Anwendung bereitstellen, die über eine Signaturverifizierungs-Policy verfügt, geben Sie den Masterverschlüsselungsschlüssel aus der Signaturverifizierungs-Policy in der Datei func.yaml der Funktion an. Wenn Sie das Image der Funktion mit der Fn-Projekt-CLI in Oracle Cloud Infrastructure Registry übertragen, signiert die Fn-Projekt-CLI das Image mit dem Masterverschlüsselungsschlüssel. Siehe Fn-Projekt-CLI zum Signieren eines Funktionsimages für das Deployment in einer Anwendung mit einer Signaturüberprüfungs-Policy verwenden. - Wenn Sie mit der Konsole oder dem Befehl
fn create function
eine neue Funktion in einer Anwendung mit einer Signaturverifizierungs-Policy erstellen, basieren Sie die Funktion auf einem vorhandenen Docker-Image, das von einem Masterverschlüsselungsschlüssel in der Policy signiert wurde. Siehe Funktionen aus vorhandenen Docker-Images erstellen. Gleichermaßen basiert die Funktion beim Aktualisieren einer Funktion immer auf einem vorhandenen Image, das von einem Masterverschlüsselungsschlüssel in der Policy signiert wurde (siehe Funktion aktualisieren). Informationen zum Signieren von Images in Oracle Cloud Infrastructure Registry finden Sie unter Images für Sicherheit signieren.
Sie rufen eine Funktion in einer Anwendung auf, die über eine Signaturverifizierungs-Policy verfügt, und zwar auf die gleiche Weise wie Funktionen in anderen Anwendungen. Wenn die Funktion aufgerufen wird, prüft OCI Functions zunächst, ob das Image der Funktion in Oracle Cloud Infrastructure Registry mit dem Verschlüsselungsschlüssel signiert wurde, der in der Signaturverifizierungs-Policy der Anwendung angegeben ist. Wenn die Verifizierung des Verschlüsselungsschlüssels erfolgreich ist, ruft OCI Functions das Image aus Oracle Cloud Infrastructure Registry ab und ruft die Funktion auf. Wenn die Verifizierung des Verschlüsselungsschlüssels nicht erfolgreich war, lauten der Fehlercode und die Fehlermeldung (status 502: message: FunctionImageVerificationFail: Image cannot be verified or no valid signature found
):
- an den Anrufer zurückgegeben
- im Diagramm "Funktionsfehler" auf der Seite Metriken in der Konsole angezeigt
- im Standardaufrufbereich auf der Seite Traces in der Konsole angezeigt (wenn Funktionstracing aktiviert ist)
Folgendes ist zu beachten:
- Sie können bis zu fünf Funktionen in eine Anwendung aufnehmen, für die Sie eine Signaturverifizierungs-Policy definieren. Sie können einer solchen Anwendung keine sechste Funktion hinzufügen. Beachten Sie außerdem, dass Sie keine Signaturverifizierungs-Policy für eine vorhandene Anwendung definieren können, die bereits sechs oder mehr Funktionen enthält.
- Bevor Sie eine Signaturverifizierungs-Policy für eine vorhandene Anwendung erstellen, stellen Sie sicher, dass alle vorhandenen Funktionen in der Anwendung auf Images basieren, die bereits mit dem Masterverschlüsselungsschlüssel signiert wurden, den Sie in der Policy angeben möchten. Andernfalls können Sie die Signaturverifizierungs-Policy nicht erstellen.
- Ein Image in Oracle Cloud Infrastructure Registry kann mit mehreren Signaturen signiert werden, die jeweils mit einem anderen Masterverschlüsselungsschlüssel verknüpft sind. Wenn die Signaturprüfungs-Policy einer Anwendung einen der Masterverschlüsselungsschlüssel enthält, lässt die Anwendung das Image aus Oracle Cloud Infrastructure Registry abrufen.
- Wenn Sie die Verwendung der Signaturverifizierungs-Policy durch eine Anwendung aktivieren, OCI Functions jedoch keine Verbindung zu Oracle Cloud Infrastructure Registry herstellen kann, können keine Images aus Oracle Cloud Infrastructure Registry abgerufen werden.
Erforderliche IAM-Policys zum Erzwingen der Verwendung signierter Images
Um eine Signaturverifizierungs-Policy durchzusetzen, muss OCI Functions erteilt worden sein:
- Zugriff zum Prüfen von Masterverschlüsselungsschlüsseln in Oracle Cloud Infrastructure Vault mit einer Policy wie:
Allow service faas to {KEY_READ} in compartment <compartment-name> where request.operation = 'GetKeyVersion'
Allow service faas to {KEY_VERIFY} in compartment <compartment-name> where request.operation = 'Verify'
- Zugriff auf Images in Oracle Cloud Infrastructure Registry mit einer Policy wie:
Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'
Um eine Signaturverifizierungs-Policy zu erstellen, benötigen Sie folgende Berechtigung:
- Zugriff auf Masterverschlüsselungsschlüssel in Oracle Cloud Infrastructure Vault mit einer Policy wie:
Allow group <groupname> to read vaults in compartment <compartment-name>
Allow group <groupname> to use keys in compartment <compartment-name>
- Zugriff auf Images in Oracle Cloud Infrastructure Registry mit einer Policy wie:
Allow group <groupname> to read repos in tenancy
Sie können die Masterverschlüsselungsschlüssel, die für die Signierung von Funktionsimages und die Signaturverifizierung verwendet werden können, mit restriktiveren Policys einschränken (Beispiel: Policy-Anweisungen, mit denen OCI Functions Service- und OCI Functions-Benutzern Zugriff auf Oracle Vault-Ressourcen erteilt wird).
Verschlüsselungsschlüssel abrufen, mit denen Funktionsimages signiert werden sollen (wenn sie noch nicht vorhanden sind)
So rufen Sie den Masterverschlüsselungsschlüssel ab, der in die Signaturverifizierungs-Policy einer Anwendung aufgenommen werden soll, und geben bei der Bereitstellung einer Funktion in der Anwendung Folgendes an:
-
Wenn Sie noch keinen Zugriff auf einen asymmetrischen RSA- oder ECDSA-Schlüssel in Oracle Cloud Infrastructure Vault haben, rufen Sie entweder Zugriff auf einen vorhandenen asymmetrischen RSA- oder ECDSA-Schlüssel ab, oder erstellen Sie einen neuen Masterverschlüsselungsschlüssel als asymmetrischen RSA- oder ECDSA-Schlüssel (siehe Masterverschlüsselungsschlüssel erstellen).
Beachten Sie, dass die Verwendung von symmetrischen AES-Schlüsseln zum Signieren von Images nicht unterstützt wird. Weitere Informationen zu verschiedenen Schlüsseltypen finden Sie unter Überblick über Vault.
-
Notieren Sie sich sowohl die OCID des Masterverschlüsselungsschlüssels als auch die OCID der Schlüsselversion, die in Oracle Cloud Infrastructure Vault gespeichert ist. Siehe Masterschlüssel auflisten.
Sie verwenden diese OCIDs beim Deployment der Funktion.
Signaturverifizierungs-Policy für eine Anwendung erstellen
So definieren Sie eine Signaturverifizierungs-Policy für eine Anwendung und geben einen Masterverschlüsselungsschlüssel an, mit dem Images signiert werden können:
- Wählen Sie auf der Listenseite Anwendungen die Anwendung aus, für die Sie eine Signaturverifizierungs-Policy definieren möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder der Anwendung benötigen, finden Sie weitere Informationen unter Anwendungen auflisten.
- Wählen Sie unter Ressourcen die Option Signaturverifizierung aus.
- Wählen Sie Signaturüberprüfung verwalten aus.
- Wählen Sie Signaturüberprüfungs-Policys für diese Anwendung aktivieren aus, damit die Anwendung die von Ihnen definierte Signaturüberprüfungs-Policy verwenden kann.
Wenn noch keine Policy zum Erteilen von OCI Functions-Zugriff auf Oracle Cloud Infrastructure Registry vorhanden ist, werden Sie aufgefordert, eine solche Policy zu erstellen. Wenn Sie ein Administrator sind, erstellen Sie die Policy. Bitten Sie andernfalls den Administrator, die Policy für Sie zu erstellen. Siehe Erforderliche IAM-Policys zum Erzwingen der Verwendung signierter Images.
-
Wählen Sie in Oracle Cloud Infrastructure Vault einen Masterverschlüsselungsschlüssel aus, mit dem Images signiert werden müssen.
Wenn Policys zum Erteilen von OCI Functions-Zugriff auf den Masterverschlüsselungsschlüssel in Oracle Cloud Infrastructure Vault noch nicht vorhanden sind, werden Sie aufgefordert, diese Policys zu erstellen. Wenn Sie Administrator sind, erstellen Sie die Policys. Bitten Sie andernfalls den Administrator, die Policys für Sie zu erstellen. Siehe Erforderliche IAM-Policys zum Erzwingen der Verwendung signierter Images.
Beachten Sie, dass alle vorhandenen Funktionen in der Anwendung auf Images basieren müssen, die bereits mit dem ausgewählten Masterverschlüsselungsschlüssel signiert wurden. Andernfalls können Sie die Signaturverifizierungs-Policy nicht erstellen.
-
Wählen Sie Änderungen speichern aus.
Ab jetzt:
- Wenn Sie eine Funktion in dieser Anwendung bereitstellen (z.B. mit dem Befehl
fn deploy
), müssen Sie Imagesignieroptionen festlegen. Diese Optionen identifizieren den Masterverschlüsselungsschlüssel in der Signaturverifizierungs-Policy der Anwendung, einschließlich der OCID des Masterverschlüsselungsschlüssels. Wenn Sie einen gültigen Masterverschlüsselungsschlüssel angeben, wird das Image an Oracle Cloud Infrastructure Registry übertragen und mit dem Verschlüsselungsschlüssel signiert. - Wenn Sie eine neue Funktion in dieser Anwendung mit der Konsole oder der Fn-Projekt-CLI erstellen (oder eine vorhandene Funktion aktualisieren), müssen Sie ein vorhandenes Image angeben, das mit dem Masterverschlüsselungsschlüssel in der Signaturverifizierungs-Policy der Anwendung signiert wurde.
- Wenn eine Funktion in dieser Anwendung aufgerufen wird, prüft OCI Functions zuerst das Image in Oracle Cloud Infrastructure Registry. OCI Functions ruft das Image nur aus Oracle Cloud Infrastructure Registry ab und ruft die Funktion auf, wenn die Verifizierung des Verschlüsselungsschlüssels erfolgreich ist.
Funktionsimage mit der Fn-Projekt-CLI für das Deployment in einer Anwendung mit einer Signaturverifizierungs-Policy signieren
Mit dem Fn-Projekt-CLI-Befehl fn deploy
können Sie eine Funktion in einer Anwendung bereitstellen, die über eine Signaturverifizierungs-Policy verfügt, indem Sie den Masterverschlüsselungsschlüssel aus der Signaturverifizierungs-Policy in der Datei func.yaml der Funktion angeben. Das Funktionsimage wird dann während des Deployments signiert.
So stellen Sie mit der Fn-Projekt-CLI eine Funktion basierend auf einem signierten Funktionsimage in einer Anwendung bereit, die über eine aktivierte Signaturverifizierungs-Policy verfügt:
-
Führen Sie die Schritte unter Funktionen erstellen und bereitstellen aus, um eine Funktion mit dem Befehl
fn init
zu erstellen, verwenden Sie jedoch nicht sofort den Befehlfn -v deploy
. Befolgen Sie stattdessen die folgenden Anweisungen, um zuerst Details zur Imagesignatur zur Datei func.yaml der Funktion hinzuzufügen, und verwenden Sie dann den Befehlfn -v deploy
. - Nachdem Sie die Funktion mit dem Befehl
fn init
initialisiert haben, wechseln Sie in das neu erstellte Verzeichnis, das die Datei func.yaml der Funktion enthält. - Bearbeiten Sie die Datei func.yaml der Funktion, und fügen Sie den folgenden Abschnitt hinzu:
signing_details: image_compartment_id: <root-compartment-ocid> kms_key_id: <key-ocid> kms_key_version_id: <key-version-ocid> signing_algorithm: <signing-algorithm>
Hierbei gilt:
image_compartment_id: <root-compartment-ocid>
ist die OCID des Root Compartments des Mandanten, das Eigentümer des Repositorys in Oracle Cloud Infrastructure Registry ist, an das Sie das Funktionsimage übergeben möchten. Beispiel:image_compartment_id: ocid1.tenancy.oc1..aaaaaaaa___ta
.kms-key-id: <key-ocid>
ist die OCID des Masterverschlüsselungsschlüssels, mit dem das Image signiert werden soll. Da Sie eine Funktion basierend auf diesem Image in einer Anwendung mit einer aktivierten Signaturverifizierungs-Policy bereitstellen, müssen Sie die OCID eines Masterverschlüsselungsschlüssels angeben, der in der Signaturverifizierungs-Policy enthalten ist (siehe Signaturverifizierungs-Policy für eine Anwendung erstellen). Beispiel:kms-key-id: ocid1.key.oc1.phx.bbqehaq3aadfa.abyh______qlj
kms-key-version-id: <key-version-ocid>
ist die OCID der Schlüsselversion, mit der das Image signiert werden soll. Beispiel:kms-key-version-id: ocid1.keyversion.oc1.phx.0.bbqehaq3aadfa.acy6______mbb
-
signing-algorithm: <signing-algorithm>
ist einer der folgenden Algorithmen zum Signieren des Images:SHA_224_RSA_PKCS_PSS
SHA_256_RSA_PKCS_PSS
SHA_384_RSA_PKCS_PSS
SHA_512_RSA_PKCS_PSS
SHA_224_RSA_PKCS1_V1_5
SHA_256_RSA_PKCS1_V1_5
SHA_384_RSA_PKCS1_V1_5
SHA_512_RSA_PKCS1_V1_5
ECDSA_SHA_256
ECDSA_SHA_384
ECDSA_SHA_512
Der zu wählende Algorithmus hängt vom Typ des Masterverschlüsselungsschlüssels ab. Unterstützte Signaturschemas für RSA-Schlüssel sind PKCS #1 und RSASSA-PSS sowie verschiedene Hashing-Algorithmen. Bei ECDSA-Schlüsseln ist ECDSA das unterstützte Signaturschema mit verschiedenen Hashing-Algorithmen. Die aktuelle Liste der unterstützten Algorithmen finden Sie unter Signieren und der Ressource SignDataDetails in der Vault-API-Dokumentation.
Beispiel:
signing-algorithm: SHA_224_RSA_PKCS_PSS
Beispiel:
schema_version: 20180708 name: hello-java version: 0.0.1 runtime: java build_image: fnproject/fn-java-fdk-build:jdk11-1.0.141 run_image: fnproject/fn-java-fdk:jre11-1.0.141 cmd: com.example.fn.HelloFunction::handleRequest signing_details: image_compartment_id: ocid1.tenancy.oc1..aaaaaaaa___ta kms_key_id: ocid1.key.oc1.phx.bbqehaq3aadfa.abyh______qlj kms_key_version_id: ocid1.keyversion.oc1.phx.0.bbqehaq3aadfa.acy6______mbb signing_algorithm: SHA_224_RSA_PKCS_PSS
- Geben Sie im Verzeichnis mit der Datei func.yaml der Funktion den folgenden einzelnen Fn-Projektbefehl ein, um die Funktion und ihre Abhängigkeiten als signiertes Docker-Image zu erstellen und bereitzustellen:
fn -v deploy --app <app-name>
Dabei ist
<app-name>
der Name einer Anwendung mit einer aktivierten Imageverifizierungs-Policy.Das Image wird erstellt, an die angegebene Docker-Registry übertragen und mit dem Masterverschlüsselungsschlüssel und der Schlüsselversion signiert, die in der Datei func.yaml angegeben sind. Die auf dem signierten Image basierende Funktion wurde erfolgreich in OCI Functions in der Anwendung mit der aktivierten Imageverifizierungs-Policy bereitgestellt, die Sie im Befehl angegeben haben.
Mit der OCI-CLI ein Funktionsimage für das Deployment in einer Anwendung mit einer Signaturverifizierungs-Policy signieren
Mit dem OCI-CLI-Befehl oci artifacts container image-signature sign-upload
können Sie ein Funktionsimage signieren, nachdem Sie das Image mit dem Fn-Projekt-CLI-Befehl fn push
an Oracle Cloud Infrastructure Registry übergeben haben. Anschließend können Sie mit den OCI-CLI-Befehlen oci fn function create
und oci fn function update
eine Funktion basierend auf dem signierten Image in einer Anwendung bereitstellen, die über eine Signaturverifizierungs-Policy verfügt.
So stellen Sie mit der OCI-CLI eine Funktion basierend auf einem signierten Funktionsimage in einer Anwendung bereit, für die eine Signaturverifizierungs-Policy aktiviert ist:
-
Führen Sie die Schritte unter Funktionen erstellen und bereitstellen aus, um eine Funktion zu erstellen, verwenden Sie jedoch nicht den Befehl
fn -v deploy
. Anstattfn -v deploy
zu verwenden, führen Sie die folgenden nummerierten Schritte aus, um:fn -v build
-Befehl verwenden, um die Funktion und ihre Abhängigkeiten als Docker-Image zu erstellen- Verwenden Sie den Befehl
fn -v push
, um das Image zu taggen und an Container Registry zu übergeben - Verwenden Sie den Befehl
oci artifacts container image-signature sign-upload
, um das Image zu signieren. - Verwenden Sie den Befehl
oci fn function create
, um eine Funktion basierend auf dem signierten Image zu erstellen (oder verwenden Sie den Befehloci fn function update
, um eine vorhandene Funktion auf dem signierten Image zu basieren)
- Erstellen Sie die Funktion und ihre Abhängigkeiten mit dem Befehl
fn -v build
als Docker-Image. Beispiel:fn -v build
-
Notieren Sie sich den Bildnamen, der in der Ausgabe des vorherigen Befehls angezeigt wird.
Beispiel: Der Imagename kann
phx.ocir.io/ansh81vru1zp/helloworld/helloworld-func:0.0.1
lauten. - Übertragen Sie das Image mit dem Befehl
fn -v push
an Container Registry. Beispiel:fn -v push
- Rufen Sie die OCID des Images ab, entweder mit der Konsole (siehe Images und Imagedetails anzeigen) oder mit der CLI (verwenden Sie den Befehl
oci artifacts container image list --compartment-id <compartment-ocid> --repository-name <repository-name>
). - Signieren Sie das Image, das Sie per Push an Container Registry übergeben haben, mit dem Masterschlüssel und der Schlüsselversion im Vault-Service, und erstellen Sie so eine Imagesignatur, indem Sie Folgendes eingeben:
oci artifacts container image-signature sign-upload --compartment-id <compartment-ocid> --kms-key-id <key-ocid> --kms-key-version-id <key-version-ocid> --signing-algorithm <signing-algorithm> --image-id <image-ocid> --description <signature-description>
Hierbei gilt:--compartment-id <compartment-ocid>
ist die OCID des Compartments, zu dem das Repository des Images gehört. Beispiel:--compartment-id ocid1.compartment.oc1..aaaaaaaa23______smwa
--kms-key-id <key-ocid>
ist die OCID des Masterverschlüsselungsschlüssels, mit dem das Image signiert werden soll. Da Sie eine Funktion erstellen, die auf diesem Image in einer Anwendung mit einer aktivierten Signaturverifizierungs-Policy basiert, müssen Sie die OCID eines Masterverschlüsselungsschlüssels angeben, der in der Signaturverifizierungs-Policy enthalten ist (siehe Signaturverifizierungs-Policy für eine Anwendung erstellen). Beispiel:--kms-key-id ocid1.key.oc1.phx.bbqehaq3aadfa.abyh______qlj
--kms-key-version-id <key-version-ocid>
ist die OCID der Schlüsselversion, mit der das Image signiert werden soll. Beispiel:--kms-key-version-id ocid1.keyversion.oc1.phx.0.bbqehaq3aadfa.acy6______mbb
-
--signing-algorithm <signing-algorithm>
ist einer der folgenden Algorithmen zum Signieren des Images:SHA_224_RSA_PKCS_PSS
SHA_256_RSA_PKCS_PSS
SHA_384_RSA_PKCS_PSS
SHA_512_RSA_PKCS_PSS
SHA_224_RSA_PKCS1_V1_5
SHA_256_RSA_PKCS1_V1_5
SHA_384_RSA_PKCS1_V1_5
SHA_512_RSA_PKCS1_V1_5
ECDSA_SHA_256
ECDSA_SHA_384
ECDSA_SHA_512
Der zu wählende Algorithmus hängt vom Typ des Masterverschlüsselungsschlüssels ab. Unterstützte Signaturschemas für RSA-Schlüssel sind PKCS #1 und RSASSA-PSS sowie verschiedene Hashing-Algorithmen. Bei ECDSA-Schlüsseln ist ECDSA das unterstützte Signaturschema mit verschiedenen Hashing-Algorithmen. Die aktuelle Liste der unterstützten Algorithmen finden Sie unter Signieren und der Ressource SignDataDetails in der Vault-API-Dokumentation.
Beispiel:
--signing-algorithm SHA_224_RSA_PKCS_PSS
--image-id <image-ocid>
ist die OCID des zu signierenden Images. Beispiel:--image-id ocid1.containerimage.oc1.phx.0.ansh81vru1zp.aaaaaaaalqzj______yks
--description <signature-description>
ist ein optionaler Text Ihrer Wahl, um das Bild zu beschreiben. Die Beschreibung ist als Teil der Signatur enthalten und wird in der Konsole angezeigt. Beispiel:--description "Image for UAT testing"
Beispiel:
oci artifacts container image-signature sign-upload --compartment-id ocid1.compartment.oc1..aaaaaaaa23______smwa --kms-key-id ocid1.key.oc1.phx.bbqehaq3aadfa.abyh______qlj --kms-key-version-id ocid1.keyversion.oc1.phx.0.bbqehaq3aadfa.acy6______mbb --signing-algorithm SHA_224_RSA_PKCS_PSS --image-id ocid1.containerimage.oc1.phx.0.ansh81vru1zp.aaaaaaaalqzj______yks --description "Image for UAT testing"
Das Funktionsimage wird jetzt mit demselben Masterverschlüsselungsschlüssel signiert, der in der Signaturüberprüfungs-Policy der Anwendung angegeben ist.
-
Wenn Sie eine neue Funktion basierend auf dem signierten Bild erstellen möchten, geben Sie Folgendes ein:
oci fn function create --application-id <app-ocid> --display-name <function-name> --image <image-name> --memory-in-mbs <memory>
Hierbei gilt:
<app-ocid>
ist die OCID der Anwendung mit der aktivierten Signaturverifizierungs-Policy, in der die neue Funktion erstellt werden soll.<function-name>
ist der Name der neuen Funktion, die Sie erstellen möchten. Geben Sie keine vertraulichen Informationen ein.<image-name>
ist der Name des in der Docker-Registrierung signierten Images, auf dem die neue Funktion basieren soll.<memory>
ist der maximal verwendbare Arbeitsspeicher für die neue Funktion.
Beispiel:
oci fn function create --application-id ocid1.fnapp.oc1.phx.aaaaaaaaaf______r3ca --display-name helloworld-func --image phx.ocir.io/ansh81vru1zp/helloworld/helloworld-func:0.0.1 --memory-in-mbs 128
In der Anwendung mit der Signaturverifizierungs-Policy wurde erfolgreich eine neue Funktion erstellt. Die Funktion basiert auf dem signierten Image und dem angegebenen Namen.
-
Wenn Sie eine vorhandene Funktion so aktualisieren möchten, dass die Funktion auf dem signierten Image basiert, aktualisieren Sie die vorhandene Funktion, indem Sie Folgendes eingeben:
oci fn function update --function-id <function-ocid> --image <image-name>
Hierbei gilt:
<function-id>
ist die OCID der vorhandenen Funktion, die Sie aktualisieren möchten.<image-name>
ist der Name des in der Docker-Registrierung signierten Images, auf dem die Funktion basieren soll.
Beispiel:
oci fn function update --function-id ocid1.fnfunc.oc1.phx.aaaa____uxoa --image phx.ocir.io/ansh81vru1zp/helloworld/helloworld-func:0.0.1