diff --git a/Doc/Aufgabe.md b/Doc/Aufgabe.md index ed77cfb..0394256 100644 --- a/Doc/Aufgabe.md +++ b/Doc/Aufgabe.md @@ -14,7 +14,5 @@ https://www.tc-telefon.de/Kontakt/ 8. Anrufen Fabio wegen die Donau Drucker Toner lvl 18% - - j.berg 1234 diff --git a/Scripts/python/get_app_permissions_de.py b/Scripts/python/get_app_permissions_de.py index de49509..8173c57 100644 --- a/Scripts/python/get_app_permissions_de.py +++ b/Scripts/python/get_app_permissions_de.py @@ -38,7 +38,7 @@ def get_application_permissions(access_token, app_id): # Erstellt die URL, um den Dienstprinzipal anhand der appId abzufragen und appRoles auszuwählen url = (f"{GRAPH_API_ENDPOINT}/servicePrincipals?" f"$filter=appId+eq+'{app_id}'&" - f"$select=displayName,appId,appRoles") + f"$select=displayName,appId,appRoles,requiredResourceAccess") response = requests.get(url, headers=headers) response.raise_for_status() # Löst eine Ausnahme für HTTP-Fehler aus @@ -68,6 +68,23 @@ if __name__ == "__main__": print(f" Aktiviert: {role.get('isEnabled')}") else: print("Keine Anwendungsberechtigungen (appRoles) für diesen Dienstprinzipal gefunden.") + + required_resource_access = sp.get('requiredResourceAccess', []) + if required_resource_access: + print("\nKonfigurierte API-Zugriffsberechtigungen (requiredResourceAccess):") + for resource_access in required_resource_access: + resource_app_id = resource_access.get('resourceAppId') + print(f" Resource App ID: {resource_app_id}") + for ra in resource_access.get('resourceAccess', []): + type_of_perm = "Unbekannt" + if ra.get('type') == 'Scope': + type_of_perm = "Delegierte Berechtigung" + elif ra.get('type') == 'Role': + type_of_perm = "Anwendungsberechtigung" + + print(f" - Berechtigungs ID: {ra.get('id')} (Typ: {type_of_perm})") + else: + print("Keine konfigurierten API-Zugriffsberechtigungen (requiredResourceAccess) gefunden.") else: print("Kein Dienstprinzipal mit der angegebenen Client ID gefunden oder keine Daten zurückgegeben.")