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
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.
Eine Microsoft Entra ID-App-Registrierung.
Diese App-Registrierung kann mit der für die Azure Data Manager for Energy-Instanz verwendeten identisch sein.Wichtig
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 zuweisen, wie in der Dokumentation zur App-Registrierungs-API für Berechtigungen beschrieben.
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 && \ 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 ADMINUI_CLIENT_ID="" ## App Registration to be used by OSDU Admin UI, usually the client ID used to provision ADME 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
Fügen Sie der App-Registrierung den Umleitungs-URI hinzu.
export REDIRECT_URI=$(az storage account show --resource-group $RESOURCE_GROUP --name $WEBSITE_NAME --query "primaryEndpoints.web") && \ echo "Redirect URL: $REDIRECT_URI" && \ echo "Add the redirect URI above to the following App Registration's Single-page Application (SPA) section: https://ms.portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Authentication/appId/$ADMINUI_CLIENT_ID/isMSAApp~/false"
Erstellen und Bereitstellen der Web-App
Navigieren Sie zum Ordner
OSDUApp
.cd OSDUApp/
Installieren Sie die Abhängigkeiten.
npm install
Ändern Sie die Parameter in der Konfigurationsdatei unter
/src/config/config.json
.{ "mapboxKey": "key", // This is optional for the access token from Mapbox.com and used to visualize data on the map feature. ... "data_partition": "<adme_data_partition>", // ADME Data Partition ID (i.e. opendes) "idp": { ... "tenant_id": "<tenant_id>", // Entra ID tenant ID "client_id": "<client_id>", // App Registration ID to use for the admin UI, usually the same as the ADME App Registration ID, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a" "redirect_uri": "<redirect_uri>", // This is the website URL ($REDIRECT_URI), i.e. "https://contoso.z1.web.core.windows.net" "scope": "<client_id>/.default" // Scope of the ADME instance, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a/.default" }, "api_endpoints": { // Just replace contoso.energy.azure.com with your ADME_URL after removing https or wwww in all the API endpoints below. "entitlement_endpoint": "https://contoso.energy.azure.com/api/", "storage_endpoint": "https://contoso.energy.azure.com/api/", "search_endpoint": "https://contoso.energy.azure.com/api/", "legal_endpoint": "https://contoso.energy.azure.com/api/", "schema_endpoint": "https://contoso.energy.azure.com/api/", "osdu_connector_api_endpoint":"osdu_connector", // Optional. API endpoint of the OSDU Connector API* "file_endpoint": "https://contoso.energy.azure.com/api/", "graphAPI_endpoint": "https://graph.microsoft.com/v1.0/", "workflow_endpoint": "https://contoso.energy.azure.com/api/" } ... }
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
Ö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.
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.