|
1 | 1 | ---
|
2 |
| -title: Service Fabric Managed Identity overview |
3 |
| -description: This article is an overview of Managed Identity and its applications to Azure Service Fabric. |
4 |
| - |
| 2 | +title: Managed identities for Azure |
| 3 | +description: Learn about using Managed identities for Azure with Service Fabric. |
5 | 4 | ms.topic: conceptual
|
6 | 5 | ms.date: 12/09/2019
|
| 6 | +ms.custom: sfrev |
7 | 7 | ---
|
8 | 8 |
|
9 |
| -# Managed Identity for Service Fabric Application (Preview) |
| 9 | +# Using Managed identities for Azure with Service Fabric (Preview) |
10 | 10 |
|
11 |
| -A common challenge when building cloud applications is how to manage the credentials in your code for authenticating to cloud services. Keeping credentials secure is an important task, since they never appear on developer workstations and are not checked into source control. The Managed Identity feature for Azure resources in Azure Active Directory (Azure AD) solves this problem. The feature provides Azure services with an automatically managed identity in Azure AD. You can use the identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without any credentials in your code. |
| 11 | +A common challenge when building cloud applications is how to securely manage the credentials in your code for authenticating to various services without saving them locally on a developer workstation or in source control. *Managed identities for Azure* solve this problem for all your resources in Azure Active Directory (Azure AD) by providing them with automatically managed identities within Azure AD. You can use a service's identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without any credentials stored in your code. |
12 | 12 |
|
13 |
| -The Managed Identity feature for Azure resources is free with Azure AD for Azure subscriptions. There is no additional cost. |
| 13 | +*Managed identities for Azure resources* are free with Azure AD for Azure subscriptions. There's no additional cost. |
14 | 14 |
|
15 | 15 | > [!NOTE]
|
16 |
| -> Managed Identity for Azure resources is the new name for the service formerly known as Managed Service Identity (MSI). |
| 16 | +> *Managed identities for Azure* is the new name for the service formerly known as Managed Service Identity (MSI). |
17 | 17 |
|
18 |
| -## Terminology |
| 18 | +## Concepts |
19 | 19 |
|
20 |
| -The following terms are used throughout the Managed Identity for Azure resources documentation set: |
| 20 | +Managed identities for Azure is based upon several key concepts: |
21 | 21 |
|
22 | 22 | - **Client ID** - a unique identifier generated by Azure AD that is tied to an application and service principal during its initial provisioning (also see [application ID](/azure/active-directory/develop/developer-glossary#application-id-client-id).)
|
23 | 23 |
|
24 | 24 | - **Principal ID** - the object ID of the service principal object for your Managed Identity that is used to grant role-based access to an Azure resource.
|
25 | 25 |
|
26 | 26 | - **Service Principal** - an Azure Active Directory object, which represents the projection of an AAD application in a given tenant (also see [service principal](../active-directory/develop/developer-glossary.md#service-principal-object).)
|
27 | 27 |
|
| 28 | +The are two types of managed identities: |
28 | 29 |
|
29 |
| -## About Managed Identities in Azure |
30 |
| - |
31 |
| -- [Types of Managed Identity(MI) in Azure](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview#how-does-the-managed-identities-for-azure-resources-work) |
32 |
| - |
33 |
| -- [How does System-Assigned Managed Identity work in Azure](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview#how-a-system-assigned-managed-identity-works-with-an-azure-vm) |
34 |
| - |
35 |
| -- [How does User-Defined Managed Identity(MI) work in Azure](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview#how-a-user-assigned-managed-identity-works-with-an-azure-vm) |
| 30 | +- A **System-assigned managed identity** is enabled directly on an Azure service instance. The lifecycle of a system-assigned identity is unique to the Azure service instance that it's enabled on. |
| 31 | +- A **user-assigned managed identity** is created as a standalone Azure resource. The identity can be assigned to one or more Azure service instances and is managed separately from the lifecycles of those instances. |
36 | 32 |
|
| 33 | +To further understand the difference between managed identity types, see [How do managed identities for Azure resources work?](../active-directory/managed-identities-azure-resources/overview.md#how-does-the-managed-identities-for-azure-resources-work) |
37 | 34 |
|
38 | 35 | ## Supported scenarios for Service Fabric applications
|
39 | 36 |
|
40 |
| -Managed identities for Service Fabric is only supported in Azure deployed Service Fabric clusters, and only for applications deployed as Azure resources; an application which is not deployed as an Azure resource cannot be assigned an identity. Conceptually speaking, support for managed identities in Azure Service Fabric cluster consists of two phases: |
| 37 | +Managed identities for Service Fabric are only supported in Azure-deployed Service Fabric clusters, and only for applications deployed as Azure resources; an application that is not deployed as an Azure resource cannot be assigned an identity. Conceptually speaking, support for managed identities in Azure Service Fabric cluster consists of two phases: |
41 | 38 |
|
42 | 39 | 1. Assign one or more managed identities to the application resource; an application may be assigned a single system-assigned identity, and/or up to 32 user-assigned identities, respectively.
|
43 | 40 |
|
44 | 41 | 2. Within the application's definition, map one of the identities assigned to the application to any individual service comprising the application.
|
45 | 42 |
|
46 |
| -The system-assigned identity of an application is unique to that application; a user-assigned identity is a standalone resource, which may be assigned to multiple applications. Within an application, a single identity (whether system-assigned or user-assigned) can be assigned to multiple services of the application, but each individual service can only be assigned one identity. Lastly, a service must be assigned an identity explicitly to have access to this feature. In effect, the mapping of an application's identities to its constituent services allows for an in-application isolation - a service may only use the identity mapped to it (and none at all if it was not explicitly assigned one.) |
47 |
| - |
48 |
| -The list of supported scenarios for the preview release is as follows: |
| 43 | +The system-assigned identity of an application is unique to that application; a user-assigned identity is a standalone resource, which may be assigned to multiple applications. Within an application, a single identity (whether system-assigned or user-assigned) can be assigned to multiple services of the application, but each individual service can only be assigned one identity. Lastly, a service must be assigned an identity explicitly to have access to this feature. In effect, the mapping of an application's identities to its constituent services allows for in-application isolation — a service may only use the identity mapped to it. |
49 | 44 |
|
50 |
| - - Deploy a new application with one or more services, and one or more assigned identities |
| 45 | +Currently, the following scenarios are supported for this preview feature: |
51 | 46 |
|
52 |
| - - Assign one or more managed identities to an existing application in order to access Azure resources; the application must have been deployed as an Azure resource itself |
| 47 | +- Deploy a new application with one or more services and one or more assigned identities |
53 | 48 |
|
| 49 | +- Assign one or more managed identities to an existing (Azure-deployed) application in order to access Azure resources |
54 | 50 |
|
55 | 51 | The following scenarios are not supported or not recommended; note these actions may not be blocked, but can lead to outages in your applications:
|
56 | 52 |
|
57 |
| - - Remove or change the identities assigned to an application; if you must make changes, submit separate deployments to first add a new identity assignment, and then to remove a previously assigned one. Removal of an identity from an existing application can have undesirable effects, including leaving your application in a state that is not upgradeable. It is safe to delete the application altogether if the removal of an identity is necessary; note this will delete the system-assigned identity (if so defined) associated with the application, and will remove any associations with the user-assigned identities assigned to the application. |
| 53 | +- Remove or change the identities assigned to an application; if you must make changes, submit separate deployments to first add a new identity assignment, and then to remove a previously assigned one. Removal of an identity from an existing application can have undesirable effects, including leaving your application in a state that is not upgradeable. It is safe to delete the application altogether if the removal of an identity is necessary; note this will delete the system-assigned identity (if so defined) associated with the application, and will remove any associations with the user-assigned identities assigned to the application. |
58 | 54 |
|
59 |
| - - SF support for managed identities is not integrated at this time into the [AzureServiceTokenProvider](../key-vault/service-to-service-authentication.md); the integration will be achieved by the end of the preview period for the managed identity feature. |
| 55 | +- Service Fabric support for managed identities is not integrated at this time into the [AzureServiceTokenProvider](../key-vault/service-to-service-authentication.md); the integration will be achieved by the end of the preview period for the managed identity feature. |
60 | 56 |
|
61 | 57 | >
|
62 | 58 | > [!NOTE]
|
63 | 59 | >
|
64 |
| -> This feature is in preview; as such, it may be subject to frequent changes, and may not be suitable for production deployments. |
| 60 | +> This feature is in preview. It may be subject to frequent changes and not suitable for production deployments. |
65 | 61 |
|
66 | 62 | ## Next steps
|
67 |
| -* [Deploy a new Azure Service Fabric cluster with managed identity support](./configure-new-azure-service-fabric-enable-managed-identity.md) |
68 |
| -* [Enable managed identity support in an existing Azure Service Fabric cluster](./configure-existing-cluster-enable-managed-identity-token-service.md) |
69 |
| -* [Deploy an Azure Service Fabric application with a system-assigned managed identity](./how-to-deploy-service-fabric-application-system-assigned-managed-identity.md) |
70 |
| -* [Deploy an Azure Service Fabric application with a user-assigned managed identity](./how-to-deploy-service-fabric-application-user-assigned-managed-identity.md) |
71 |
| -* [Leverage the managed identity of a Service Fabric application from service code](./how-to-managed-identity-service-fabric-app-code.md) |
72 |
| -* [Grant an Azure Service Fabric application access to other Azure resources](./how-to-grant-access-other-resources.md) |
73 |
| -* [Declaring and using application secrets as KeyVaultReferences](./service-fabric-keyvault-references.md) |
| 63 | + |
| 64 | +- [Deploy a new Azure Service Fabric cluster with managed identity support](./configure-new-azure-service-fabric-enable-managed-identity.md) |
| 65 | +- [Enable managed identity support in an existing Azure Service Fabric cluster](./configure-existing-cluster-enable-managed-identity-token-service.md) |
| 66 | +- [Deploy an Azure Service Fabric application with a system-assigned managed identity](./how-to-deploy-service-fabric-application-system-assigned-managed-identity.md) |
| 67 | +- [Deploy an Azure Service Fabric application with a user-assigned managed identity](./how-to-deploy-service-fabric-application-user-assigned-managed-identity.md) |
| 68 | +- [Leverage the managed identity of a Service Fabric application from service code](./how-to-managed-identity-service-fabric-app-code.md) |
| 69 | +- [Grant an Azure Service Fabric application access to other Azure resources](./how-to-grant-access-other-resources.md) |
| 70 | +- [Declaring and using application secrets as KeyVaultReferences](./service-fabric-keyvault-references.md) |
0 commit comments