Veröffentlichungsrichtlinien

Um Vorlagen, Stacks, Images und Angebote für Oracle Cloud Infrastructure Marketplace zu erstellen, stellen Sie sicher, dass Sie alle relevanten Richtlinien einhalten.

Themen:
Hinweis

Das Partnerportal wird zur Oracle Cloud-Konsole migriert. Weitere Informationen finden Sie unter Migration des Partnerportals zur Oracle Cloud-Konsole.

Informationen zu Marketplace-Anbieterrichtlinien

Mit OCI können Oracle-Partner ihre Lösungen über den Oracle Cloud Marketplace an OCI-Kunden vertreiben. Oracle-Kunden vertrauen darauf, dass diese Lösungen so entwickelt und gewartet werden, dass Sicherheit und Datenschutz oberste Priorität haben.

Kunden erwarten auch, dass Lösungen wie versprochen liefern, eine hervorragende Dokumentation enthalten und ein effektives und reibungsarmes Support-Erlebnis bieten. In diesem Dokument wird der Mindestbalken beschrieben, der von Oracle-Partnern für die Aufnahme in Oracle Cloud Marketplace benötigt wird. Sie werden ermutigt, diese Spezifikationen zu überschreiten, wo immer möglich. Lösungen, die Ausnahmen von diesen Standards enthalten, müssen von Oracle geprüft und genehmigt werden.

Schlüsselwörter

Dieses Dokument verwendet Schlüsselwörter gemäß IETF RFC 2119. Weitere Informationen finden Sie unter https://www.ietf.org/rfc/rfc2119.txt.

  • Muss - Dieses Wort oder die Begriffe "Erforderlich" oder "Soll" bedeuten, dass die Definition eine absolute Anforderung der Spezifikation ist.
  • Diese Phrase oder der Ausdruck "Soll nicht" bedeutet, dass die Definition ein absolutes Verbot der Spezifikation ist.
  • Sollte - Dieses Wort oder das Adjektiv "Empfohlen" bedeuten, dass es unter bestimmten Umständen gültige Gründe geben kann, ein bestimmtes Element zu ignorieren, aber die vollständigen Auswirkungen müssen verstanden und sorgfältig abgewogen werden, bevor ein anderer Kurs gewählt wird.
  • Sollte nicht - Dieser Satz oder der Ausdruck "Nicht empfohlen" bedeuten, dass es unter bestimmten Umständen gültige Gründe geben kann, wenn das bestimmte Verhalten akzeptabel oder sogar nützlich ist, aber die vollständigen Auswirkungen sollten verstanden und der Fall sorgfältig abgewogen werden, bevor ein mit diesem Etikett beschriebenes Verhalten implementiert wird.
  • Mai - Dieses Wort oder das Adjektiv "optional" bedeutet, dass ein Artikel wirklich optional ist. Ein Lieferant kann den Artikel einschließen, weil ein bestimmter Marktplatz ihn erfordert oder weil der Lieferant der Meinung ist, dass er das Produkt verbessert, während ein anderer Lieferant denselben Artikel weglassen kann. Eine Implementierung, die keine bestimmte Option enthält, muss bereit sein, mit einer anderen Implementierung zu interagieren, die diese Option beinhaltet, wenn auch möglicherweise mit reduzierter Funktionalität. In gleicher Weise muss eine Implementierung, die eine bestimmte Option enthält, bereit sein, mit einer anderen Implementierung zu interagieren, die nicht die Option enthält (außer natürlich für die Funktion, die diese Option bietet).

Schweregrad der Sicherheitslücke

Wenn in diesem Abschnitt auf Sicherheitslücken verwiesen wird, wird auf das Common Vulnerability Scoring System (CVSS) v3.0-Bewertungssystem verwiesen. Weitere Informationen zu CVSS v3.0 finden Sie unter https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator.

Sicherheitseinstellungen

Im Sicherheitsüberblick zu Oracle Cloud Infrastructure wird Folgendes angegeben:

We [Oracle] believe that a dynamic security-first culture is vital to building a successful 
security-minded organization. We have cultivated a holistic approach to security culture in which 
all our team members internalize the role that security plays in our business and are
actively engaged in managing and improving our products' security posture. We have also
implemented mechanisms that assist us in creating and maintaining a security-aware culture.

Sie müssen den gesamten Sicherheitsansatz von Oracle Cloud Infrastructure lesen und verstehen. Siehe Oracle Cloud Infrastructure - Sicherheitsdokumentation in der Oracle Cloud Infrastructure-Dokumentation.

