Skip to content

Commit 07c0601

Browse files
authored
Merge pull request #234312 from MicrosoftDocs/main
4/12/2023 PM Publish
2 parents 30fd9e2 + fff7f54 commit 07c0601

File tree

215 files changed

+2584
-2160
lines changed

Some content is hidden

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

215 files changed

+2584
-2160
lines changed
-4.51 KB
Loading

articles/active-directory/app-provisioning/plan-auto-user-provisioning.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-provisioning
99
ms.topic: conceptual
1010
ms.workload: identity
11-
ms.date: 04/11/2023
11+
ms.date: 04/12/2023
1212
ms.author: kenwith
1313
ms.reviewer: arvinh
1414
---
@@ -57,7 +57,7 @@ This article uses the following terms:
5757

5858
* Target system - The repository of users that the Azure AD provisions to. The Target system is typically a SaaS application such as ServiceNow, Zscaler, and Slack. The target system can also be an on-premises system such as AD.
5959

60-
* [System for Cross-domain Identity Management (SCIM)](https://aka.ms/scimoverview) - An open standard that allows for the automation of user provisioning. SCIM communicates user identity data between identity providers such as Microsoft, and service providers like Salesforce or other SaaS apps that require user identity information.
60+
* [System for Cross-domain Identity Management (SCIM)](https://aka.ms/scimoverview) - An open standard that allows for the automation of user provisioning. SCIM communicates user identity data between identity providers and service providers. Microsoft is an example of an identity provider. Salesforce is an example of a service provider. Service providers require user identity information and an identity provider fulfills that need. SCIM is the mechanism the identity provider and service provider use to send information back and forth.
6161

6262
### Training resources
6363

@@ -128,7 +128,7 @@ When technology projects fail, it's typically because of mismatched expectations
128128

129129
### Plan communications
130130

131-
Communication is critical to the success of any new service. Proactively communicate with your users how their experience will change, when it will change, and how to gain support if they experience issues.
131+
Communication is critical to the success of any new service. Proactively communicate to your users about their experience, how the experience is changing, when to expect any change, and how to gain support if they experience issues.
132132

133133
### Plan a pilot
134134

@@ -140,7 +140,7 @@ A pilot allows you to test with a small group before deploying a capability for
140140

141141
In your first wave, target IT, usability, and other appropriate users who can test and provide feedback. Use this feedback to further develop the communications and instructions you send to your users, and to give insights into the types of issues your support staff may see.
142142

143-
Widen the rollout to larger groups of users by increasing the scope of the group(s) targeted. This can be done through [dynamic group membership](../enterprise-users/groups-dynamic-membership.md), or by manually adding users to the targeted group(s).
143+
Widen the rollout to larger groups of users by increasing the scope of the group(s) targeted. Increasing the scope of the group(s) is done through [dynamic group membership](../enterprise-users/groups-dynamic-membership.md), or by manually adding users to the targeted group(s).
144144

145145
## Plan application connections and administration
146146

@@ -150,7 +150,7 @@ Use the Azure portal to view and manage all the applications that support provis
150150

151151
The actual steps required to enable and configure automatic provisioning vary depending on the application. If the application you wish to automatically provision is listed in the [Azure AD SaaS app gallery](../saas-apps/tutorial-list.md), then you should select the [app-specific integration tutorial](../saas-apps/tutorial-list.md) to configure its pre-integrated user provisioning connector.
152152

153-
If not, follow the steps below:
153+
If not, follow the steps:
154154

155155
1. [Create a request](../manage-apps/v2-howto-app-gallery-listing.md) for a pre-integrated user provisioning connector. Our team will work with you and the application developer to onboard your application to our platform if it supports SCIM.
156156

@@ -164,7 +164,7 @@ For more information, see [What applications and systems can I use with Azure AD
164164

165165
Setting up automatic user provisioning is a per-application process. For each application, you need to provide [administrator credentials](../app-provisioning/configure-automatic-user-provisioning-portal.md) to connect to the target system’s user management endpoint.
166166

167-
The image below shows one version of the required admin credentials:
167+
The image shows one version of the required admin credentials:
168168

169169
![Provisioning screen to manage user account provisioning settings](./media/plan-auto-user-provisioning/userprovisioning-admincredentials.png)
170170

@@ -235,7 +235,7 @@ It's common for a security review to be required as part of a deployment. If you
235235

236236
### Plan rollback
237237

238-
If the automatic user provisioning implementation fails to work as desired in the production environment, the following rollback steps below can assist you in reverting to a previous known good state:
238+
If the automatic user provisioning implementation fails to work as desired in the production environment, the following rollback steps can assist you in reverting to a previous known good state:
239239

240240
1. Review the [provisioning logs](../app-provisioning/check-status-user-account-provisioning.md) to determine what incorrect operations occurred on the affected users and/or groups.
241241

articles/active-directory/authentication/how-to-migrate-mfa-server-to-azure-mfa.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,10 @@ As part of enrolling users to use Microsoft Authenticator as a second factor, we
107107
Microsoft Identity Manager (MIM) SSPR can use MFA Server to invoke SMS one-time passcodes as part of the password reset flow.
108108
MIM can't be configured to use Azure AD Multi-Factor Authentication.
109109
We recommend you evaluate moving your SSPR service to Azure AD SSPR.
110-
111110
You can use the opportunity of users registering for Azure AD Multi-Factor Authentication to use the combined registration experience to register for Azure AD SSPR.
112111

112+
If you can't move your SSPR service, or you leverage MFA Server to invoke MFA requests for Privileged Access Management (PAM) scenarios, we recommend you update to an [alternate 3rd party MFA option](https://learn.microsoft.com/microsoft-identity-manager/working-with-custommfaserver-for-mim).
113+
113114
### RADIUS clients and Azure AD Multi-Factor Authentication
114115

115116
MFA Server supports RADIUS to invoke multifactor authentication for applications and network devices that support the protocol.

articles/active-directory/roles/delegate-by-task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ You can further restrict permissions by assigning roles at smaller scopes or by
387387
> | Create user | [User Administrator](permissions-reference.md#user-administrator) | |
388388
> | Delete users | [User Administrator](permissions-reference.md#user-administrator) | |
389389
> | Invalidate refresh tokens of limited admins | [User Administrator](permissions-reference.md#user-administrator) | |
390-
> | Invalidate refresh tokens of non-admins | [Password Administrator](permissions-reference.md#password-administrator) | [User Administrator](permissions-reference.md#user-administrator) |
390+
> | Invalidate refresh tokens of non-admins | [Helpdesk Administrator](permissions-reference.md#helpdesk-administrator) | [User Administrator](permissions-reference.md#user-administrator) |
391391
> | Invalidate refresh tokens of privileged admins | [Privileged Authentication Administrator](permissions-reference.md#privileged-authentication-administrator) | |
392392
> | Read basic configuration | [Default user role](../fundamentals/users-default-permissions.md) | |
393393
> | Reset password for limited admins | [User Administrator](permissions-reference.md#user-administrator) | |

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,8 @@
544544
href: dapr-settings.md
545545
- name: Migrate from Dapr OSS to the Dapr extension
546546
href: dapr-migration.md
547+
- name: Deploy and run workflows with the Dapr extension
548+
href: dapr-workflow.md
547549
- name: Troubleshoot the Dapr extension
548550
href: dapr-troubleshooting.md
549551
- name: Use GitOps

articles/aks/dapr-workflow.md

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
title: Deploy and run workflows with the Dapr extension for Azure Kubernetes Service (AKS)
3+
description: Learn how to deploy and run Dapr Workflow on your Azure Kubernetes Service (AKS) clusters via the Dapr extension.
4+
author: hhunter-ms
5+
ms.author: hannahhunter
6+
ms.reviewer: nuversky
7+
ms.service: azure-kubernetes-service
8+
ms.topic: article
9+
ms.date: 04/05/2023
10+
ms.custom: devx-track-azurecli
11+
---
12+
13+
# Deploy and run workflows with the Dapr extension for Azure Kubernetes Service (AKS)
14+
15+
With Dapr Workflow, you can easily orchestrate messaging, state management, and failure-handling logic across various microservices. Dapr Workflow can help you create long-running, fault-tolerant, and stateful applications.
16+
17+
In this guide, you use the [provided order processing workflow example][dapr-workflow-sample] to:
18+
19+
> [!div class="checklist"]
20+
> - Create an Azure Container Registry and an AKS cluster for this sample.
21+
> - Install the Dapr extension on your AKS cluster.
22+
> - Deploy the sample application to AKS.
23+
> - Start and query workflow instances using HTTP API calls.
24+
25+
The workflow example is an ASP.NET Core project with:
26+
- A [`Program.cs` file][dapr-program] that contains the setup of the app, including the registration of the workflow and workflow activities.
27+
- Workflow definitions found in the [`Workflows` directory][dapr-workflow-dir].
28+
- Workflow activity definitions found in the [`Activities` directory][dapr-activities-dir].
29+
30+
> [!NOTE]
31+
> Dapr Workflow is currently an [alpha][dapr-workflow-alpha] feature and is on a self-service, opt-in basis. Alpha Dapr APIs and components are provided "as is" and "as available," and are continually evolving as they move toward stable status. Alpha APIs and components are not covered by customer support.
32+
33+
## Prerequisites
34+
35+
- An [Azure subscription](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) with Owner or Admin role.
36+
- The latest version of the [Azure CLI][install-cli]
37+
- Latest [Docker][docker]
38+
- Latest [Helm][helm]
39+
40+
## Set up the environment
41+
42+
### Clone the sample project
43+
44+
Clone the example workflow application.
45+
46+
```sh
47+
git clone https://github.com/Azure/dapr-workflows-aks-sample.git
48+
```
49+
50+
Navigate to the sample's root directory.
51+
52+
```sh
53+
cd dapr-workflows-aks-sample
54+
```
55+
56+
### Create a Kubernetes cluster
57+
58+
Create a resource group to hold the AKS cluster.
59+
60+
```sh
61+
az group create --name myResourceGroup --location eastus
62+
```
63+
64+
Create an AKS cluster.
65+
66+
```sh
67+
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --generate-ssh-keys
68+
```
69+
70+
[Make sure `kubectl` is installed and pointed to your AKS cluster.][kubectl] If you use [the Azure Cloud Shell][az-cloud-shell], `kubectl` is already installed.
71+
72+
For more information, see the [Deploy an AKS cluster][cluster] tutorial.
73+
74+
## Deploy the application to AKS
75+
76+
### Install Dapr on your AKS cluster
77+
78+
Install the Dapr extension on your AKS cluster. Before you start, make sure you've:
79+
- [Installed or updated the `k8s-extension`][k8s-ext].
80+
- [Registered the `Microsoft.KubernetesConfiguration` service provider][k8s-sp]
81+
82+
```sh
83+
az k8s-extension create --cluster-type managedClusters --cluster-name myAKSCluster --resource-group myResourceGroup --name dapr --extension-type Microsoft.Dapr
84+
```
85+
86+
Verify Dapr has been installed by running the following command:
87+
88+
```sh
89+
kubectl get pods -A
90+
```
91+
92+
### Deploy the Redis Actor state store component
93+
94+
Navigate to the `Deploy` directory in your forked version of the sample:
95+
96+
```sh
97+
cd Deploy
98+
```
99+
100+
Deploy the Redis component:
101+
102+
```sh
103+
helm repo add bitnami https://charts.bitnami.com/bitnami
104+
helm install redis bitnami/redis
105+
kubectl apply -f redis.yaml
106+
```
107+
108+
### Run the application
109+
110+
Once you've deployed Redis, deploy the application to AKS:
111+
112+
```sh
113+
kubectl apply -f deployment.yaml
114+
```
115+
116+
Expose the Dapr sidecar and the sample app:
117+
118+
```sh
119+
kubectl apply -f service.yaml
120+
export APP_URL=$(kubectl get svc/workflows-sample -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
121+
export DAPR_URL=$(kubectl get svc/workflows-sample-dapr -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
122+
```
123+
124+
Verify that the above commands were exported:
125+
126+
```sh
127+
echo $APP_URL
128+
echo $DAPR_URL
129+
```
130+
131+
## Start the workflow
132+
133+
Now that the application and Dapr have been deployed to the AKS cluster, you can now start and query workflow instances. Begin by making an API call to the sample app to restock items in the inventory:
134+
135+
```sh
136+
curl -X GET $APP_URL/stock/restock
137+
```
138+
139+
Start the workflow:
140+
141+
```sh
142+
curl -X POST $DAPR_URL/v1.0-alpha1/workflows/dapr/OrderProcessingWorkflow/1234/start \
143+
-H "Content-Type: application/json" \
144+
-d '{ "input" : {"Name": "Paperclips", "TotalCost": 99.95, "Quantity": 1}}'
145+
```
146+
147+
Expected output:
148+
149+
```json
150+
{"instance_id":"1234"}
151+
```
152+
153+
Check the workflow status:
154+
155+
```sh
156+
curl -X GET $DAPR_URL/v1.0-alpha1/workflows/dapr/OrderProcessingWorkflow/1234
157+
```
158+
159+
Expected output:
160+
161+
```json
162+
{
163+
"WFInfo":
164+
{
165+
"instance_id":"1234"
166+
},
167+
"start_time":"2023-03-03T19:19:16Z",
168+
"metadata":
169+
{
170+
"dapr.workflow.custom_status":"",
171+
"dapr.workflow.input":"{\"Name\":\"Paperclips\",\"Quantity\":1,\"TotalCost\":99.95}",
172+
"dapr.workflow.last_updated":"2023-03-03T19:19:33Z",
173+
"dapr.workflow.name":"OrderProcessingWorkflow",
174+
"dapr.workflow.output":"{\"Processed\":true}",
175+
"dapr.workflow.runtime_status":"COMPLETED"
176+
}
177+
}
178+
```
179+
180+
Notice that the workflow status is marked as completed.
181+
182+
## Next steps
183+
184+
[Learn how to add configuration settings to the Dapr extension on your AKS cluster][dapr-config].
185+
186+
<!-- Links Internal -->
187+
[deploy-cluster]: ./tutorial-kubernetes-deploy-cluster.md
188+
[install-cli]: /cli/azure/install-azure-cli
189+
[k8s-ext]: ./dapr.md#set-up-the-azure-cli-extension-for-cluster-extensions
190+
[cluster]: ./tutorial-kubernetes-deploy-cluster.md
191+
[k8s-sp]: ./dapr.md#register-the-kubernetesconfiguration-service-provider
192+
[dapr-config]: ./dapr-settings.md
193+
[az-cloud-shell]: ./learn/quick-kubernetes-deploy-powershell.md#azure-cloud-shell
194+
[kubectl]: ./tutorial-kubernetes-deploy-cluster.md#connect-to-cluster-using-kubectl
195+
196+
<!-- Links External -->
197+
[dapr-workflow-sample]: https://github.com/Azure/dapr-workflows-aks-sample
198+
[dapr-program]: https://github.com/Azure/dapr-workflows-aks-sample/blob/main/Program.cs
199+
[dapr-workflow-dir]: https://github.com/Azure/dapr-workflows-aks-sample/tree/main/Workflows
200+
[dapr-activities-dir]: https://github.com/Azure/dapr-workflows-aks-sample/tree/main/Activities
201+
[dapr-workflow-alpha]: https://docs.dapr.io/operations/support/support-preview-features/#current-preview-features
202+
[deployment-yaml]: https://github.com/Azure/dapr-workflows-aks-sample/blob/main/Deploy/deployment.yaml
203+
[docker]: https://docs.docker.com/get-docker/
204+
[helm]: https://helm.sh/docs/intro/install/

0 commit comments

Comments
 (0)