Skript erstellen

Um das Feature "Verfügbarkeitsüberwachung" für die Monitortypen "Skriptbrowser" und "Skript-REST" zu verwenden, müssen Sie zuerst ein Skript erstellen und hochladen. Dies ist ein aufgezeichneter Benutzerpfad, mit dem Benutzertransaktionen in der Anwendung simuliert werden.

Das Skript muss je nach Monitortyp, den Sie mit dem Skript erstellen möchten, in den folgenden Dateitypen aufgezeichnet werden:

  • Die Datei .side gilt nur für den Monitor-Typ "Skriptbrowser". Die .side-Datei wird mit dem Selenium Integrated Development Environment-(IDE-)Recorder erstellt. Informationen zu Selenium-Befehlen und zum Exportieren einer .side-Datei finden Sie in der Selenium-Dokumentation. Beachten Sie, dass Sie nur ein einzelnes Skript in Application Performance Monitoring hochladen können. Das Hochladen einer Testsuite wird nicht unterstützt.
  • Die Datei .ts gilt nur für den Monitor-Typ "Skriptbrowser". Sie können .ts TypeScript verwenden, wenn Sie mit Playwright arbeiten. Informationen zu Playwright finden Sie unter https://playwright.dev/docs/intro.
  • Die Datei .js gilt nur für den REST-Monitortyp "Skript". Die Datei .js kann mit dem Package postman-request erstellt werden. Informationen zum postman-request-Package finden Sie unter postman-request.