Sie müssen eine Sicherheitskultur an erster Stelle pflegen, die das Vertrauen unserer gemeinsamen Kunden versteht und schätzt.

Optionen

  • Sie müssen über Sicherheitswarnungen und -hinweise informiert sein, die sich auf Ihre Lösungen auswirken. Hier sind einige häufige Quellen für Sicherheitswarnungen:
    • SecurityFocus verwaltet aktuelle Advisorys für viele Open Source- und kommerzielle Produkte. https://www.securityfocus.com/
    • Die National Vulnerability Database. https://nvd.nist.gov/vuln
    • US-CERT und das Industrial Control Systems CERT (ICS-CERT) veröffentlichen regelmäßig aktualisierte Zusammenfassungen der häufigsten Sicherheitsvorfälle mit hoher Auswirkung. https://www.us-cert.gov/ics
    • Die vollständige Offenlegung unter SecLists.org ist ein umfangreiches, öffentliches, herstellerneutrales Forum für detaillierte Diskussionen über Sicherheitslücken und Ausnutzungstechniken. https://seclists.org/fulldisclosure/
    • Das Computer Emergency Readiness Team Coordination Center (CERT/CC) verfügt über aktuelle Sicherheitslückeninformationen für die beliebtesten Produkte. https://www.cert.org
  • Sie sollten nach Oracle Cloud Infrastructure-Plattformupdates suchen, die sich auf veröffentlichte Images auswirken können.
  • Sie müssen OCI innerhalb von 3 Werktagen über neu entdeckte Sicherheitslücken informieren, die sich auf Ihre Lösungen auswirken, mit einer CVSS-Bewertung von 9,0 oder höher.
  • Sie müssen Oracle Cloud Infrastructure innerhalb von 5 Werktagen über neu entdeckte Sicherheitslücken informieren, die sich auf Ihre Lösungen auswirken, mit einer CVSS-Bewertung zwischen 7.0 und 8.9.
  • Sie müssen OCI innerhalb von 20 Werktagen über neu entdeckte Sicherheitslücken informieren, die sich auf Ihre Lösungen auswirken, mit einer CVSS-Bewertung zwischen 4.0 und 6.9.
  • Sie müssen aktualisierte Lösungen veröffentlichen, die neu entdeckte Sicherheitslücken zeitnah beseitigen.
  • Sie müssen Kunden erlauben, ihre Lösungen auf dem neuesten Stand zu halten, um sich vor neu entdeckten Sicherheitslücken zu schützen. Einige gängige Muster sind:
    • Automatisches Einspielen von Sicherheitsupdates.
    • Einem Kunden die Ausführung eines Befehls zum Einspielen von Sicherheitsupdates erlauben.
    • Bereitstellung eines Prozesses, mit dem ein Kunde alle aktuellen Deployments durch eine aktualisierte Version ersetzen kann. Dieser Vorgang sollte ausreichend reibungsarm sein, so dass ein Kunde nicht von der Durchführung der erforderlichen Arbeiten abgehalten wird.
  • Sie sollten aktualisierte Lösungen mit allgemeinen Sicherheitsupdates vierteljährlich veröffentlichen.
  • Wenn Sie vor der Offenlegung einer Sicherheitsanfälligkeit gegenüber Oracle die Ausführung einer Geheimhaltungsvereinbarung benötigen, müssen Sie vor der Veröffentlichung Ihres ersten Images einen Oracle-Vertraulichkeitsvertrag (CDA) unterzeichnet haben. Ihr Oracle-Partnerteam unterstützt Sie bei diesem Prozess.

Richtlinien für Listings

Stellen Sie beim Erstellen Ihrer Anwendungslisten sicher, dass Sie mit den relevanten Richtlinien vertraut sind und diese einhalten.

Obligatorische Richtlinien

