You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2020-09-21-Exchange-Online-Certificate-Based-Authentication.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,17 +19,17 @@ header:
19
19
teaser: "/assets/images/ExchangeLogo.png"
20
20
---
21
21
22
-
Microsoft released to GA the new version of *Exchange Online Management* module, version *2.0.3* at the time this article, which introces**Certificate Based Authencation** for PowerShell sessions. *Basic Authentication* has been already deprecated and originally planned for removal in *Ocober 2020* but due CoVid-19 outbreak this has been post-poned to 2021 as you can [read here](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-april-2020-update/ba-p/1275508).
22
+
Microsoft released to GA the new version of *Exchange Online Management* module, version *2.0.3* at the time this article, which introduces**Certificate Based Authentication** for PowerShell sessions. *Basic Authentication* has been already deprecated and originally planned for removal in *October 2020* but due CoVid-19 outbreak this has been postponed to 2021 as you can [read here](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-april-2020-update/ba-p/1275508).
23
23
24
24
I have been using the module preview in production for quite some time but held back publishing this article so to have all places in place as GA.
25
25
26
26
## Exchange Online Certificate Based authentication - Register Azure Application
27
27
28
-
The first step to deploy Certificate Based authentication is to register a new *Azure Application*. Navigate *Azure Active Directory* in the Azure portal and select **App Registrations** (alternatively use the search function whcih is what I usually do)
28
+
The first step to deploy Certificate Based authentication is to register a new *Azure Application*. Navigate *Azure Active Directory* in the Azure portal and select **App Registrations** (alternatively use the search function which is what I usually do)
In the app registrations under *Owned applications* we can list all applications that we registered under our account, in my case this is still empty, and under *All applications* as the name implies all application registered tenant wide.
32
+
In the app registrations under *Owned applications* we can list all applications that we registered under our account, in my case this is still empty, and under *All applications* as the name implies all application registered tenant wide.
@@ -46,7 +46,7 @@ Once done click on the **Register** button, provision will only take a couple of
46
46
47
47
### Exchange Online Certificate Based authentication - Grant API Permissions
48
48
49
-
Once the application has been registered we need to configre/grant API permissions that will define what our application can and cannot do. Either seelct*API Permissions* from the left blade or from the link directly below the API properties and select **Add permission**
49
+
Once the application has been registered we need to configure/grant API permissions that will define what our application can and cannot do. Either select*API Permissions* from the left blade or from the link directly below the API properties and select **Add permission**
## Exchange Online Certificate Based authentication - Configure Authentication
66
66
67
-
With the application created configured in AzureAD we need to configure authentication against AzureAD. When using *[application permissions model](https://en.wikipedia.org/wiki/Application_permissions)*authenticaiton is performed via a **client secret**, a token, or a **certificate**. Token authentication is considered, rightly so, *less secure* for this reason only certificate one is supported by Exchange Online/Microsoft.
67
+
With the application created configured in AzureAD we need to configure authentication against AzureAD. When using *[application permissions model](https://en.wikipedia.org/wiki/Application_permissions)*authentication is performed via a **client secret**, a token, or a **certificate**. Token authentication is considered, rightly so, *less secure* for this reason only certificate one is supported by Exchange Online/Microsoft.
68
68
69
69
In the scope of Exchange OnLine authentication it is unimportant if we're using a self signed or publicly trusted certificate as long as **we have the associated private key**.
70
70
@@ -98,7 +98,7 @@ In the Azure Portal select *Certificates and Secretes* from the left blade and *
98
98
**Note:** Write down the certificate thumbprint displayed in the Azure page as we will need this later on.
99
99
{: .notice--primary}
100
100
101
-
## Exchange Online Certificate Based authentication - Grant permissiosn
101
+
## Exchange Online Certificate Based authentication - Grant permissions
102
102
103
103
As I mentioned in the **Grant API Permissions** paragraph Graph API does not support any Exchange management operations nor we can use Exchange **RBAC** model as that only applies to user objects not applications, like in our case, which are represented by a **Service Principal**.
104
104
What we can do is granting a **[AzureAD Directory Role](https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-assign-admin-roles#exchange-service-administrator-permissions)** to our application Service Principal.
@@ -141,6 +141,6 @@ And here's the result
141
141
142
142
## Closing notes
143
143
144
-
This was quite a long post but steps to get up and running with Exchange Online Certificate based authentication are numerous even if not difficult to implemnt but well worth following.
144
+
This was quite a long post but steps to get up and running with Exchange Online Certificate based authentication are numerous even if not difficult to implement but well worth following.
145
145
146
-
Certificate Based authentication resolves a number of challenges administrators had to face up to this point, chief among all [storing credentials](https://pscustomobject.github.io/powershell/howto/Store-Credentials-in-PowerShell-Script/) which is inherently insecure.
146
+
Certificate Based authentication resolves a number of challenges administrators had to face up to this point, chief among all [storing credentials](https://pscustomobject.github.io/powershell/howto/Store-Credentials-in-PowerShell-Script/) which is inherently insecure.
0 commit comments