Azure Active Directory
Die ProcessCube Authority unterstützt Azure Active Directory als Identitätsprovider, um dort verwaltete Benutzer verwenden zu können.
Erstellen einer App Registration
Zuerst muss ein Client auf Azure definiert und konfiguriert werden.
Azure CLI
Erstelle eine Datei appRoles.json in deinem Arbeitsverzeichnis mit folgendem Inhalt:
[
{
"displayName": "Administrator",
"description": "Admins can do anything.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ProcessCubeAdmin"
},
{
"displayName": "Operator",
"description": "Operators can manage processes and their instances.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ProcessCubeOperator"
},
{
"displayName": "Operator",
"description": "Same as 'Operator', but with full read access only.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ProcessCubeOperatorReadonly"
},
{
"displayName": "Operator (No Deploy)",
"description": "Same as 'Operator' without deployment permissions.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ProcessCubeOperatorNoDeploy"
},
{
"displayName": "User",
"description": "Users can manage process instances.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ProcessCubeUser"
},
{
"displayName": "ExternalTaskWorker",
"description": "External Task Workers can handle external tasks.",
"allowedMemberTypes": ["User", "Application"],
"isEnabled": true,
"value": "ExternalTaskWorker"
}
]Über diese Datei werden die erforderlichen Rollen in der App Registration definiert. Du kannst später
Benutzern im Azure AD diese Rollen zuweisen. Die Authority wird anhand des value eine konventionsbasierte
Zuweisung von Rechten durchführen.
Erstelle eine Datei prepare-azure-ad.sh mit folgendem Inhalt:
#!/bin/bash
az login
az ad app create \
--display-name "ProcessCube Authority Lokal" \
--app-role @appRoles.json \
--enable-access-token-issuance true \
--enable-id-token-issuance true \
--sign-in-audience AzureADMyOrg \
--web-redirect-uris http://localhost:11560/acr/azure_ad_main_azuread/callbackDie angegebene Redirect URI gilt als schwer fälschbares Merkmal, auf das sich Identitätsprovider und Authority einigen.
Wähle hier das Schema https://[Authority-Adresse]/acr/azure_ad_[Provider ID]/callback.
Azure AD erlaubt außer http://localhost keine lokalen Redirect URIs. Damit die Authority bei Anfragen automatisch
wieder auf die ursprüngliche Adresse http://authority weiterleitet, muss das Entwicklungsfeature fixWrongHostnames
in der Konfiguration aktiviert sein.
Entnimm der zurückgelieferten JSON die Property appId, die auch als Client ID bezeichnet wird.
Konfiguration der Authority
Es ist erforderlich, innerhalb der Authority-Konfiguration eine Sektion für die Azure AD Extension hinzuzufügen:
// [...]
"extensions": {
"path": "../extensions",
"configs": {
"provider_chooser": {},
"azure_ad": {
"providers": [
{
"id": "main_azuread",
"client_id": "[redacted]",
"tennant_id": "[redacted]",
"redirect_uris_origins": [
"http://localhost:11560/acr/azure_ad_main_azuread/callback"
]
}
]
}
}
}Zuweisen von Rollen
Einer spezifischen Rolle für die Verwendung des ProcessCube kannst du Benutzer und Anwendungen hinzufügen.
Azure Portal
- Navigiere zu den Enterprise Applications in Microsot Entra ID
- Wähle die soeben erstellte Anwendung aus
- Navigiere zum Bereich
Users and groups - Füge die Benutzer und Anwendungen einer Rolle hinzu