Die folgenden Richtlinien sind für Anwendungseinträge im Oracle Cloud Infrastructure Marketplace obligatorisch. Jede Richtlinie muss befolgt werden. Vor der Genehmigung wird jede Antragsliste anhand jeder dieser Richtlinien validiert.

  • Der App-Name darf maximal 80 Zeichen umfassen. Für eine optimale Anzeige sollten maximal 36 Zeichen lang sein.
  • Der App-Name muss klar, präzise und frei von Rechtschreib- und Grammatikfehlern sein. Es dürfen keine Zeilenumbrüche vorhanden sein.
  • Die Überschrift muss eindeutig den Zweck der Anwendung angeben. Es muss in zwei Zeilen oder weniger beschrieben werden und frei von Rechtschreib- und Grammatikfehlern sein.
  • Schriftart/Abstand auf der Liste muss konsistent sein.
  • Alle Texte müssen frei von Rechtschreib- oder Grammatikfehlern sein.
  • Die Beschreibung muss umfassend sein und die Zielgruppe/den Benutzertyp erfassen und darlegen, warum die Auflistung wertvoll ist.
  • Alle Links müssen auf die richtigen Positionen verweisen und in einer neuen Registerkarte oder einem neuen Fenster geöffnet werden.
  • In Symbolen, Bannern, Screenshots oder Videos enthaltener Text muss lesbar sein.
  • Bilder dürfen nicht verschwommen oder gestreckt werden.
  • Zugehörige Dokumente müssen konsistente Informationen bereitstellen, damit Benutzer:
    1. Starten Sie eine Instanz über Marketplace.
    2. Stellen Sie eine Verbindung zur Instanz her.
    3. Richten Sie die Anwendung ein, oder starten Sie sie.
  • Der Abschnitt "Support" muss genaue Kontaktdaten enthalten, damit der Kunde den Partnersupport in Anspruch nehmen kann. Diese Kontaktdaten müssen eine genaue Telefonnummer oder E-Mail-Adresse enthalten.
  • Die Systemanforderungen müssen die Liste der erforderlichen Oracle Cloud Infrastructure-Komponenten enthalten, einschließlich Compute-Ausprägungen, Sicherheitsregeln, IAM-Policys, Block-Volumes, sekundäre VNICs usw.
  • Die Nutzungsbedingungen müssen in Ihrem App-Installationspaket enthalten sein und frei von Rechtschreib- oder Grammatikfehlern sein. Der Name der Nutzungsbedingungen muss in Groß- und Kleinschreibung angegeben werden. Links in Nutzungsbedingungen müssen auf die richtigen Standorte verweisen und in einer neuen Registerkarte oder einem neuen Fenster geöffnet werden.
  • Die Version des App-Installationspakets muss mit der Version übereinstimmen, die in einem anderen zugehörigen Abbild oder Text für dieses Paket angegeben ist.
  • Der Benutzer muss die Anwendung und die zugehörige Infrastruktur mit den Anweisungen in den Abschnitten Nutzung und Zugehörige Dokumente starten, verbinden und konfigurieren können.
  • Jede veröffentlichte Lösung enthält eine Reihe kundenorientierter Dokumentation. Diese Dokumentation:
    • Sie müssen prominente, detaillierte Anweisungen für die Verbindung mit einer Instanz enthalten.
    • Muss die Verwendungsdokumentation oder einen Link zur Dokumentation enthalten.
    • Muss Supportdetails oder einen Link zu diesen Details enthalten.
    • Kompatible Ausprägungen müssen aufgelistet werden.
    • Alle auf der Instanz standardmäßig geöffneten Netzwerkports müssen dokumentiert werden.
  • Bestätigung: Sie stimmen zu, dass Sie keine kostenpflichtigen Anbietereinträge auf dem Oracle Cloud Marketplace veröffentlichen dürfen, wenn der Kauf von Produkten und Services und/oder die Bereitstellung zugehöriger Services für den Kunden ganz oder teilweise durch Medicare, Medicaid oder ein anderes staatlich oder staatlich finanziertes Gesundheitsprogramm finanziert werden kann.

Empfohlene Richtlinien

Die folgenden Richtlinien können als Best Practices betrachtet werden, die nach Möglichkeit befolgt werden sollten.

  • Die Versionshinweise sollten als Aufzählungspunkte mit entsprechenden Zeilenumbrüchen angegeben werden.
  • Die zugehörigen Dokumente sollten Informationen zum Kauf einer Lizenz enthalten, falls erforderlich.

Allgemeine Richtlinien