So laden Sie das Skript in Application Performance Monitoring hoch:

  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an.
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Application Performance Monitoring auf Verfügbarkeitsüberwachung.
  3. Klicken Sie im linken Bereich auf Skripte.
  4. Wählen Sie im linken Bereich das Compartment und die APM-Domain aus, in der das Skript erstellt werden soll.
  5. Klicken Sie auf Skript erstellen.
    Der Assistent Skript erstellen wird angezeigt.
  6. Legen Sie auf der Seite Skriptdefinition die Skriptdatei ab, oder wählen Sie sie aus.
    Nach dem Hochladen der Skriptdatei werden Details des Skripts wie Geändert, Größe und Typ sowie die folgenden Felder angezeigt:
    • Skript: Name der Skriptdatei.
    • Inhalt: Inhalt der Skriptdatei.

      Sofern in der Skriptdatei angegeben, werden auch die Skriptparameter angezeigt, und Sie können die Standardwerte beibehalten oder ersetzen. Sie können auch die Option Value is secret für den Parameter verwenden, um den Wert zu verbergen. In diesem Fall wird er not angezeigt, wenn mit dem Skript ein Skript erstellt oder ein Skript bearbeitet wird. Dies ist besonders nützlich, um sicherzustellen, dass vertrauliche Informationen wie Passwörter bei der Bearbeitung des Skripts nicht sichtbar sind.

      Wenn der Skripttyp side oder playwright lautet, sind die Registerkarten Skript-Builder und Inlineeditor verfügbar.

      • Skript-Builder: Stellt eine Tabellenansicht aller Befehle in einem benutzerfreundlichen Format bereit.

        Mit dem Skript-Builder können Sie Seitenbefehle im Skriptinhalt einfacher hinzufügen, aktualisieren oder löschen als mit dem Inlineeditor.

        Klicken Sie auf Befehl hinzufügen, um Befehle mit dem Skript-Builder hinzuzufügen.
        • Auf der rechten Seite wird ein Fenster angezeigt, in dem Sie den Befehl, das Ziel und den Wert hinzufügen können.
        • Wenn der zum Hinzufügen ausgewählte Befehl open oder click lautet, wird ein Optionsfeld mit den Optionen Page Title oder Comment angezeigt.

          Page Title: Wenn diese Option ausgewählt ist, kann ein benutzerdefinierter Seitentitel verwendet werden. Beispiel: Wenn der Benutzer Login page als benutzerdefinierten Seitentitel übergeben möchte, muss Page Title ausgewählt werden, und geben Sie den Wert Login page unter Kommentar ein.

          Comment: Wenn diese Option ausgewählt ist, geben Sie den Kommentarwert unter Kommentar ein.

        • Unter Referenz werden Informationen zum Befehl angezeigt.
        • Klicken Sie abschließend auf Oben hinzufügen oder Unten hinzufügen.
        Klicken Sie auf Aktionen, um die Befehle Bearbeiten, Klonen, Deaktivieren, Zurücksetzen oder Löschen auszuführen.
        • Verwenden Sie "Bearbeiten", um einen vorhandenen Befehl zu aktualisieren.
        • Verwenden Sie "Klon", um einen neuen Befehl aus einem vorhandenen zu klonen.
        • Mit "Deaktivieren" können Sie einen Befehl deaktivieren.
        • Verwenden Sie "Zurücksetzen", um den Skriptinhalt auf die ursprüngliche Version zurückzusetzen (wenn der Benutzer das Skript hochgeladen hat).
        • Verwenden Sie "Löschen", um Befehle zu löschen.

        Klicken Sie in der Tabelle auf eine Befehlszeile, um Befehlsdetails anzuzeigen.

        Klicken Sie auf das Aktionsmenü, um Befehlsdetails anzeigen, Befehl hinzufügen, Bearbeiten, Klonen oder Löschen anzuzeigen.

        Verwenden Sie Befehl aktivieren/deaktivieren, um die Ausführung eines Befehls auf Zeilenebene zu aktivieren oder zu stoppen.

      • Inlineeditor: Bietet eine einfache Navigation zum Bearbeiten des Skriptinhalts mit den folgenden Features:
        • Verwenden von Zeilennummern mit Ein- und Ausblendoption, um den Code einfach anzuzeigen.
        • Auf der rechten Seite ist eine Karte verfügbar, um die Navigation und Position von Skriptabschnitten zu beschleunigen.
        • Suchen und ersetzen Sie die Funktionalität im Editor.
        • Skriptvalidierungsfunktion.
        Klicken Sie auf den Link Hilfe auf der rechten Seite, um die folgenden Optionen anzuzeigen:
        • Benutzerdefinierter Marker: Kopieren Sie die Befehle und Werte in das Skript, und fügen Sie sie im Editor hinzu.

          Dadurch können Sie eine benutzerdefinierte Dimension übergeben, z.B. "DURATION: Elemente prüfen" und einen Vorgang, z.B. setValue/startTime/endTime aus dem Skript an Metrik-Explorer im Oracle Cloud Infrastructure Monitoring-Service.

        • Benutzerdefinierter Screenshot: Kopieren Sie die Befehle, und fügen Sie sie im Editor einem .side-Skript hinzu.

          Auf diese Weise können Sie benutzerdefinierte (On-Demand-)Screenshots für eine bestimmte Instanz im Skript erfassen. Ähnlich wie bei Standard-Screenshots können Sie benutzerdefinierte Screenshots im Abschnitt Historie der Seite <Name des Monitors> anzeigen und herunterladen.

        • Zeitbasiertes OTP: Kopieren Sie die Befehle, und fügen Sie sie im Editor hinzu, um zeitbasiertes OTP bei Testausführungen zu generieren. Sie können Ihren Secret Key hinzufügen, wenn Sie diese Option verwenden.

      Informationen zu den Befehlen zum Hinzufügen benutzerdefinierter Variablen, Marker und Screenshots finden Sie unter Erweiterte Optionen zum Aktualisieren von Skripten.

    Überprüfen Sie die Details, und klicken Sie auf Weiter.

  7. Auf der Seite Tags (optional) können Sie die Skripte mit dem Tagging-Metadatensystem organisieren und verfolgen und auf Weiter klicken.
    Wenn dem Skript Tags hinzugefügt werden, können Sie Skripte auf der Seite Skripte mit Tagfiltern im linken Bereich filtern und anzeigen.

    Informationen zum Tagging finden Sie unter Überblick über Tagging.

  8. Prüfen Sie auf der Seite Übersicht die Übersicht des Skripts, und klicken Sie auf Erstellen.
Die Seite <Name des Skripts> wird angezeigt. Diese Seite enthält zwei Registerkarten: Skriptinformationen mit Informationen wie Name der Skriptdatei, Zeitpunkt von Erstellung, Änderung und Upload, zugewiesene OCID, Skripttyp und Parameter, sofern im Skript angegeben. Die Registerkarte Tags enthält Informationen zu den Tags, die dem Skript hinzugefügt wurden, sofern vorhanden.

