blog.icewolf.ch

Let's talk about IT!
posts - 1870, comments - 295, trackbacks - 0

My Links

Archives

Post Categories

icewolf

Tuesday, August 24, 2021

Azure Active Directory - Einstellen ob Benutzer Gruppen erstellen dürfen

Hallo zusammen,

Ich habe kürzlich davon gehört, dass ein Benutzer Security Gruppen im Azure Active Directory erstellen konnte und bin dem ein bisschen nachgegangen.

Dokumentiert wird das ganze auch hier: https://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/groups-self-service-management

Wie man auf dem folgenden Screenshot sieht, habe ich keine Azure AD Rollen zugewiesen und bin ganz normaler Benutzer.

Im Azure AD Portal unter den Gruppeneinstellungen gibt es eine Einstellung, welche erlaubt als Benutzer Gruppen zu erstellen. Diese ist Standardmässig aktiviert, was bedeutet, dass Benutzer Security Gruppen im Azure AD erstellen können.

Ich habe das natürlich gleich ausprobiert

Security Gruppen ausgewählt und eine neue Gruppe angelegt

Wie man sieht, wurde die AAD Gruppe erstellt

Das selbe funktioniert auch mit PowerShell und dem AzureAD PowerShell Modul

New-AzureADGroup -DisplayName "AAD-UserCreatedGroupPS2" -MailEnabled $false -MailNickName "NotSet" -SecurityEnabled $true

Anschliessend füge ich da einen Member hinzu

Add-AzureADGroupMember -ObjectId b6a3c663-b3fe-4197-a727-bd901c31f39d -RefObjectId 6db8cdd5-8e93-462d-9907-994406c07f60

Auch hier wurde die Gruppe im AAD erstellt

Nun deaktiviere ich die Erstellung von Security Gruppen für Benutzer und warte 15 Minuten, damit das Setting auch zieht.

Wenn ich nun im AAD Portal eine neue Gruppe erstelle

Kann ich nur noch Office 365 Groups erstellen (das ist das zweite Setting und das ist ja noch erlaubt)

Die Erstellung einer Security Group über das AzureAD PowerShell Modul ist nicht mehr möglich

Fazit:

Ich finde die Standardeinstellung von Microsoft nicht gut. Benutzer können einfach Security Groups erfassen? Das kann in bestimmten Fällen durchaus Sinn machen. Aber als Standard für alle Security Groups. Dies untergräbt meiner Ansicht nach die Kontrolle über das Azure Active Directory.

Also unbedingt konfigurieren, wenn ihr das Verhindern wollt!

Liebe Grüsse
Andres Bohren

posted @ Wednesday, August 25, 2021 11:20 AM | Filed Under [ Microsoft365 Azure ]

Microsoft Teams Approvals and Approval Templates

Hallo zusammen,

Ich habe mich mal mit den Microsoft Teams Approvals und den Approval Templates beschäftigt.

Mehr Informationen gibt es auch hier https://support.microsoft.com/en-us/office/what-is-approvals-a9a01c95-e0bf-4d20-9ada-f7be3fc283d3

Zuerst muss die Approvals App in Teams installiert werden.

Nun erstelle ich einen neuen Approval request

Es gibt nur ein Basis und eSign Approval request

Unter den Templates steht nichts zur Verfügung

Ich fülle mal den Basic Request aus und füge mich selbst als Approver hinzu

Nach kurzer Zeit erhalte ich den Approval request

Ich kann dem Request abrechen, ein follow up  machen, ablehnen oder zustimmen

Ich habe den Request mal Approved und sehe das nun in der Liste der empfangenen Approval requests

Unter meinen gesendeten Approvals sehe ich nun, dass der Request bestätigt (approved) wurde.

Wenn man darauf klickt, so sieht man die Details

Approval Request Templates

Nun schaue ich mir mal die Templates an

Die Templates können auf verschiedenen Stufen veröffentlicht werden:

  • Organisationsweit
  • Für bestimmte Personen
  • Für bestimmte Teams

Ich wähle einen vordefinierten Approval request zur Abwesenheitsmeldung

Nun kann man bestimmen auf welcher Stufe das Approval request Template veröffentlicht werden soll

Nun kann man das Approval request Template noch ein bisschen anpassen

Einzelne Felder können da gelöscht oder umbenannt werden

Das Approval request Template ist nun veröffentlicht

Benutzen des Approval Template Requests

Und so sieht es aus, wenn man das Approval Template benutzt

Unter Templates steht nun die Vorlage für die Abwesenheitsmeldung zur Verfügung