Hier sind einige allgemeine Richtlinien für Listen aller Typen. Richtlinien zu Anwendungslisten oder Bildlisten finden Sie im entsprechenden Abschnitt.

  • Um sicherzustellen, dass sich der Listeninhalt korrekt an die plattformübergreifende Formatierung von Oracle Cloud Marketplace anpasst, sind in den Beschreibungsabschnitten nur grundlegende Formatierungen zulässig. Wenn der Inhalt aus einer anderen Rich-Text-Quelle (wie Microsoft Word) kopiert wird, stellen Sie sicher, dass jede zusätzliche Formatierung entfernt wird, bevor Sie das Angebot zur Überprüfung weiterleiten.
  • Das Einfügen von Inhalten in Nur-Text wird empfohlen, um verborgene Stile und Formatierungen zu vermeiden. Durch die Einhaltung dieser grundlegenden Formatierungsoptionen wird sichergestellt, dass der Listeninhalt auf mehreren Geräten und Plattformen korrekt angezeigt wird.
  • Die Verwendung der Oracle-Marken innerhalb des Angebotsinhalts (z. B. Oracle-Produktnamen) muss den Richtlinien für die Nutzung von Oracle-Marken durch Dritte entsprechen.
  • Die Verwendung der Oracle Logos innerhalb des Listeninhalts (wie Infografiken und Screenshots) muss den Richtlinien für die Nutzung von Oracle Logos durch Dritte (Richtlinien für die Nutzung von Oracle Logos durch Dritte) entsprechen.
  • Für Bilder wie Logos, Symbole oder Banner:
    • Stellen Sie sicher, dass die Größe der Bilder den angegebenen Dimensionen entspricht.
    • Speichern Sie Bilder im angegebenen Dateiformat mit Komprimierung.
    • Stellen Sie sicher, dass die Größe der Bilddatei innerhalb der angegebenen Dateigröße liegt.
    • Ihr Banner muss 1160 Pixel (Breite) x 200 Pixel (Höhe) und maximal 10 MB groß sein und eine BMP-, GIF-, JPEG- oder PNG-Datei sein.
    • Ihr Unternehmenslogo muss 115 x 115 Pixel, maximal 5 MB, groß sein und eine BMP-, GIF-, JPEG- oder PNG-Datei sein.
    • Ihr Symbol muss 130 x 130 Pixel und maximal 5 MB groß sein und eine BMP-, GIF-, JPEG- oder PNG-Datei sein.
    • Anwendungssymbole sollten unverwechselbar und einzigartig sein. Leiten Sie nicht mehrere Bewerbungen mit demselben Symbol weiter.
    • Verwenden Sie keine Oracle-Logos oder -Marken in den Anwendungssymbolen. Stellen Sie sicher, dass Sie über die Nutzungsrechte an Bildern Dritter verfügen.
  • Der Inhalt des Beschreibungsabschnitts sollte einen allgemeinen Überblick über die Anwendung bieten. Es muss den Wert und Nutzen für den Kunden beim Ausführen/Hosten der Anwendung in der Oracle Cloud beschreiben.
  • Einer langen Beschreibung muss eine kurze Beschreibung vorangestellt sein. Wiederholen Sie nicht die kurze Beschreibung im Abschnitt mit der langen Beschreibung.
  • Die Beschreibung darf nicht "Oracle Validated Integration" hervorheben oder darauf verweisen. Das Oracle Validated Integration-(OVI-)Programm gilt nur für On-Premises-Lösungen und nicht für die Oracle Cloud.
  • Gehen Sie im Feld Verwendungsinformationen wie folgt vor:
    • Fügen Sie einen Link zu einem Leitfaden für die ersten Schritte hinzu, der vollständige Details enthält, die von Benutzern für die ersten Schritte benötigt werden.
    • Fügen Sie Links zu technischen Dokumentationen, Datenblättern, Benutzerhandbüchern und anderen verwandten Dokumenten hinzu (einschließlich der Dokumente, die Sie im Abschnitt "Verwandte Dokumente" angeben).
    • Listen Sie die Ports auf, die geöffnet werden müssen. Fügen Sie einen Link wie "Offene Ports konfigurieren" hinzu, der die Schritte zum Öffnen von Ports mit der Oracle Cloud Infrastructure-Konsole beschreibt.
  • Für Screenshots im Feld Screenshots und Videos:
    • Es werden mindestens zwei Screenshots empfohlen.
    • Blenden Sie bei Bildschirmfotos die Symbolleisten und Menüs des Browsers aus. Verwenden Sie den Browser-Vollbildmodus.
    • Die empfohlene Größe für Screenshots beträgt 640 Pixel (Breite) x 480 Pixel (Höhe). Weitere geeignete Größen sind 1024x768 und 1200x900. Größere Bilder sollten zugeschnitten oder skaliert werden.
    • Für beste Ergebnisse sollten Bilder mit einem nativen Seitenverhältnis von 4:3 erstellt werden. Bei Bildern, die nicht in das 4:3-Seitenverhältnis passen, wie Screenshots von Handy-Apps, fügen Sie das Bild mit einem entsprechend farbigen oder transparenten Hintergrund auf, um die erforderliche Bildgröße zu erreichen. Verwenden Sie einen Bildeditor, um Abstand hinzuzufügen.
    • Screenshots müssen maximal 5 MB groß sein und eine BMP-, GIF-, JPEG- oder PNG-Datei sein.
    • Hochgeladene Bilder werden auf der Hauptseite automatisch auf 240 x 180 Pixel Thumbnails skaliert.
    • Hochgeladene Bilder werden automatisch an den Media Viewer mit 600 x 450 Pixeln angepasst.
    Für Videos:
    • Fügen Sie ein Demovideo als erstes Element in der Liste in das Feld Screenshots und Videos ein.
    • Werbevideos, die auf YouTube oder Vimeo gehostet werden, können direkt in die Screenshot-Liste und den Media Viewer eingebettet werden.
    • Die URL-Adresse für das Video muss entweder mit http:// oder https:// beginnen
    • Das wichtigste Demo-Video sollte kurz und auf den Punkt gebracht sein und sich auf die Hauptfeatures der Anwendung und den Wert der Anwendung/Integration in der Oracle Cloud konzentrieren.
    • Längere Videos und Werbeinhalte können als zusätzliche Videos aufgenommen werden.
  • Gehen Sie im Feld Zugehörige Dokumente wie folgt vor:
    • Das Hinzufügen eines für die Oracle Cloud-Integration spezifischen Datenblatts ist eine Mindestanforderung.
    • Datenblätter müssen spezifisch für das Oracle Cloud-fähige Release der Anwendung sein.
    • Fügen Sie ein Dokument "Erste Schritte mit Oracle Cloud Infrastructure" hinzu, das vollständige Details für Kunden zur Konfiguration und Einrichtung der Software enthält.
  • Im Feld System Requirements:
    • Listen Sie alle Oracle Cloud PaaS-Services auf, die zum Installieren und Ausführen der Anwendung erforderlich sind.
    • Listen Sie alle Oracle Cloud SaaS-Services auf, mit denen die Anwendung integriert ist.
    • Listen Sie alle Systemabhängigkeiten von Drittanbietern auf.
    • Schließen Sie in diesem Abschnitt browser-spezifische Abhängigkeiten oder unterstützte mobile Plattformen ein.
    • Seien Sie spezifisch für Versions- oder Editionsabhängigkeiten oder Größenanforderungen (falls erforderlich).