Über die oben auf der Seite verfügbaren Optionen können Sie außerdem folgende Aktionen für das Skript ausführen:

  • Bearbeiten: Klicken Sie auf diese Option, um das Skript zu bearbeiten. Wenn ein Monitor dieses Skript verwendet, kann die Bearbeitung des Skriptes zu inkompatiblen Parametern führen. In diesem Fall müssen Sie die entsprechenden Änderungen auch am Monitor vornehmen.
  • Anzeigen: Klicken Sie auf diese Option, um das Skript anzuzeigen.
  • Herunterladen: Klicken Sie auf die Option, um die Skriptdatei (.side, .playwright oder .js) herunterzuladen.
  • Tags hinzufügen: Klicken Sie auf diese Option, um dem Skript Tags hinzuzufügen.
  • Löschen: Klicken Sie auf diese Option, um das Skript zu löschen. Beachten Sie, dass Sie das Skript nicht löschen können, wenn es von einem Monitor verwendet wird.

Unten auf der Seite können Sie die Liste der Monitore anzeigen, die das Skript verwenden, oder auf Monitor erstellen klicken, um einen skriptgesteuerten Monitor zu erstellen. Weitere Informationen finden Sie unter Monitor erstellen.

Erweiterte Optionen zum Aktualisieren von Skripten

Mit den Skripten in Availability Monitoring können Sie Benutzerpfade erfassen und Benutzertransaktionen in einer Anwendung simulieren.

Sie können das Skript mit benutzerdefinierten Befehlen aktualisieren, um bestimmte Aufgaben auszuführen. In den folgenden Abschnitten werden einige der Befehle beschrieben, die Sie dem Skript hinzufügen können:

Hinweis

Es wird empfohlen, dass Sie immer ein ursprüngliches Skript verwenden und es in einer skriptgesteuerten Monitorausführung in Application Performance Monitoring hochladen und validieren, bevor Sie es bearbeiten und Änderungen vornehmen. Die Aktualisierung des Skripts mit benutzerdefiniertem Inhalt wie Variablen kann die erneute Ausführung des Skripts über das lokale Selenium IDE-Deployment beeinträchtigen.

Benutzerdefinierte Variablen hinzufügen

Sie können dem Inhalt der .side- und .js-Skripte benutzerdefinierte Variablen hinzufügen, mit denen dynamische Parameter definiert werden können. Auf diese Weise können Sie diese Parameter über das Skript oder den Monitor in Application Performance Monitoring steuern. Beispiel: Wenn ein Benutzername oder ein Elementauswahlname geändert wird oder Sie einen solchen Wert vor anderen Benutzern mit Zugriff auf den Monitor verbergen möchten, können Sie benutzerdefinierte Variablen verwenden.

Wenn benutzerdefinierte Variablen zum Inhalt des Skripts hinzugefügt werden, ist param name obligatorisch, param value und isParamValueSecret sind jedoch optional. Der Standardwert für isParamValueSecret ist false. Die folgenden Formate werden angezeigt:
  • Seiten- und JS-Format:
    <ORAP><ON>param name</ON><OV>param value</OV><OS>isParamValueSecret(true/false)</OS></ORAP>
  • Playwright-Format:
    console.log("<ORAP><ON>param name</ON><OV>param value</OV><OS>isParamValueSecret(true/false)</OS></ORAP>");

Benutzerdefinierte Marker hinzufügen

Sie können benutzerdefinierte Markierungsbefehle zum Inhalt der Skripte .side und .js hinzufügen, mit denen eine benutzerdefinierte Nachricht und Dauer vom Skript an Metrik-Explorer im Monitoring-Service übergeben werden kann. Dadurch können Sie eine CustomMarker-Dimension übergeben, z.B. "DURATION: Check Elements" und einen Vorgang, z.B. setValue an den Monitoring-Service. Die Dimension CustomMarker ist mit der Metrik CustomMetric verfügbar. Mit dieser Dimension können Sie dem Skript die folgenden Vorgänge als Dauermarker für Transaktionsschritte hinzufügen, wie die Dauer zwischen Anmeldung und vollständigem Laden von Seiten:

  • setValue: Zeichnet die Dauer zwischen der Startzeit des Skripts bis zum Aufruf dieses Vorgangs auf.
  • startTime: Zeichnet die Dauer zwischen diesem Vorgang und dem Vorgang endTime auf.
  • endTime: Zeichnet die Dauer zwischen dem Vorgang startTime und diesem Vorgang auf.