Grüsse
Andres Bohren

posted @ Wednesday, August 25, 2021 12:07 AM | Filed Under [ MicrosoftTeams ]

M365 neue Service Health und Communications API in Microsoft Graph

Hallo zusammen,

Mit der Nachricht MC275573 hat Microsoft im M365 Message Center angekündigt, dass die alte Service Health und Communication API per 17.12.2021 eingestellt wird und stattdessen die API über Graph benutzt werden kann.

Ich hatte mich mit der alten API https://manage.office.com bereits mal beschäftig gehabt.

Office 365 Service Communications API with Powershell
https://blog.icewolf.ch/archive/2018/01/11/office-365-service-communications-api-with-powershell.aspx

Die Infos zur neuen Graph API von Service Health und Communications findet man hier

Working with service communications API in Microsoft Graph
https://docs.microsoft.com/en-us/graph/api/resources/service-communications-api-overview?view=graph-rest-1.0

Die API bietet Informationen zu

  • Service Health (Dienststatus)
  • Issues (Vorfälle / Hinweise)
  • Messages (Nachrichtencenter)

Wie immer braucht es dazu eine Applikation im Azure AD mit folgenden Permissions

  • ServiceMessage.Read.All
  • ServiceHealth.Read.All

Für die Authentication gegenüber Azure AD nutze ich das PowerShell Module MSAL.PS

Import-Module MSAL.PS
$TenantId = "icewolfch.onmicrosoft.com"
$APPID = "29581967-458b-4c7a-a4f7-03fa440c0e13" #ServiceCommunications
$CertificateThumbprint = "3B42F63204F0F54F6E4CB9CF96E365513C913C2B"

#Roles = "ServiceHealth.Read.All", "ServiceMessage.Read.All"
$ClientCertificate = Get-Item Cert:\CurrentUser\My\$CertificateThumbprint
$Scope = "https://graph.microsoft.com/.default"
$Token = Get-MsalToken -clientID $AppID -ClientCertificate $ClientCertificate -tenantID $tenantID -Scope $Scope
$AccessToken = $Token.AccessToken
$AccessToken

Den JWT Token kann man sich mit https://jwt.ms/ decodieren. Man sieht die beiden Rollen sind zugewiesen.

Service Health Overview

#Healh Overview
$URI = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/healthOverviews/"
$ContentType = "application/json"
$Headers = @{"Authorization" = "Bearer "+ $AccessToken}
$result = Invoke-RestMethod -Method "GET" -Uri $uri -Headers $Headers -ContentType $ContentType
$result.Value

Service Health für einen bestimmten Service

#Healh Overview "Exchange Online"
$URI = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/healthOverviews/Exchange Online"
$ContentType = "application/json"
$Headers = @{"Authorization" = "Bearer "+ $AccessToken}
$result = Invoke-RestMethod -Method "GET" -Uri $uri -Headers $Headers -ContentType $ContentType
$result

Issues

#Issues
$URI = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/issues"
$ContentType = "application/json"
$Headers = @{"Authorization" = "Bearer "+ $AccessToken}
$result = Invoke-RestMethod -Method "GET" -Uri $uri -Headers $Headers -ContentType $ContentType
$result.value
$result.value | where {$_.isResolved -ne $true}
$result.value | where {$_.Service -eq "Exchange Online" -AND $_.isResolved -ne $true}
$result.value | where {$_.status -ne "serviceRestored"}

Derselben Issue ist auch im Admin Center sichtbar

Nachrichtencenter

#Messages
$URI = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/messages"
$ContentType = "application/json"
$Headers = @{"Authorization" = "Bearer "+ $AccessToken}
$result = Invoke-RestMethod -Method "GET" -Uri $uri -Headers $Headers -ContentType $ContentType
$result.value
$result.value | where {$_.Services -eq "Exchange Online"}
$Messages = $result.value | where {$_.Services -eq "Exchange Online"}
$messages[0]

Auch hier findet man die Nachricht im Nachrichtencenter

Fazit:

Der Zugriff auf das neue API ist eigentlich relativ einfach. Allerdings müssen bisherige Scripte umgebaut werden, da die API nicht mehr ganz gleich funktioniert wie die alte API. Es ist rasch Ende Jahr also so rasch wie möglich daran machen vorhandene Scripte zu aktualisieren

Grüsse
Andres Bohren

posted @ Tuesday, August 24, 2021 8:48 AM | Filed Under [ PowerShell Microsoft365 ]

Powered by:
Powered By Subtext Powered By ASP.NET