Richtlinien für Bilder

Wenn Sie eine Imageliste im Oracle Cloud Infrastructure Marketplace erstellen, stellen Sie sicher, dass die Images, die Sie für den Eintrag erstellen, den relevanten Richtlinien entsprechen.

Obligatorische Richtlinien für Linux-Images

In der folgenden Tabelle sind die erforderlichen Bildrichtlinien und der entsprechende Fehlercode aufgeführt. Jede Richtlinie muss befolgt werden. Bevor ein Image auf dem Oracle Cloud Infrastructure Marketplace veröffentlicht wird, wird jedes Image anhand der folgenden obligatorischen Richtlinien validiert.

Fehlercode Beschreibung
S01 SSH-Hostschlüssel müssen für jede Instanz eindeutig sein. Verwenden Sie das Utility oci-image-cleanup, das vom Package oci-utils auf GitHub bereitgestellt wird. Dadurch werden alle SSH-Hostschlüssel entfernt, sodass sie beim ersten Booten neu generiert werden.
S08 Images müssen einen SSH-Public Key aufnehmen, der von einem Kunden im Rahmen des Instanzstartprozesses bereitgestellt wird. Stellen Sie sicher, dass das Image cloud-init aktiviert ist.
S10 Alle authorized_keys-Dateien dürfen nur Schlüssel enthalten, die vom Benutzer beim Starten der Instanz bereitgestellt werden. Verwenden Sie das Utility oci-image-cleanup, das vom Package oci-utils auf GitHub bereitgestellt wird.
S14 Die Anmeldung beim Root-Benutzer muss deaktiviert sein. Mindestens 1 der folgenden 3 Bedingungen muss erfüllt sein:
  • Die Anmeldeshell des Root-Benutzers muss auf /sbin/nologin gesetzt sein.
  • Die SSH-Servicekonfiguration /etc/ssh/sshd_config darf keine Root-Anmeldung zulassen. Konfigurieren Sie die folgende Einstellung manuell:
    PermitRootLogin no
  • Alle Einträge in der Datei /root/.ssh/authorized_keys müssen Folgendes enthalten:
    no-port-forwarding, no-agent-forwarding,
                            no-X11-forwarding.
    Der Root-Benutzer darf keine verwendbaren Einträge in der Datei authorized_keys haben. Verwenden Sie das Utility oci-image-cleanup, das vom Package oci-utils auf GitHub bereitgestellt wird.

    Standardmäßig fügen Oracle Cloud Infrastructure-Instanzen, die über cloud-init-fähige Images gestartet werden, die Weiterleitungsoptionen hinzu und verwenden die Befehlsoption der Datei authorized_keys, um einen vom Benutzer bereitgestellten SSH-Schlüssel für den Root-Benutzer effektiv zu deaktivieren. Der folgende Code ist ein Beispiel für die Datei authorized_keys, die von Oracle Cloud Infrastructure mit cloud-init: erstellt wurde

    no-port-forwarding,
    no-agent-forwarding,
    no-X11-forwarding,
    command="echo 'Please login as the user \"opc\" rather than the user \"root\".';echo;sleep 10"