Beachten Sie, dass die Vorgänge startTime und endTime miteinander kombiniert werden. Bei einem CustomMarker mit den Vorgängen startTime und endTime lautet der Metrikwert <endTime - startTime>.

Nachfolgend finden Sie die Befehle und Beispiele für die Dimension und Vorgänge CustomMarker:

  • Seitenskript:

    Fügen Sie Befehlsblöcke mit dem Vorgang hinzu, den Sie ausführen möchten. Der Befehlswert muss oraSynCustomMarker lauten, damit er als benutzerdefinierter Befehl erkannt wird. Die Werte für die Befehlsparameter target und value müssen der Wert der Dimension CustomMarker bzw. des Vorgangs sein.

    Mit dem folgenden Befehl können Sie einen benutzerdefinierten Marker in einem .side-Skript erfassen:
    {      
        “id”: “36d45a35-5c07-4d86-8144-90ee7b52260b”,      
        “comment”: “”,      
        “command”: “oraSynCustomMarker”,      
        “target”: “Add Marker Name”,      
        “targets”: [],      
        “value”: “setValue”
    }

    Beispiel:

    {      
        “id”: “36d45a35-5c07-4d86-8144-90ee7b52260b”,      
        “comment”: “For calling Availability Monitoring  custom metrics”,      
        “command”: “oraSynCustomMarker”,      
        “target”: “DURATION: Check Elements”,      
        “targets”: [],      
        “value”: “setValue”
    }
  • JS-Skript:

    fügen Sie den folgenden Befehl hinzu:

    oraSynCustomMarker(customMarker, customOperation)
    Ersetzen Sie customMarker durch den Wert der CustomMarker-Dimension und CustomOperation durch den Vorgang, der für die Dimension ausgeführt werden soll. Beispiel:
    oraSynCustomMarker("DURATION: Check Elements", "setValue")
  • Playwright-Skript:

    Verwenden Sie das folgende Format:

    console.log("oraSynCustomMarker:setValue:SetMarker"); // capturing the marker from the starting of the script
    console.log("oraSynCustomMarker:startTime:PageDuration"); // setting the starting marker 
    console.log("oraSynCustomMarker:endTime:PageDuration"); // setting the end marker of the respective starting marker 

Sie können auch Alarme im Monitoring-Service mit CustomMetric und der CustomMarker-Dimension erstellen, die benachrichtigt werden sollen, wenn die Metrik alarmspezifische Trigger erfüllt. Informationen zum Feature "Alarme" und zu deren Erstellung finden Sie unter Alarme verwalten.

Benutzerdefinierte Screenshots hinzufügen

Sie können einen Befehl zu den Skripten .side und .ts hinzufügen, um benutzerdefinierte Screenshots zu erfassen. Mit dieser Funktion können Sie zu jedem Zeitpunkt während der Ausführung des Skripts Screenshots erstellen, um Probleme zu diagnostizieren. Zusätzlich zu den Standard-Screenshots können Sie maximal zehn benutzerdefinierte Screenshots erstellen.

Mit diesem Befehl können Sie einen benutzerdefinierten Screenshot erfassen:
  • Seitenskript:
    {
        "id": "e227f32f-47f6-432b-976a-6b5db5b53e94",
        "comment": "",
        "command": "oraSynCustomScreenshot",
        "target": "AddScreenshotName",
        "targets": [],
        "value": "true"
    }
  • Playwright-Skript:
    console.log("oraSynCustomScreenshot:<fileName>")

Multifaktor-Authentifizierung (MFA) verwenden

Availability Monitoring Transactions unterstützt die Multifaktor-Authentifizierung (MFA), die ein TOTP-(Time-Based One-Time Password-)Token generiert, dem das Authentifizierungs-Secret erteilt wird. Für die Generierung dieses TOTP müssen Sie den Secret Key bei der Erstellung des Monitors angeben.

