Policys für die Kontrolle des Zugriffs auf Netzwerk- und funktionsbezogene Ressourcen erstellen
Erfahren Sie, wie Sie Policys erstellen, um den Zugriff von beiden Benutzern und dem OCI Functions-Service auf Netzwerkressourcen und funktionsbezogene Ressourcen zu kontrollieren.
Bevor Benutzer mit OCI Functions Funktionen erstellen und bereitstellen können, müssen Sie als Mandantenadministrator eine Reihe von Oracle Cloud Infrastructure-Policy-Anweisungen erstellen, um Zugriff auf Funktions- und Netzwerkressourcen zu erteilen.
Mit Policy Builder können Sie eine geeignete Policy erstellen, indem Sie unter Policy-Anwendungsfall die Option "Funktionen" auswählen und dann die Policy-Vorlage Erstellen, Bereitstellen und Verwalten von Funktionen und Anwendungen durch Benutzer zulassen auswählen. Diese Policy-Vorlage enthält alle erforderlichen Policy-Anweisungen für die Verwendung von OCI Functions. Siehe Policy-Anweisungen mit Policy Builder erstellen.
Alternativ können Sie eine oder mehrere Policys mit den Policy-Anweisungen erstellen (folgen Sie den Anweisungen unter So erstellen Sie eine Policy).
Policy-Anweisungen
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Ermöglicht es Benutzern, die Object Storage-Namespace-Zeichenfolge des Mandanten abzurufen | Root-Compartment |
Allow group <group-name> to read objectstorage-namespaces in tenancy
|
Bietet Benutzern Zugriff auf Repositorys in Oracle Cloud Infrastructure Registry | Compartment, das Eigentümer des Repositorys oder des Root Compartments ist | Allow group <group-name> to manage repos in tenancy|<compartment-name> |
Wenn OCI Functions-Benutzer mit Funktionen arbeiten, müssen sie auf Repositorys in Oracle Cloud Infrastructure Registry zugreifen können müssen. Benutzer können nur auf Repositorys zugreifen, für die den Gruppen, zu denen sie gehören, Zugriffsberechtigungen erteilt wurden. Damit Benutzer auf ein Repository zugreifen können, müssen Policy-Anweisungen den Gruppen Zugriff auf dieses Repository erteilen.
Mit der Policy-Anweisung Allow group <group-name> to read objectstorage-namespaces in tenancy
können Benutzer die automatisch generierte Object Storage-Namespace-Zeichenfolge des Mandanten abrufen, die für die Anmeldung bei Oracle Cloud Infrastructure Registry erforderlich ist. Diese Policy-Anweisung bietet auch Zugriff auf Funktionslogs, die in einem Speicher-Bucket in Oracle Cloud Infrastructure Object Storage gespeichert sind (siehe Funktionslogs speichern und anzeigen).
Wenn Sie die Policy-Anweisung Allow group <group-name> to manage repos in tenancy
verwenden, um Benutzern Zugriff auf Repositorys in Oracle Cloud Infrastructure Registry zu erteilen, beachten Sie, dass diese Policy-Anweisung der Gruppe die Berechtigung zur Verwaltung aller Repositorys im Mandanten erteilt. Wenn Ihnen diese Berechtigung zu weitreichend erscheint, können Sie die Repositorys, auf die die Gruppe Zugriff hat, einschränken, indem Sie eine Where-Klausel in die manage repos
-Anweisung aufnehmen. Wenn Sie eine Where-Klausel aufnehmen, müssen Sie auch eine weitere Anweisung in die Policy aufnehmen, damit die Gruppe alle Repositorys im Mandanten prüfen kann (bei Verwendung der Konsole). Beispiel: Die folgenden Policy-Anweisungen schränken den Zugriff auf Repositorys ein, deren Name mit "acme-web-app" beginnt. Sie ermöglichen der Gruppe aber auch eine Prüfung aller Repositorys im Mandanten:
Allow group acme-functions-developers to inspect repos in tenancy
Allow group acme-functions-developers to manage repos in tenancy where all {target.repo.name=/acme-web-app*/ }
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Ermöglicht Benutzern Zugriff auf funktionsbezogene Ressourcen | Compartment, das Eigentümer von funktionsbezogenen Ressourcen ist | Gruppe <group-name> das Verwalten von functions-family in Compartment <compartment-name> erlauben
|
Bietet Benutzern Zugriff auf Metriken, die von OCI Functions ausgegeben werden | Compartment, das Eigentümer von funktionsbezogenen Ressourcen ist | Gruppe <group-name> das Lesen von Metriken in Compartment <compartment-name> erlauben |
Wenn OCI Functions-Benutzer Funktionen und Anwendungen erstellen, müssen sie ein Compartment für diese funktionsbezogenen Ressourcen angeben (einschließlich Metriken, die von OCI Functions ausgegeben werden). Benutzer können nur ein Compartment angeben, auf das den Gruppen, zu denen sie gehören, Zugriff erteilt wurde. Damit Benutzer ein Compartment angeben können, müssen Policy-Anweisungen den Gruppen Zugriff auf das Compartment erteilen.
Mit der Policy-Anweisung Allow group <group-name> to manage functions-family in compartment <compartment-name>
erhalten Benutzer Zugriff auf funktionsbezogene Ressourcen.
Die Policy-Anweisung Allow group <group-name> to read metrics in compartment <compartment-name>
gibt Benutzern Zugriff auf Metriken, die von OCI Functions ausgegeben werden.
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Gewährt Benutzern Zugriff auf Loggingressourcen | Root-Compartment |
|
Wenn OCI Functions-Benutzer eine Anwendung definieren, können sie das Logging aktivieren, um Funktionslogs im Oracle Cloud Infrastructure Logging-Service zu speichern und anzuzeigen. Benutzer können nur Logs anzeigen, für die den Gruppen, zu denen sie gehören, Zugriffsberechtigungen erteilt wurden. Damit Benutzer Funktionslogs im Oracle Cloud Infrastructure Logging-Service speichern und anzeigen können, muss eine Policy-Anweisung den Gruppen Zugriff auf Loggingressourcen erteilen.
Die Policy-Anweisung Allow group <group-name> to manage logging-family in compartment <compartment-name>
erteilt Benutzern vollständigen Zugriff auf Loggingressourcen im Compartment, das Eigentümer von Loggingressourcen ist.
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Gibt Benutzern Zugriff auf Netzwerkressourcen | Compartment, das Eigentümer von Netzwerkressourcen ist | Gruppe <group-name> die Verwendung von virtual-network-family in Compartment <compartment-name> erlauben
|
Wenn OCI Functions-Benutzer eine Funktion oder Anwendung erstellen, müssen sie ein VCN und ein Subnetz für die Erstellung angeben. Benutzer können nur VCNs und Subnetze in Compartments angeben, auf das den Gruppen, zu denen sie gehören, Zugriff erteilt wurde. Damit Benutzer ein VCN und ein Subnetz angeben können, muss eine Policy-Anweisung den Gruppen Zugriff auf das Compartment erteilen.
Wenn OCI Functions-Benutzer Ingress- und Egress-Regeln definieren möchten, die für alle Funktionen in einer bestimmten Anwendung mit einer NSG gelten, können sie die Anwendung dieser NSG hinzufügen. Um eine Anwendung zu einer NSG hinzuzufügen, muss eine ähnliche Policy-Anweisung den Gruppen, zu denen Benutzer gehören, Zugriff auf das Compartment erteilen, zu dem die NSG gehört. Beachten Sie, dass die NSG möglicherweise zu einem anderen Compartment als das Subnetz der Funktion gehört. Weitere Informationen finden Sie unter Anwendungen zu Netzwerksicherheitsgruppen (NSGs) hinzufügen.
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Gibt dem OCI Functions-Service Zugriff auf Tracingressourcen | Compartment, das Eigentümer von Tracingressourcen oder des Root Compartments ist |
|
Bietet Benutzern Zugriff auf Tracing-Ressourcen | Compartment, das Eigentümer von Tracingressourcen oder des Root Compartments ist |
|
Wenn OCI Functions-Benutzer untersuchen möchten, warum eine Funktion nicht wie erwartet ausgeführt wird oder ausgeführt wird, können sie mit Tracing Ausführungs- und Performanceprobleme debuggen. Um Tracing zu verwenden, müssen Benutzer Tracing für die Anwendung aktivieren, die diese Funktion enthält, und dann Tracing für eine oder mehrere Funktionen aktivieren. Benutzer können dann Funktionstraces im Trace-Explorer von Application Performance Monitoring (APM) anzeigen. Weitere Informationen finden Sie unter Verteiltes Tracing für Funktionen.
Benutzer können Tracing nur aktivieren, wenn die Gruppe, zu der sie gehören, auf vorhandene APM-Domains zugreifen (oder neue APM-Domains erstellen) und wenn OCI Functions auf APM-Domains zugreifen kann. Damit Benutzer Tracing aktivieren und Traces anzeigen können, müssen Policy-Anweisungen der Gruppe und OCI Functions Zugriff auf APM-Domains erteilen.
Die Policy-Anweisung Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name>
erteilt Benutzern Zugriff auf das Tracing von Ressourcen im Compartment oder im gesamten Mandanten. Wenn Sie Benutzern das Erstellen neuer APM-Domains (und Löschen von APM-Domains) ermöglichen möchten, geben Sie manage apm-domains
anstelle von use apm-domains
an.
Die Policy-Anweisung Allow service faas to use apm-domains in tenancy|compartment <compartment-name>
erteilt OCI Functions Zugriff auf APM-Domains im Compartment oder im gesamten Mandanten.
Verwendung: | Erstellen in: | Anweisung: |
---|---|---|
Gibt dem OCI Functions-Service Zugriff, um Masterverschlüsselungsschlüssel in Oracle Cloud Infrastructure Vault zu prüfen | Compartment, das Eigentümer des Vault- und/oder Masterverschlüsselungsschlüssels oder des Root Compartments ist |
(Wenn Sie restriktivere Policy-Anweisungen benötigen, finden Sie Beispiele unten.) |
Gibt dem OCI Functions-Service Zugriff auf signierte Images in Oracle Cloud Infrastructure Registry | Root-Compartment |
|
Bietet Benutzern Zugriff auf Vaults und Masterverschlüsselungsschlüssel in Oracle Cloud Infrastructure Vault | Compartment, das Eigentümer des Vault- und/oder Masterverschlüsselungsschlüssels oder des Root Compartments ist |
(Wenn Sie restriktivere Policy-Anweisungen benötigen, finden Sie Beispiele unten.) |
Bietet Benutzern Zugriff auf signierte Images in Oracle Cloud Infrastructure Registry | Root-Compartment |
|
Benutzer können OCI Functions-Anwendungen so konfigurieren, dass nur das Erstellen, Aktualisieren, Deployment und Aufrufen von Funktionen auf Basis von Images in Oracle Cloud Infrastructure Registry zulässig ist, die von bestimmten Masterverschlüsselungsschlüsseln signiert wurden.
Um eine Signaturverifizierungs-Policy zu erstellen und signierte Funktionsimages zu erstellen und bereitzustellen, müssen Benutzer Zugriff auf Masterverschlüsselungsschlüssel in Vaults haben, die in Oracle Cloud Infrastructure Vault definiert sind. Um eine für eine Anwendung definierte Signaturverifizierungs-Policy durchzusetzen, muss der OCI Functionsservice auch Zugriff auf Masterverschlüsselungsschlüssel haben, die in Oracle Cloud Infrastructure Vault definiert sind.
Sie können die Masterverschlüsselungsschlüssel einschränken, die für die Signierung von Funktionsimages und die Signaturverifizierung verwendet werden können. Beispiel: Verwenden Sie Policys wie:
Allow service faas to {KEY_READ} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'GetKeyVersion'
Allow service faas to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Allow group <groupname> to {KEY_READ} in compartment <compartment-name> where ALL {target.key.id = '<ocid-of-key-in-verification-policy>', ANY {request.operation = 'GetKey', request.operation = 'GetKeyVersion'}}
Allow group <groupname> to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Weitere Informationen und Beispiele finden Sie unter Funktionsimages signieren und die Verwendung signierter Images aus der Registry erzwingen.