S16 Für Images dürfen keine Benutzer auf Betriebssystemebene mit einem Kennwort konfiguriert sein und dürfen kein leeres Kennwort haben.
G01 Das Image muss für alle kompatiblen Ausprägungen booten. Manuell prüfen, indem Instanzen für jede kompatible Ausprägung erfolgreich gestartet werden.
G03 Das Bild darf keine fest codierten MAC-Adressen aufweisen. Leeren Sie die Datei /etc/udev/rules.d/70-persistent-net.rules.
G05 DHCP muss aktiviert sein. Stellen Sie sicher, dass die Konfiguration manuell erfolgt. Wenn Sie sicherstellen, dass Sie eine SSH-Verbindung zu einer Instanz dieses Images herstellen können, wird bestätigt, dass DHCP aktiviert ist.
G08 Stellen Sie sicher, dass das Image den Instance Metadata Service v1 (IMDSv1) nicht verwendet. Wenn das Image IMDSv1-Endpunkte verwendet, empfiehlt Oracle, IMDSv1 zu deaktivieren und ein Upgrade auf IMDSv2 durchzuführen. Siehe Upgrade auf den Instance Metadata Service v2 in der Oracle Cloud Infrastructure-Dokumentation.

Erforderliche Richtlinien für Windows-Images

Fehlercode Beschreibung
W01 Bevor Sie ein benutzerdefiniertes Windows-Image erstellen, müssen Sie die Windows-Instanz mit Sysprep verallgemeinern. Siehe Generalisierte Images erstellen.
W02 Das opc-Konto darf bei der Ausführung von Sysprep generalize nicht beibehalten werden. Siehe Generalisierte Images erstellen.
G08 Stellen Sie sicher, dass das Image den Instance Metadata Service v1 (IMDSv1) nicht verwendet. Wenn das Image IMDSv1-Endpunkte verwendet, empfiehlt Oracle, IMDSv1 zu deaktivieren und ein Upgrade auf IMDSv2 durchzuführen. Siehe Upgrade auf den Instance Metadata Service v2 in der Oracle Cloud Infrastructure-Dokumentation.

Empfohlene Richtlinien für Linux-Images

Die folgenden Richtlinien werden für Images empfohlen, die im Oracle Cloud Infrastructure Marketplace aufgeführt werden. Jede Richtlinie gilt als Best Practice, die nach Möglichkeit befolgt werden sollte.

Fehlercode Beschreibung
S02 Obligatorische Zugriffskontrolle (MAC) muss aktiviert sein. Siehe https://www.linux.com/news/securing-linux-mandatory-access-controls.
S03 Eine Betriebssystemfirewall muss aktiviert und so konfiguriert sein, dass nicht speziell erforderliche Ports blockiert werden, wie in der Auflistungsdokumentation angegeben.
S04 Alle sensiblen Daten wie Passwörter und Private Keys sollten entfernt werden. Dieser Datentyp kann häufig in Logdateien, Quellcode oder Build-Artefakten gefunden werden. Um solche Dateien zu entfernen, verwenden Sie das Utility oci-image-cleanup, das vom Package oci-utils auf GitHub bereitgestellt wird.
S07 cloud-init-Packages müssen während des Instanzstarts verfügbar sein.
S11 Konfigurieren Sie den SSH-Service, um eine kennwortbasierte Anmeldung zu verhindern. Konfigurieren Sie die folgenden Einstellungen manuell:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
S15 Die Bildsoftware sollte im Rahmen des endgültigen Verpackungsprozesses aktualisiert werden.
S17 Anwendungskennwörter dürfen nicht hartcodiert sein. Alle Kennwörter müssen beim ersten Start der Instanz eindeutig generiert werden:
G02 Bilder sollten im paravirtualisierten Modus ausgeführt werden. Bilder können im nativen Modus ausgeführt werden. Bilder dürfen nicht im emulierten Modus ausgeführt werden.
G04 Netzwerkmanager sollten gestoppt werden. Siehe https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Disabling_Network_Manager.html.
G06 Images sollten den von Oracle Cloud Infrastructure bereitgestellten NTP-Service verwenden. Siehe Oracle Cloud Infrastructure NTP-Service für Instanzen konfigurieren.
G07 Für Images müssen iSCSI-Timeoutwerte für die ordnungsgemäße Boot-Volume-Konnektivität festgelegt sein. Siehe https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/iscsi-modifying-link-loss-behavior-root.html.