Um MFA zu verwenden, müssen Sie den Befehl oraSynTimeBasedOTP in das Skript aufnehmen und dann die Variable ${oraSynTimeBasedOTP} eingeben, in der der TOTP-Wert verwendet werden soll:
  • Seitenskript:
    {
        "id": "123abc12-12ab-1a12-1a2a-1234ab123abc",
        "comment": "",
        "command": "oraSynTimeBasedOTP",
        "target": "1ABCDE1A1XTXVOIDQRZP1ZXTZAUDLIBJZ",
        "targets": [],
        "value": ""
    }
    // After providing the command, user needs to provide the variable.
    {
        "id": "123abc12-12ab-1a12-1a2a-1234ab123abc",
        "comment": "",
        "command": "type",
        "target": "id=mfa_token",
        "targets": [
            ["id=mfa_token", "id"],
            ["name=mfa_token", "name"],
            ["css=#mfa_token", "css:finder"],
            ["xpath=//input[@id='mfa_token']", "xpath:attributes"],
            ["xpath=//div[@id='root']/div[3]/div/div[2]/form/div/div/input", "xpath:idRelative"],
            ["xpath=//div/input", "xpath:position"]
        ],
        "value": "${oraSynTimeBasedOTP}"
     }
    Der Befehl zum Generieren des TOTP lautet oraSynTimeBasedOTP. Dieser Befehl akzeptiert den Secret Key, der zum Generieren des TOTP erforderlich ist. Der Secret Key muss als Ziel übergeben werden. Es kann als normale Variable oder als sensible Variable übergeben werden:
    • Normaler Parameter:

      {    
          "id": "123abc12-12ab-1a12-1a2a-1234ab123abc",        
          "comment": "",    
          "command": "oraSynTimeBasedOTP",        
          "target": "1ABCDE1A1XTXVOIDQRZP1ZXTZAUDLIBJZ",    
          "targets": [],    
          "value": ""
      }
    • Vertraulicher oder ähnlicher Kennwortparameter:

      {   
              "id": "123abc12-12ab-1a12-1a2a-1234ab123abc",       
              "comment": "",       
              "command": "oraSynTimeBasedOTP",       
              "target":
              "<ORAP><ON>MFA_Secret</ON><OV>1ABCDE1A1XTXVOIDQRZP1ZXTZAUDLIBJZ</OV><OS>true</OS></ORAP>",       
              "targets": [],       
              "value": "" 
      }
    {    
            "id": "123abc12-12ab-1a12-1a2a-1234ab123abc",
            "comment": "",    
            "command": "type",
            "target": "id=mfa_token",
            "targets": [        
                ["id=mfa_token", "id"],
                ["name=mfa_token", "name"],
                ["css=#mfa_token", "css:finder"],        
                ["xpath=//input[@id='mfa_token']", "xpath:attributes"],
                ["xpath=//div[@id='root']/div[3]/div/div[2]/form/div/div/input", "xpath:idRelative"],
                ["xpath=//div/input", "xpath:position"]
            ],
            "value": "${oraSynTimeBasedOTP}"
    }

    Sie müssen angeben, wo der TOTP (der generiert wird) verwendet werden soll. Im Allgemeinen wird TOTP als Wert in das entsprechende TOTP-Texteingabefeld eingegeben. TOTP wird im Variablennamen ${oraSynTimeBasedOTP} gespeichert. Sie müssen den Variablennamen als ${oraSynTimeBasedOTP} angeben, wo der TOTP-Wert eingegeben wird.

  • Playwright-Skript:

    Der Befehl zum Generieren des TOTP lautet oraSynTimeBasedOTP. Dieser Befehl akzeptiert den Secret Key, der zum Generieren des TOTP erforderlich ist.
    console.log("oraSynTimeBasedOTP:<value>")

    Beispiel:

    var oraSynTimeBasedOTP = ''; // Mandatory to define. This variable holds the TOTP value.
    console.log('oraSynTimeBasedOTP:1ABCDE1A1XTXVOIDQRZP1ZXTZAUDLIBJZ'); // This is normal parameter format to provide the MFA secret. 
    await page.getByRole('textbox', { name: 'Enter One Time Passcode'}).fill(oraSynTimeBasedOTP); // Here the TOTP value will be utilized to fill in the TOTP text input field.

Vault-Secrets verwenden

Hinweis

Derzeit erfolgt die Vault-Secrets-Authentifizierung in öffentlichen Standorten und dedizierten Standorten mit S2S bzw. Instanz-Principals. S2S und Instanz-Principal können nicht in On-Premise-Standorten verwendet werden.

Für On-Premise-Standorte müssen Sie Resource Principal verwenden. Nachdem das Schlüsselwort RESOURCE_PRINCIPAL dem Skript hinzugefügt wurde, wird der Resource Principal zur Authentifizierung von Vault Secrets verwendet. Dies funktioniert in allen Arten von Aussichtspunkten. Weitere Informationen finden Sie unter Vault-Secrets mit Resource Principals verwenden.

