Skip to content

Commit 40d78ac

Browse files
authored
Merge pull request #203188 from MicrosoftDocs/main
6/28 PM Publish
2 parents c1e8894 + cb6865b commit 40d78ac

File tree

79 files changed

+1607
-700
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1607
-700
lines changed

CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ articles/azure-monitor/* @bwren
1414
articles/azure-monitor/agents @guywi-ms @bwren
1515
articles/azure-monitor/alerts @abbyMSFT
1616
articles/azure-monitor/app @AaronMaxwell
17-
articles/azure-monitor/autoscale @rboucher
17+
articles/azure-monitor/autoscale @EdB-MSFT
1818
articles/azure-monitor/containers @bwren
19-
articles/azure-monitor/essentials @bwren @rboucher
19+
articles/azure-monitor/essentials @bwren @rboucher @EdB-MSFT
2020
articles/azure-monitor/insights @bwren @rboucher
2121
articles/azure-monitor/logs @guywi-ms
2222
articles/azure-monitor/visualize @abbyMSFT @rboucher

articles/active-directory/develop/scenario-web-app-sign-user-app-configuration.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ To add authentication with the Microsoft identity platform (formerly Azure AD v2
261261
}).AddMicrosoftIdentityUI();
262262
```
263263
264-
3. In the `Configure` method in *Startup.cs*, enable authentication with a call to `app.UseAuthentication();`
264+
3. In the `Configure` method in *Startup.cs*, enable authentication with a call to `app.UseAuthentication();` and `app.MapControllers();`.
265265
266266
```c#
267267
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@@ -270,6 +270,9 @@ To add authentication with the Microsoft identity platform (formerly Azure AD v2
270270
// more code here
271271
app.UseAuthentication();
272272
app.UseAuthorization();
273+
274+
app.MapRazorPages();
275+
app.MapControllers();
273276
// more code here
274277
}
275278
```

articles/active-directory/enterprise-users/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
href: ../external-identities/what-is-b2b.md?context=%2fazure%2factive-directory%2fenterprise-users%2fcontext%2fugr-context
6565
- name: Restrict guest user access
6666
href: users-restrict-guest-permissions.md
67+
- name: Clean up unmanaged accounts
68+
href: clean-up-unmanaged-azure-ad-accounts.md
6769
- name: Dynamic groups and guests
6870
href: ../external-identities/use-dynamic-groups.md?context=%2fazure%2factive-directory%2fenterprise-users%2fcontext%2fugr-context
6971
- name: Organization (tenant)
@@ -187,4 +189,4 @@
187189
- name: Azure AD PowerShell for Graph
188190
href: /powershell/azure/active-directory/install-adv2
189191
- name: Azure AD service limits
190-
href: directory-service-limits-restrictions.md
192+
href: directory-service-limits-restrictions.md
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
title: Clean up unmanaged Azure AD accounts - Azure Active Directory | Microsoft Docs
3+
description: Clean up unmanaged accounts using email OTP and PowerShell modules in Azure Active Directory
4+
services: active-directory
5+
author: gargi-sinha
6+
ms.author: gasinh
7+
manager: martinco
8+
ms.date: 06/28/2022
9+
ms.topic: how-to
10+
ms.service: active-directory
11+
ms.subservice: enterprise-users
12+
ms.workload: identity
13+
ms.custom: it-pro
14+
ms.collection: M365-identity-device-management
15+
---
16+
17+
# Clean up unmanaged Azure Active Directory accounts
18+
19+
Azure Active Directory (Azure AD) supports self-service sign-up for
20+
email-verified users. Users can create Azure AD accounts if they can
21+
verify email ownership. To learn more, see, [What is self-service
22+
sign-up for Azure Active
23+
Directory?](https://docs.microsoft.com/azure/active-directory/enterprise-users/directory-self-service-signup)
24+
25+
However, if a user creates an account, and the domain isn't verified in
26+
an Azure AD tenant, the user is created in an unmanaged, or viral
27+
tenant. The user can create an account with an organization's domain,
28+
not under the lifecycle management of the organization's IT. Access can
29+
persist after the user leaves the organization.
30+
31+
## Remove unmanaged Azure AD accounts
32+
33+
You can remove unmanaged Azure AD accounts from your Azure AD tenants
34+
and prevent these types of accounts from redeeming future invitations.
35+
36+
1. Read how to enable [one-time
37+
passcodes](https://docs.microsoft.com/azure/active-directory/external-identities/one-time-passcode#enable-email-one-time-passcode)
38+
(OTP)
39+
40+
2. Use the sample application in [Azure-samples/Remove-unmanaged-guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests) or
41+
go to
42+
[AzureAD/MSIdentityTools](https://github.com/AzureAD/MSIdentityTools/wiki/)
43+
PowerShell module to identify viral users in an Azure AD tenant and
44+
reset user redemption status.
45+
46+
Once the above steps are complete, when users with unmanaged Azure AD accounts try to access your tenant, they'll re-redeem their invitations. However, because Email OTP is enabled, Azure AD will prevent users from redeeming with an existing unmanaged Azure AD account and they’ll redeem with another account type. Google Federation and SAML/WS-Fed aren't enabled by default. So by default, these users will redeem with either an MSA or Email OTP, with MSA taking precedence. For a full explanation on the B2B redemption precedence, refer to the [redemption precedence flow chart](https://docs.microsoft.com/azure/active-directory/external-identities/redemption-experience#invitation-redemption-flow).
47+
48+
## Overtaken tenants and domains
49+
50+
Some tenants created as unmanaged tenants can be taken over and
51+
converted to a managed tenant. See, [take over an unmanaged directory as
52+
administrator in Azure AD](https://docs.microsoft.com/azure/active-directory/enterprise-users/domains-admin-takeover).
53+
54+
In some cases, overtaken domains might not be updated, for example, missing a DNS TXT record and therefore become flagged as unmanaged. Implications are:
55+
56+
- For guest users who belong to formerly unmanaged tenants, redemption status is reset and one consent prompt appears. Redemption occurs with same account as before.
57+
58+
- After unmanaged user redemption status is reset, the tool might identify unmanaged users that are false positives.
59+
60+
## Reset redemption using a sample application
61+
62+
Before you begin, to identify and reset unmanaged Azure AD account redemption:
63+
64+
1. Ensure email OTP is enabled.
65+
66+
2. Use the sample application on
67+
[Azure-Samples/Remove-Unmanaged-Guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests).
68+
69+
## Reset redemption using MSIdentityTools PowerShell Module
70+
71+
MSIdentityTools PowerShell Module is a collection of cmdlets and
72+
scripts. They are for use in the Microsoft identity platform and Azure
73+
AD; they augment capabilities in the PowerShell SDK. See, [Microsoft
74+
Graph PowerShell
75+
SDK](https://github.com/microsoftgraph/msgraph-sdk-powershell).
76+
77+
Run the following cmdlets:
78+
79+
- `Install-Module Microsoft.Graph -Scope CurrentUser`
80+
81+
- `Install-Module MSIdentityTools`
82+
83+
- `Import-Module msidentitytools,microsoft.graph`
84+
85+
To identify unmanaged Azure AD accounts, run:
86+
87+
- `Connect-MgGraph --Scope User.Read.All`
88+
89+
- `Get-MsIdUnmanagedExternalUser`
90+
91+
To reset unmanaged Azure AD account redemption status, run:
92+
93+
- `Connect-MgGraph --Scope User.Readwrite.All`
94+
95+
- `Get-MsIdUnmanagedExternalUser | Reset-MsIdExternalUser`
96+
97+
To delete unmanaged Azure AD accounts, run:
98+
99+
- `Connect-MgGraph --Scope User.Readwrite.All`
100+
101+
- `Get-MsIdUnmanagedExternalUser | Remove-MgUser`
102+
103+
## Next steps
104+
105+
Examples of using
106+
[Get-MSIdUnmanagedExternalUser](https://github.com/AzureAD/MSIdentityTools/wiki/Get-MsIdUnmanagedExternalUser)

articles/aks/learn/quick-kubernetes-deploy-cli.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Quickstart: Deploy an AKS cluster by using Azure CLI'
33
description: Learn how to quickly create a Kubernetes cluster, deploy an application, and monitor performance in Azure Kubernetes Service (AKS) using the Azure CLI.
44
services: container-service
55
ms.topic: quickstart
6-
ms.date: 04/29/2022
6+
ms.date: 06/28/2022
77
ms.custom: H1Hack27Feb2017, mvc, devcenter, seo-javascript-september2019, seo-javascript-october2019, seo-python-october2019, devx-track-azurecli, contperf-fy21q1, mode-api
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run and monitor applications using the managed Kubernetes service in Azure.
99
---
@@ -27,21 +27,21 @@ To learn more about creating a Windows Server node pool, see [Create an AKS clus
2727

2828
- This article requires version 2.0.64 or later of the Azure CLI. If using Azure Cloud Shell, the latest version is already installed.
2929

30-
- The identity you are using to create your cluster has the appropriate minimum permissions. For more details on access and identity for AKS, see [Access and identity options for Azure Kubernetes Service (AKS)](../concepts-identity.md).
30+
- The identity you are using to create your cluster has the appropriate minimum permissions. For more details on access and identity for AKS, see [Access and identity options for Azure Kubernetes Service (AKS)][aks-identity-concepts].
3131

3232
- If you have multiple Azure subscriptions, select the appropriate subscription ID in which the resources should be billed using the
33-
[az account](/cli/azure/account) command.
33+
[az account][az-account] command.
3434

35-
- Verify *Microsoft.OperationsManagement* and *Microsoft.OperationalInsights* are registered on your subscription. To check the registration status:
35+
- Verify *Microsoft.OperationsManagement* and *Microsoft.OperationalInsights* providers are registered on your subscription. These are Azure resource providers required to support [Container insights][azure-monitor-containers]. To check the registration status, run the following commands:
3636

37-
```azurecli-interactive
37+
```azurecli
3838
az provider show -n Microsoft.OperationsManagement -o table
3939
az provider show -n Microsoft.OperationalInsights -o table
4040
```
4141
42-
If they are not registered, register *Microsoft.OperationsManagement* and *Microsoft.OperationalInsights* using:
42+
If they are not registered, register *Microsoft.OperationsManagement* and *Microsoft.OperationalInsights* using the following commands:
4343
44-
```azurecli-interactive
44+
```azurecli
4545
az provider register --namespace Microsoft.OperationsManagement
4646
az provider register --namespace Microsoft.OperationalInsights
4747
```
@@ -51,7 +51,7 @@ To learn more about creating a Windows Server node pool, see [Create an AKS clus
5151
5252
## Create a resource group
5353
54-
An [Azure resource group](../../azure-resource-manager/management/overview.md) is a logical group in which Azure resources are deployed and managed. When you create a resource group, you are prompted to specify a location. This location is:
54+
An [Azure resource group][azure-resource-group] is a logical group in which Azure resources are deployed and managed. When you create a resource group, you are prompted to specify a location. This location is:
5555
5656
* The storage location of your resource group metadata.
5757
* Where your resources will run in Azure if you don't specify another region during resource creation.
@@ -81,10 +81,10 @@ The following output example resembles successful creation of the resource group
8181

8282
## Create AKS cluster
8383

84-
Create an AKS cluster using the [az aks create][az-aks-create] command with the *--enable-addons monitoring* parameter to enable [Container insights][azure-monitor-containers]. The following example creates a cluster named *myAKSCluster* with one node:
84+
Create an AKS cluster using the [az aks create][az-aks-create] command with the *--enable-addons monitoring* parameter to enable [Container insights][azure-monitor-containers]. The following example creates a cluster named *myAKSCluster* with one node and enables a system-assigned managed identity:
8585

8686
```azurecli-interactive
87-
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
87+
az aks create -g myResourceGroup -n myManagedCluster --enable-managed-identity --node-count 1 --enable-addons monitoring
8888
```
8989

9090
After a few minutes, the command completes and returns JSON-formatted information about the cluster.
@@ -102,9 +102,10 @@ To manage a Kubernetes cluster, use the Kubernetes command-line client, [kubectl
102102
az aks install-cli
103103
```
104104
105-
2. Configure `kubectl` to connect to your Kubernetes cluster using the [az aks get-credentials][az-aks-get-credentials] command. The following command:
106-
* Downloads credentials and configures the Kubernetes CLI to use them.
107-
* Uses `~/.kube/config`, the default location for the [Kubernetes configuration file][kubeconfig-file]. Specify a different location for your Kubernetes configuration file using *--file* argument.
105+
2. Configure `kubectl` to connect to your Kubernetes cluster using the [az aks get-credentials][az-aks-get-credentials] command. The following command:
106+
107+
* Downloads credentials and configures the Kubernetes CLI to use them.
108+
* Uses `~/.kube/config`, the default location for the [Kubernetes configuration file][kubeconfig-file]. Specify a different location for your Kubernetes configuration file using *--file* argument.
108109
109110
```azurecli-interactive
110111
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
@@ -137,9 +138,9 @@ Two [Kubernetes Services][kubernetes-service] are also created:
137138
* An internal service for the Redis instance.
138139
* An external service to access the Azure Vote application from the internet.
139140
140-
1. Create a file named `azure-vote.yaml`.
141-
* If you use the Azure Cloud Shell, this file can be created using `code`, `vi`, or `nano` as if working on a virtual or physical system
142-
1. Copy in the following YAML definition:
141+
1. Create a file named `azure-vote.yaml` and copy in the following manifest.
142+
143+
* If you use the Azure Cloud Shell, this file can be created using `code`, `vi`, or `nano` as if working on a virtual or physical system.
143144
144145
```yaml
145146
apiVersion: apps/v1
@@ -303,7 +304,10 @@ This quickstart is for introductory purposes. For guidance on a creating full so
303304
<!-- LINKS - internal -->
304305
[kubernetes-concepts]: ../concepts-clusters-workloads.md
305306
[aks-monitor]: ../../azure-monitor/containers/container-insights-onboard.md
307+
[aks-identity-concepts]: ../concepts-identity.md
306308
[aks-tutorial]: ../tutorial-kubernetes-prepare-app.md
309+
[azure-resource-group]: ../../azure-resource-manager/management/overview.md
310+
[az-account]: /cli/azure/account
307311
[az-aks-browse]: /cli/azure/aks#az-aks-browse
308312
[az-aks-create]: /cli/azure/aks#az-aks-create
309313
[az-aks-get-credentials]: /cli/azure/aks#az-aks-get-credentials

0 commit comments

Comments
 (0)