Bereitstellen der OSDU-Administratoroberfläche auf Basis von Azure Data Manager for Energy
In diesem Leitfaden wird gezeigt, wie Sie die OSDU-Administratorbenutzeroberfläche zusätzlich zu Ihrer ADME-Instanz (Azure Data Manager for Energy) bereitstellen.
Die OSDU-Administratoroberfläche ermöglicht es Plattformadministratoren, die Azure Data Manager for Energy-Datenpartition zu verwalten, mit der Sie eine Verbindung herstellen. Die Verwaltungsaufgaben umfassen Berechtigungen (Benutzer- und Gruppenverwaltung), rechtliche Tags, Schemas, Verweisdaten, Anzeigen sowie Visualisieren von Objekten auf einer Karte.
Voraussetzungen
Eine Microsoft Entra ID-App-Registrierung.
Diese App-Registrierung kann mit der für die Azure Data Manager for Energy-Instanz verwendeten identisch sein. Die folgenden API-Berechtigungen sind für die App-Registrierung erforderlich, damit die Administratorbenutzeroberfläche ordnungsgemäß funktioniert.Bei der ersten Anmeldung auf der Administratorbenutzeroberfläche werden die erforderlichen Berechtigungen angefordert. Sie können die erforderlichen Berechtigungen auch im Voraus erteilen. Weitere Informationen finden Sie unter App-Registrierungs-API-Berechtigungsdokumentation.
Bereitstellungsoptionen
Es gibt zwei Bereitstellungsoptionen für die OSDU-Admin-Benutzeroberfläche:
Schnelle Bereitstellung mit Azure Container Apps: Einmaliges Bereitstellen mithilfe von Azure-Container-Apps. Diese Bereitstellung ist die einfachste und schnellste Möglichkeit, die OSDU-Admin-Benutzeroberfläche bereitzustellen. Sie unterstützt sowohl öffentliche als auch private Einsätze.
Benutzerdefinierte Bereitstellung mithilfe der statischen Azure Storage-Website: Erstellen und Bereitstellen der OSDU-Administrator-Benutzeroberfläche mithilfe des Azure Storage-Kontos. Diese Bereitstellungsoption ist anpassbarer und ermöglicht es Ihnen, die Bereitstellung nach Ihren Bedürfnissen zu konfigurieren.
Schnelle Bereitstellung mit Azure Container Apps
Wählen Sie die Schaltfläche
Deploy to Azure
aus, um die OSDU-Administrator-Benutzeroberfläche mit Azure-Container-Apps bereitzustellen.Geben Sie die erforderlichen Parameter im Azure-Portal ein. Weitere Informationen zu den Parametern finden Sie im Abschnitt Parameter.
Wählen Sie Überprüfen + erstellen und dann Erstellen, um die OSDU-Admin-Benutzeroberfläche bereitzustellen.
Die URL der bereitgestellten OSDU-Admin-Benutzeroberfläche finden Sie im Abschnitt
Outputs
.Konfigurieren Sie die ADME-CORS-Richtlinie und den App-Registrierungs-SPA-Umleitungs-URI mit der Website-URL.
Öffnen Sie die URL in einem Browser, und überprüfen Sie, ob sie ordnungsgemäß funktioniert und mit der richtigen Azure Data Manager for Energy-Instanz verbunden ist.
Parameter
Parameter | Beschreibung | Erforderlich |
---|---|---|
Abonnement | Das Azure-Abonnement, auf dem die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. | Ja |
Resource group | Die Ressourcengruppe, für die die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. | Ja |
Region | Die Azure-Region, in der die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. | Yes |
Name | Der Name der Instanz der OSDU-Admin-Benutzeroberfläche. Andere Ressourcen verwenden diesen Namen als Basisnamen und fügen eine Dienstabkürzung hinzu. | Ja |
Containerimage | Das für die OSDU-Admin-Benutzeroberfläche zu verwendende Containerimage. Verfügbare Images finden Sie unter OSDU Forum Admin UI Container Registry. | Ja |
Osdu Endpoint | Der Endpunkt der Azure Data Manager for Energy- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. | Ja |
Datenpartitions-IDs | Durch Trennzeichen getrennte Liste der Datenpartitions-ID der Azure Data Manager for Energy- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. | Ja |
Domänenname der Berechtigungen | Der Domänenname, der für den Berechtigungsdienst verwendet werden soll. Behalten Sie .dataservices.energy für jede ADME-Bereitstellung bei und aktualisieren Sie es nur, wenn Sie eine andere OSDU-Implementierung verwenden. |
Ja |
Client-ID | Die Client-ID der App-Registrierung, die für die OSDU-Admin-Benutzeroberfläche verwendet werden soll. | Ja |
`Scope` | Der Umfang der App-Registrierung, die von Azure Data Manager for Energy oder OSDU verwendet wird. Wenn die Client-ID die ADME-App-Registrierung ist, können Sie diese Standardeinstellung beibehalten. | Ja |
Connectorendpunkt | Optional: Der Endpunkt der OSDU-Admin-UI-Connector-API, der für die Admin-UI verwendet werden soll. | No |
Privates Netzwerk aktivieren | Optional: Ermöglichen Sie den privaten Netzwerkzugriff auf die OSDU-Admin-Benutzeroberfläche. | No |
Protokollierung aktivieren | Optional: Aktivieren Sie die Protokollierung für die OSDU-Administrator-Benutzeroberfläche. | No |
Benutzerdefinierte Bereitstellung mit statischer Website des Azure-Speicherkontos
Vorbereiten Ihres Computers
- Installieren von Visual Studio Code mit Entwicklungscontainern. Es ist möglich, die OSDU-Administratorbenutzeroberfläche über Ihren lokalen Computer mit Linux oder das Windows-Subsystem für Linux (WSL) bereitzustellen. Es wird die Verwendung eines Entwicklungscontainers empfohlen, um potenzielle Konflikte mit Toolversionen, Umgebungen usw. zu vermeiden.
Einrichten der Umgebung
Verwenden Sie den Entwicklungscontainer in Visual Studio Code, um die OSDU-Administratoroberfläche bereitzustellen und Konflikte auf Ihrem lokalen Computer zu vermeiden.
Wählen Sie
Remote - Containers | Open
aus, um einen Entwicklungscontainer zu öffnen und das Repository für die OSDU-Administratorbenutzeroberfläche zu klonen.Akzeptieren Sie die Eingabeaufforderung zum Klonen.
Wenn Sie zur Eingabe einer Containerkonfigurationsvorlage aufgefordert werden.
- Wählen Sie Ubuntu aus.
- Übernehmen Sie die Standardversion.
- Fügen Sie keine zusätzlichen Features hinzu.
Nach ein paar Minuten wird der Entwicklungscontainer ausgeführt.
Öffnen Sie das Terminal.
Installieren Sie die Angular CLI, die Azure-Befehlszeilenschnittstelle, npm und Node Version Manager (NVM).
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && \ export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \ nvm install 14.17.3 && \ export NG_CLI_ANALYTICS=false && \ npm install -g @angular/cli@13.3.9 && \ apt-get install jq -y && \ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Melden Sie sich bei der Azure CLI an, indem Sie den Befehl im Terminal ausführen. Sie gelangen zum Anmeldebildschirm.
az login
Sie gelangen zum Anmeldebildschirm. Geben Sie Ihre Anmeldeinformationen ein. Ggf. wird eine Erfolgsmeldung angezeigt.
Überprüfen Sie, ob Sie das richtige Abonnement verwenden.
az account show
Verwenden Sie bei Bedarf diesen Code, um das Abonnement zu ändern.
az account set --subscription <subscription-id>
Konfigurieren von Umgebungsvariablen
Geben Sie die erforderlichen Umgebungsvariablen im Terminal ein.
export WEBSITE_NAME="" ## Unique name of the static web app or storage account that will be generated. Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only. export RESOURCE_GROUP="" ## Name of resource group export LOCATION="" ## Azure region to deploy to, i.e. "westeurope"
Bereitstellen des Speicherkontos
Erstellen Sie eine Ressourcengruppe. Überspringen Sie diesen Schritt, wenn die Ressourcengruppe bereits vorhanden ist.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
Erstellen eines Speicherkontos.
az storage account create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $WEBSITE_NAME \ --sku Standard_LRS \ --public-network-access Enabled \ --allow-blob-public-access true
Konfigurieren Sie die statische Website.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.html
Legen Sie $web-Containerberechtigungen fest, um anonymen Zugriff zu ermöglichen.
az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Konfigurieren der Website
Navigieren Sie zum Ordner
OSDUApp
.cd OSDUApp/
Kopieren Sie die Azure routing.ts-Datei.
cp providers/azure/routing.ts src/app/routing.ts
Installieren Sie die Abhängigkeiten.
npm install
Ändern Sie die Parameter in der Konfigurationsdatei unter
/src/config/config.json
.
Ersetzen Sie die Werte der Umgebungsvariablen durch Ihre Werte.
export OSDU_ENDPOINT="" # Endpoint of the Azure Data Manager for Energy or OSDU instance to connect to
export DATA_PARTITION_ID="" # ADME Data Partition ID (i.e. opendes)
export DOMAIN_NAME=".dataservices.energy" # Domain name to use for the entitlements service. Use .dataservices.energy for any ADME deployment.
export TENANT_ID="" # Entra ID tenant ID
export CLIENT_ID="" # App Registration ID to use for the admin UI, usually the same as the ADME App Registration ID
export SCOPE="" # Scope of the ADME instance, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a/.default"
export GRAPH_ENDPOINT="https://graph.microsoft.com/v1.0/" # Microsoft Graph API endpoint
export APPINSIGHTS_INSTRUMENTATIONKEY="" # Optional. Application Insights instrumentation key
export OSDU_CONNECTOR_API_ENDPOINT="" # Optional. API endpoint of the OSDU Connector API
jq --arg data "$DATA_PARTITION_ID" \
--arg domain "$DOMAIN_NAME" \
--arg tenant "$TENANT_ID" \
--arg client "$CLIENT_ID" \
--arg redirect "$REDIRECT_URI" \
--arg scope "$SCOPE" \
--arg endpoint "$OSDU_ENDPOINT" \
--arg graph "$GRAPH_ENDPOINT" \
--arg appinnsights "$APPINSIGHTS_INSTRUMENTATIONKEY" \
--arg connectorapi "$OSDU_CONNECTOR_API_ENDPOINT" \
'.settings.appInsights.instrumentationKey = $appinnsights |
.settings.data_partition = $data |
.settings.domain_name = $domain |
.settings.idp.tenant_id = $tenant |
.settings.idp.client_id = $client |
.settings.idp.redirect_uri = $redirect |
.settings.idp.scope = $scope |
.settings.api_endpoints.entitlement_endpoint = $endpoint |
.settings.api_endpoints.storage_endpoint = $endpoint |
.settings.api_endpoints.search_endpoint = $endpoint |
.settings.api_endpoints.legal_endpoint = $endpoint |
.settings.api_endpoints.schema_endpoint = $endpoint |
.settings.api_endpoints.file_endpoint = $endpoint |
.settings.api_endpoints.secrets_endpoint = $connectorapi |
.settings.api_endpoints.graphAPI_endpoint = $graph |
.settings.api_endpoints.workflow_endpoint = $endpoint |
.settings.api_endpoints.secrets_endpoint = $endpoint |
.settings.api_endpoints.wddms_endpoint = $endpoint' \
src/config/config.json > src/config/temp.json
mv src/config/temp.json src/config/config.json
Hinweis
Die OSDU-Connector-API ist als Schnittstelle zwischen Consumern und OSDU-APIs erstellt, die einige API-Kettenaufrufe und -objekte umschließen. Derzeit verwaltet sie alle Vorgänge und Aktionen für Projekt- und Szenarioobjekte.
Erstellen Sie die Webbenutzeroberfläche.
ng build
Laden Sie den Build in das Speicherkonto hoch.
az storage blob upload-batch \ --account-name $WEBSITE_NAME \ --source ./dist/OSDUApp \ --destination '$web' \ --overwrite
Rufen Sie die Website-URL ab.
echo $REDIRECT_URI
Konfigurieren Sie die ADME-CORS-Richtlinie und den App-Registrierungs-SPA-Umleitungs-URI mit der Website-URL.
Öffnen Sie die Website-URL im Browser, und überprüfen Sie, ob sie ordnungsgemäß funktioniert und mit der richtigen Azure Data Manager for Energy-Instanz verbunden ist.
CORS-Richtlinie hinzufügen
Damit die Admin-Benutzeroberfläche ordnungsgemäß funktioniert, müssen Sie den Umleitungs-URI zur CORS-Richtlinie in der Azure Data Manager for Energy-Instanz hinzufügen. Erfahren Sie, wie Sie eine CORS-Richtlinie zu Ihrer Azure Data Manager for Energy-Instanz hinzufügen. Weitere Informationen finden Sie in der Dokumentation zur CORS-Richtlinie.
Hinzufügen einen Umleitungs-URI zur App-Registrierung
Sie müssen den Umleitungs-URI als Single-Page-App zur App-Registrierung hinzufügen, die von der Admin-Benutzeroberfläche verwendet wird. Um den Umleitungs-URI zu konfigurieren, befolgen Sie die Schritte in der Dokumentation Hinzufügen eines Umleitungs-URI zur App-Registrierung.
Nächste Schritte
Nachdem Sie über eine funktionierende Administratorbenutzeroberfläche verfügen, können Sie folgende Aktionen ausführen:
- Hinzufügen der ersten Benutzer/Benutzerinnen
- Verwalten rechtlicher Tags
- Verwalten von Zugriffssteuerungslisten
Sie können Daten auch in Ihrer Azure Data Manager for Energy-Instanz erfassen:
References
Informationen zur OSDU-Administratoroberfläche finden Sie unter OSDU GitLab.
Weitere Bereitstellungsmethoden (Terraform oder Azure DevOps-CI/CD-Pipeline) finden Sie unter OSDU-Administratorbenutzeroberfläche für DevOps.