Sie können Vault Secrets in den Skripten .side, .ts oder .js angeben, die zur Laufzeit aufgelöst werden. So können Sie Variablen wie Benutzernamen und Passwörter dynamisch aktualisieren, ohne die Skripte zu aktualisieren oder die Monitore neu zu starten. Erstellen Sie Secrets im Vault, und verwenden Sie sie in Skripten, die während der Monitorausführung aufgelöst werden, indem Sie die folgenden Policys in Ihrem Mandanten festlegen:
  1. Policy für öffentliche Standorte

    Sie können Policys für den APM-Service festlegen, um auf Secrets in einem bestimmten Vault oder Compartment zuzugreifen:

    • Ein bestimmter Vault:
      Allow service applicationperformancemonitoring to read secret-family in compartment <compartment-name> where all 
      {target.vault.id=‘ocid1.vault.oc1.<vault-ocid>’ , any 
      {target.vaultsecret.id=‘ocid1.vaultsecret.oc1.phx.<secret-ocid1>, target.vaultsecret.id=‘ocid1.vaultsecret.oc1.phx.<secret-ocid2>}}
      
    • Ein bestimmtes Compartment mit dem Namen des Compartments:

      Allow service applicationperformancemonitoring to read secret-family in compartment <compartment-name>

      Ein bestimmtes Compartment mit der ID des Compartments:

      Allow service applicationperformancemonitoring to read secret-family in compartment id <compartment-ocid>
  2. Policy für dedizierte Standorte

    Sie können Policys für den Zugriff des APM-Service auf Secrets in einem Compartment mit dem Namen oder der ID des Compartments festlegen:

    • Ein bestimmtes Compartment mit dem Namen des Compartments:

      Allow dynamic-group  <dvp dynamic group eg stack-11-aug-apmSyntheticDVP-dg> read secret-family in compartment <compartment-name>
    • Ein bestimmtes Compartment mit der ID des Compartments:

      Allow dynamic-group  <dvp dynamic group eg stack-11-aug-apmSyntheticDVP-dg> read secret-family in compartment id <compartment-ocid>
  3. Verwenden Sie je nach Skripttyp die folgende Syntax:

    • Verwenden Sie für das Skript .side die folgende Syntax:

      <ORAS>secretOcid</ORAS><ORASREG>vaultRegion</ORASREG>

      Beispiel:

      <ORAS>ocid1.vaultsecret.oc1.phx.abcdefghijklmnopqrstuvwxyz123456789</ORAS><ORASREG>us-phoenix-1</ORASREG>
    • Verwenden Sie für das Skript .ts die folgende Syntax:

      var password = "<ORAS>ocid1.vault.oc1.vault-ocid</ORAS><ORASREG>vaultRegion</ORASREG>"
      await page.getByRole('textbox', { name: 'password' }).fill(password);
    • Verwenden Sie für das Skript .js die folgende Syntax:

      method: 'GET',
      url:'<ORAS>secretOcid</ORAS><ORASREG>vaultRegion</ORASREG>'

      Beispiel:

      method: 'GET',
      url:'<ORAS>ocid1.vaultsecret.oc1.phx.abcdefghijklmnopqrstuvwxyz123456789</ORAS><ORASREG>us-phoenix-1</ORASREG>'

    Diese secretOcid wird während der Ausführung aufgelöst, um aktuelle Secret-Werte abzurufen.

    Die <ORASREG>-Syntax ist optional. Sie kann verwendet werden, wenn sich Ihr Vault-Service in einer anderen Region als Monitore befindet. Mit vaultRegion können Sie angeben, in welcher Region sich der Vault befindet und in welcher die Secrets dort aufgelöst werden. Dadurch kann dasselbe Skript regionsübergreifend verwendet werden. Beachten Sie, dass nur eine <ORASREG>region</ORASREG> im Skript vorhanden sein sollte.

    Hinweis

    Die maximale Länge für den Secret-Wert beträgt 255.

Vault-Secrets mit Resource Principals verwenden

Sie können das Skript so aktualisieren, dass Vault Secrets mit Resource Principals verwendet werden.

Resource Principal-basierte Unterstützung wird für den Zugriff auf Vault Secrets hinzugefügt. Resource-Principal-basierte Policys können hinzugefügt werden, damit Rest-, Siderunner- und Playwright-Monitore auf die Vault Secrets zugreifen können.