Richtlinien für Stacks

Oracle empfiehlt, allgemeine Terraform-Best Practices zum Erstellen Ihrer Terraform-Vorlage zu übernehmen. Es gibt jedoch spezifische Marketplace-Stackstandards, die befolgt werden müssen, um einen Stack zu veröffentlichen.

Obligatorische Richtlinien

Im Folgenden finden Sie obligatorische Richtlinien für Stacks, die im Oracle Cloud Infrastructure Marketplace aufgeführt sind. Jede Richtlinie muss befolgt werden. Vor der Veröffentlichung wird jedes Stackartefakt anhand jeder dieser Richtlinien validiert.

  1. Das Stackartefakt muss eine ZIP-Datei mit den Terraform-Konfigurationsdateien und einer Schemadatei sein.
    • Die ZIP-Datei muss mindestens eine Konfigurationsdatei (.tf) im Stammordner enthalten.
    • Die ZIP-Datei muss die Schemadatei (.yaml) im Stammordner enthalten.
    • ZIP-Datei darf keine Terraform-Statusdatei in der ZIP-Datei enthalten. Statusdateien werden von Oracle Resource Manager (ORM) verwaltet. Wenn Kunden einen Stack starten, erstellt und verwaltet ORM die Ressourcen, und die Statusdatei steht nur zum Download zur Verfügung.
    • ZIP-Datei darf den Terraform-Laufzeitkonfigurationsordner (.terraform). nicht enthalten
  2. Die Terraform-Konfiguration darf nur Instanzimages verwenden, die genehmigte oder veröffentlichte (öffentliche oder private) Marketplace-Images sind. Sie muss über ein Marketplace-Abonnement für jedes dieser Images verfügen. Es muss hartcodierte Referenz(en) zu diesen Marketplace-Images enthalten. Weitere Informationen finden Sie unter Terraform-Beispielkonfiguration für ein Marketplace-Imageabonnement und eine Nutzung.
  3. Binärdateien dürfen nicht aus externen Repositorys heruntergeladen werden. Alle Binärdateien und Abhängigkeiten müssen in das veröffentlichte Marketplace-Image eingebettet werden.
  4. Der Terraform-Remoteausführungs-Provisioner darf nur innerhalb der Oracle Cloud Infrastructure-Domain ausgeführt werden. Es darf keine Dateien auf einen Remoteserver herunterladen.
  5. Code oder Binärdateien von Drittanbietern dürfen nicht mit cloud-init. heruntergeladen werden
    1. cloud-init ist ein häufig verwendetes Utility zur Startkonfiguration für Cloud-Compute-Instanzen. Es akzeptiert die Konfiguration über Benutzerdatenmechanismen, die als Teil der Metadatendefinition auf der Ressource oci_core_instance angegeben sind.
    2. Es gibt mehrere Benutzerdatenformate, die von cloud-init. unterstützt werden Siehe https://cloudinit.readthedocs.io/en/latest/topics/format.html.
    3. Unabhängig vom Benutzerdatenformat darf cloud-init NICHT zum Herunterladen von Code oder Binärdateien von Drittanbietern verwendet werden. Alle Binärdateien, die während des Instanzstartprozesses (Bootstrap) erforderlich sind, sollten von einem Prozess (Skript), der als Teil der Imageverteilung gebacken wird, heruntergeladen werden, und nicht über cloud-init injiziert werden (z.B. unter Verwendung von wget).
    4. Möglicherweise ist jedoch eine cloud-init-Vorlage eingerichtet, die Kunden in bestimmten Szenarios verwenden können, z.B. um eine Lizenzschlüsseldatei zu importieren oder um eine Konfigurationsdatei zu importieren. In diesem Fall müssen Sie eine Variable im Terraform-Vorlagencode angeben, damit Kunden einige Daten in den cloud-init-Baustein eingeben können, z.B. mit der Terraform-Datenquelle template_file.
  6. Der Terraform-Provider muss Oracle Cloud Infrastructure sein. Andere Cloud-Anbieter oder Drittanbieter von Anwendungen werden nicht unterstützt.
  7. Wenn ein Terraform-Modul verwendet wird, muss es aus lokalen relativen Pfaden geladen werden. Es kann nicht aus einem Remote Repository geladen werden.
  8. Die Terraform-Konfiguration muss die Instanz-Principal-Authentifizierung verwenden.
  9. Sie müssen die minimalen und maximalen unterstützten Terraform-Versionen angeben, auf denen Sie den Stack getestet haben.

    • Geben Sie die mindestens erforderliche Terraform-Version im Format ~> <major_version>.<minor_version>.<patch_version> an.

      Dabei wird patch_version immer auf 0 gesetzt. Wenn ein Stack gestartet wird, prüft Resource Manager die <major_version>.<minor_version>, die Sie in Ihrem Code definiert haben, und verwendet die neueste verfügbare Patchversion. Aus diesem Grund müssen Sie das ~>-Zeichen anstelle des =>-Signals verwenden, während Sie die mindestens erforderliche Terraform-Version angeben.

      Beispiel: ~> 0.14.0 gibt an, dass die unterstützten Terraform-Versionen 0.14.0 oder höher sind.

    • Geben Sie die maximal erforderliche Terraform-Version im Format < <major_version>.<minor_version> an.

      Beispiel: < 0.15 gibt an, dass die unterstützten Terraform-Versionen vor 0,15 liegen.

    Das folgende Beispiel zeigt, wie Sie die minimale und die maximale unterstützte Terraform-Version angeben, wenn Sie Ihren Stack nur auf Terraform 0.14 getestet haben.

    terraform 
    { required_version = "~> 0.14.0, < 0.15" }

