Skip to content

Commit 82147ad

Browse files
committed
Merge branch 'master' of https://github.com/Microsoft/azure-docs-pr into sec-hub-page
2 parents 9dd604d + a6ea37d commit 82147ad

28 files changed

+99
-49
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: Configure your environment for a Blueprint Operator
3+
description: Learn how to configure your Azure environment for use with the Blueprint Operator built-in role-based access control (RBAC) role.
4+
author: DCtheGeek
5+
ms.author: dacoulte
6+
ms.date: 08/26/2019
7+
ms.topic: conceptual
8+
ms.service: blueprints
9+
manager: carmonm
10+
---
11+
# Configure your environment for a Blueprint Operator
12+
13+
The management of your blueprint definitions and blueprint assignments can be assigned to different
14+
teams. It's common for an architect or governance team to be responsible for the lifecycle
15+
management of your blueprint definitions while an operations team is responsible for managing
16+
assignments of those centrally controlled blueprint definitions.
17+
18+
The **Blueprint Operator** built-in role-based access control (RBAC) is designed specifically for
19+
use in this type of scenario. The role allows for operations type teams to manage the assignment of
20+
the organizations blueprint definitions, but not the ability to modify them. Doing so requires some
21+
configuration in your Azure environment and this article explains the necessary steps.
22+
23+
## Grant permission to the Blueprint Operator
24+
25+
The first step is to grant the **Blueprint Operator** role to the account or security group
26+
(recommended) that is going to be assigning blueprints. This action should be done at the highest
27+
level in the management group hierarchy that encompasses all of the management groups and
28+
subscriptions the operations team should have blueprint assignment access to. It's recommended to
29+
follow the principle of least privilege when granting these permissions.
30+
31+
1. (Recommended) [Create a security group and add members](../../../active-directory/fundamentals/active-directory-groups-create-azure-portal.md)
32+
33+
1. [Add a role assignment](../../../role-based-access-control/role-assignments-portal.md#add-a-role-assignment)
34+
of **Blueprint Operator** to the account or security group
35+
36+
## User-assign managed identity
37+
38+
A blueprint definition can use either system-assigned or user-assigned managed identities. However,
39+
when using the **Blueprint Operator** role, the blueprint definition needs to be configured to use a
40+
user-assigned managed identity. Additionally, the account or security group being granted the
41+
**Blueprint Operator** role needs to be granted the **Managed Identity Operator** role on the
42+
user-assigned managed identity. Without this permission, blueprint assignments fail because of lack
43+
of permissions.
44+
45+
1. [Create a user-assigned managed identity](../../../active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-portal.md#create-a-user-assigned-managed-identity)
46+
for use by an assigned blueprint
47+
48+
1. [Add a role assignment](../../../role-based-access-control/role-assignments-portal.md#add-a-role-assignment)
49+
of **Managed Identity Operator** to the account or security group. Scope the role assignment to
50+
the new user-assigned managed identity.
51+
52+
1. As the **Blueprint Operator**, [assign a blueprint](../create-blueprint-portal.md#assign-a-blueprint)
53+
that uses the new user-assigned managed identity.
54+
55+
## Next steps
56+
57+
- Learn about the [blueprint life-cycle](../concepts/lifecycle.md).
58+
- Understand how to use [static and dynamic parameters](../concepts/parameters.md).
59+
- Learn to customize the [blueprint sequencing order](../concepts/sequencing-order.md).
60+
- Find out how to make use of [blueprint resource locking](../concepts/resource-locking.md).
61+
- Resolve issues during the assignment of a blueprint with [general troubleshooting](../troubleshoot/general.md).

articles/governance/blueprints/overview.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Overview of Azure Blueprints
33
description: Understand how the Azure Blueprints service enables you to create, define, and deploy artifacts in your Azure environment.
44
author: DCtheGeek
55
ms.author: dacoulte
6-
ms.date: 02/08/2019
6+
ms.date: 08/26/2019
77
ms.topic: overview
88
ms.service: blueprints
99
manager: carmonm
@@ -151,9 +151,16 @@ To assign or unassign a blueprint, your account needs the following permissions:
151151
> As blueprint assignments are created on a subscription, the blueprint assign and unassign
152152
> permissions must be granted on a subscription scope or be inherited onto a subscription scope.
153153
154-
All of the above permissions are included in the **Owner** role. The **Contributor** role has
155-
create blueprint and delete blueprint permissions, but does not have blueprint assignment
156-
permissions. If these built-in roles don't fit your security needs, consider creating a [custom
154+
The following built-in roles are available:
155+
156+
|RBAC Role | Description |
157+
|-|-|
158+
|[Owner](../../role-based-access-control/built-in-roles.md#owner) | In addition to other permissions, includes all Azure Blueprint related permissions. |
159+
|[Contributor](../../role-based-access-control/built-in-roles.md#contributor) | In addition to other permissions, can create and delete blueprint definitions, but doesn't have blueprint assignment permissions. |
160+
|Blueprint Contributor | Can manage blueprint definitions, but not assign them. |
161+
|Blueprint Operator | Can assign existing published blueprints, but can't create new blueprint definitions. Blueprint assignment only works if the assignment is done with a user-assigned managed identity. |
162+
163+
If these built-in roles don't fit your security needs, consider creating a [custom
157164
role](../../role-based-access-control/custom-roles.md).
158165

159166
> [!NOTE]
@@ -166,7 +173,7 @@ role](../../role-based-access-control/custom-roles.md).
166173
167174
## Naming limits
168175

169-
The following is a list of limitations that exist for certain fields:
176+
The following limitations exist for certain fields:
170177

171178
|Object|Field|Allowed Characters|Max. Length|
172179
|-|-|-|-|
@@ -185,4 +192,4 @@ visit [Azure Fridays - An overview of Azure Blueprints](https://channel9.msdn.co
185192
## Next steps
186193

187194
- [Create a blueprint - Portal](create-blueprint-portal.md)
188-
- [Create a blueprint - REST API](create-blueprint-rest-api.md)
195+
- [Create a blueprint - REST API](create-blueprint-rest-api.md)

articles/governance/blueprints/toc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@
156156
- name: Update existing assignments from the portal
157157
displayName: lock, errors
158158
href: ./how-to/update-existing-assignments.md
159+
- name: Configure your environment for a Blueprint Operator
160+
displayName: rbac, user-assigned, managed, identity, management group
161+
href: ./how-to/configure-for-blueprint-operator.md
159162
- name: Manage Blueprints as Code (community)
160163
href: https://github.com/Azure/azure-blueprints/blob/master/README.md
161164
- name: Troubleshoot

articles/iot-hub/iot-hub-c-c-module-twin-getstarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ At the end of this tutorial, you have two C apps:
2626
> [!NOTE]
2727
> For information about the Azure IoT SDKs that you can use to build both applications to run on devices, and your solution backend, see [Azure IoT SDKs](iot-hub-devguide-sdks.md).
2828
29-
To complete this tutorial, you need the following:
29+
## Prerequisites
3030

3131
* An active Azure account. (If you don't have an account, you can create an [Azure free account](https://azure.microsoft.com/pricing/free-trial/) in just a couple of minutes.)
3232

articles/iot-hub/iot-hub-csharp-csharp-c2d.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ ms.author: robinsh
1515

1616
[!INCLUDE [iot-hub-selector-c2d](../../includes/iot-hub-selector-c2d.md)]
1717

18-
## Introduction
19-
2018
Azure IoT Hub is a fully managed service that helps enable reliable and secure bi-directional communications between millions of devices and a solution back end. The [Send telemetry from a device to an IoT hub](quickstart-send-telemetry-dotnet.md) quickstart shows how to create an IoT hub, provision a device identity in it, and code a device app that sends device-to-cloud messages.
2119

2220
[!INCLUDE [iot-hub-basic](../../includes/iot-hub-basic-whole.md)]
@@ -41,7 +39,7 @@ At the end of this tutorial, you run two .NET console apps.
4139
> IoT Hub has SDK support for many device platforms and languages, including C, Java, Python, and Javascript, through [Azure IoT device SDKs](iot-hub-devguide-sdks.md). For step-by-step instructions on how to connect your device to this tutorial's code, and generally to Azure IoT Hub, see the [IoT Hub developer guide](iot-hub-devguide.md).
4240
>
4341
44-
To complete this tutorial, you need the following prerequisites:
42+
## Prerequisites
4543

4644
* Visual Studio
4745

articles/iot-hub/iot-hub-csharp-csharp-device-management-get-started.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ At the end of this tutorial, you have two .NET console apps:
3131

3232
## Prerequisites
3333

34-
To complete this tutorial, you need:
35-
3634
* Visual Studio.
3735

3836
* An active Azure account. If you don't have an account, you can create a [free account](https://azure.microsoft.com/pricing/free-trial/) in just a couple of minutes.

articles/iot-hub/iot-hub-csharp-csharp-file-upload.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ At the end of this tutorial you run two .NET console apps:
4242
> [!NOTE]
4343
> IoT Hub supports many device platforms and languages, including C, Java, Python, and Javascript, through Azure IoT device SDKs. Refer to the [Azure IoT Developer Center](https://azure.microsoft.com/develop/iot) for step-by-step instructions on how to connect your device to Azure IoT Hub.
4444
45-
To complete this tutorial, you need the following prerequisites:
45+
## Prerequisites
4646

4747
* Visual Studio
4848

articles/iot-hub/iot-hub-csharp-csharp-module-twin-getstarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ At the end of this tutorial, you have two .NET console apps:
2626
> [!NOTE]
2727
> For information about the Azure IoT SDKs that you can use to build both applications to run on devices, and your solution back end, see [Azure IoT SDKs](iot-hub-devguide-sdks.md).
2828
29-
To complete this tutorial, you need the following prerequisites:
29+
## Prerequisites
3030

3131
* Visual Studio.
3232

articles/iot-hub/iot-hub-csharp-csharp-schedule-jobs.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ At the end of this tutorial, you have two .NET (C#) console apps:
4646

4747
## Prerequisites
4848

49-
To complete this tutorial, you need:
50-
5149
* Visual Studio.
5250

5351
* An active Azure account. If you don't have an account, you can create a [free account](https://azure.microsoft.com/pricing/free-trial/) in just a couple of minutes.

articles/iot-hub/iot-hub-csharp-csharp-twin-getstarted.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ In this tutorial, you create these .NET console apps:
2929
3030
## Prerequisites
3131

32-
To complete this tutorial, you need:
33-
3432
* Visual Studio.
3533

3634
* An active Azure account. If you don't have an account, you can create a [free account](https://azure.microsoft.com/pricing/free-trial/) in just a couple of minutes.

0 commit comments

Comments
 (0)