So verwenden Sie Vault Secrets mit Resource Principal:
  1. Erstellen Sie eine dynamische Gruppe für den Monitorressourcentyp.
    Fügen Sie eine der folgenden Regeln hinzu, damit alle Überwachungsressourcen des Ressourcentyps apmsyntheticmonitor auf Vault Secrets zugreifen können:
    • Option 1:
      All {resource.type='apmsyntheticmonitor'}

      Verwenden Sie diese Option, wenn eine einzelne Ressource (z.B. ein einzelner Monitor) vorhanden ist.

    • Option 2:
      ANY {resource.type='apmsyntheticmonitor'}

      Verwenden Sie diese Option, wenn Sie eine einzelne Ressource (z.B. einen einzelnen Monitor) oder mehrere Ressourcen (z.B. APM-Domain und andere) haben.

  2. Fügen Sie eine Policy hinzu, um den Zugriff auf Vaults mit Resource Principals zuzulassen:
    Allow dynamic-group <vault dg> to read to secret-family in compartment <compartment-name>

    Optional: Führen Sie für den Zugriff auf mandantenübergreifende Vault Secrets die folgenden Schritte aus:

    1. Policys zum Mandanten der APM-Domain hinzufügen:
      DEFINE tenancy vault_tenancy as <ocid_of_vault_tenancy>
      ENDORSE dynamic-group apm_domain_tenancy_dynamic_group to read secret-family in tenancy vault_tenancy
    2. Policys zum Vault-Mandanten hinzufügen:
      DEFINE tenancy apm_domain_tenancy as <ocid_of_apm_domain_tenancy>
      DEFINE dynamic-group apm_domain_tenancy_dynamic_group as <ocid_of_apm_domain_tenancy_dynamic_group> 
      ADMIT dynamic-group apm_domain_tenancy_dynamic_group of tenancy apm_domain_tenancy to read secret-family in compartment <vault_compartment_name>

    Informationen zu den Anweisungen DEFINE, ENDORSE und ADMIT finden Sie in der Object Storage-Dokumentation.

  3. Fügen Sie Vault-Parameter mit dem Schlüsselwort RESOURCE_PRINCIPAL im Skript hinzu
    Geben Sie die Appropiate-Syntax im Skript js , side oder playwright an. Zusammen mit der Vault-Secret-OCID und Region muss ein RESOURCE_PRINCIPAL-Schlüsselwort übergeben werden.
    Hinweis

    Er muss nur in einem der Vault-Parameter hinzugefügt werden.

    Seitenbeispiel:

    Für die Seite sieht das Skript wie folgt aus:

     "command": "<ORAS>ocid1.vaultsecret.oc1.phx.amaaaaaatttttuuuuaa</ORAS><ORASREG>us-phoenix-1</ORASREG><ORASAUTH>RESOURCE_PRINCIPAL</ORASAUTH>",

    Playwright-Beispiel:

    Für playwright sieht das Skript wie folgt aus:
    var password = "<ORAS>ocid1.vault.oc1.vault-ocid</ORAS><ORASREG>vaultRegion</ORASREG><ORASAUTH>RESOURCE_PRINCIPAL</ORASAUTH>"
    await page.getByRole('textbox', { name: 'password' }).fill(password);

    Weitere Informationen finden Sie unter Vault-Secrets verwenden.

    JS-Beispiel:

    Verwenden Sie für den Monitor SCRIPTED_REST das Schlüsselwort RESOURCE_PRINCIPAL im Skript.

    Beispiel: Siehe folgendes .js-Skript:

    var request = require('postman-request');
    var options = {
     method: '<ORAS>ocid1.vaultsecret.oc1.phx.amaaaaaafpqv5yya7p2uv63scv37yz64u75x47ajuibwoynro3ygbu2rrtxa</ORAS>',
     url: '<ORAS>ocid1.vaultsecret.oc1.phx.amaaaaaafpqv5yyagfnrwsjmoabretgffs4nkfocrfokvnldtt7nee7htsya</ORAS><ORASREG>us-phoenix-1</ORASREG><ORASAUTH>RESOURCE_PRINCIPAL</ORASAUTH>'
    };
    request(options, function (error, response, body) {
    if (error) throw new Error(error);
    console.log(response.statusCode);
    });