Weitere Informationen zu Terraform, einschließlich des Oracle Cloud Infrastructure-Providers, der Instanz-Principal-Authentifizierung und des Remoteausführungs-Provisioners, finden Sie in der Terraform-Dokumentation für die Providerkonfiguration. Informationen zu unterstützten Versionen von Terraform finden Sie unter Erste Schritte mit dem Terraform-Provider in der Oracle Cloud Infrastructure-Dokumentation.

Codierungsrichtlinien für Terraform-Konfigurationen

Die folgenden Richtlinien werden für Stacks empfohlen, die im Oracle Cloud Infrastructure Marketplace aufgeführt sind. Jede Richtlinie gilt als Best Practice, die nach Möglichkeit befolgt werden sollte.

  • Das Stackartefakt muss es Kunden ermöglichen, entweder alle Infrastrukturressourcen zu erstellen oder auf vorhandene Ressourcen (Netzwerk, Speicher usw.) zu verweisen.
  • Benennungskonventionen und Formatierungen sollten befolgt werden:
    • Groß-/Kleinschreibung: Verwenden Sie lower_snake_case für alle Benennungen. Dies gilt für Variablennamen, Ressourcennamen, Modulnamen, Dateinamen, Anzeigenamen usw.
    • Angeben des Ressourcentyps - Nehmen Sie den Ressourcen- oder Datenquellentyp nicht in den Namen auf. In Terraform werden Ressourcen und Datenquellen immer von <type>.<name>. referenziert Daher ist es nicht erforderlich, den Typ in den Namen selbst aufzunehmen.
    • ID ggü. OCID - In Oracle Cloud Infrastructure bezieht sich id im Allgemeinen auf ein Feld, das eine OCID annimmt. Daher sollten Variablen id verwenden, wenn sie auf OCID-Werte verweisen, anstatt ocid zu verwenden.
    • Variablennamen - Variablennamen für Oracle Cloud Infrastructure-Ressourcen müssen in der Regel denselben Namen verwenden wie für die Terraform-Ressource.
    • Anzeigenamen: Anzeigenamen für Oracle Cloud Infrastructure-Ressourcen müssen in der Regel denselben Namen verwenden wie für die Terraform-Ressource.
    • Benennungsmodulvariablen und -ausgaben - Bei Verwendung eines Moduls sollten die Benennung der Eingabe (Variablen) und der Ausgaben dem Aufrufer angezeigt werden.
    • terraform fmt muss auf alle Terraform angewendet werden, bevor es eingecheckt wird.