Información general del Administrador de recursos de AzureAzure Resource Manager overview

La infraestructura de la aplicación está constituida normalmente por varios componentes: quizás una máquina virtual, una cuenta de almacenamiento y una red virtual, o una aplicación web, una base de datos, un servidor de bases de datos y servicios de terceros.The infrastructure for your application is typically made up of many components – maybe a virtual machine, storage account, and virtual network, or a web app, database, database server, and third-party services. Estos componentes no se ven como entidades independientes, sino como partes de una sola entidad relacionadas e interdependientes.You don't see these components as separate entities, instead you see them as related and interdependent parts of a single entity. Desea implementarlos, administrarlos y supervisarlos como grupo.You want to deploy, manage, and monitor them as a group. Azure Resource Manager permite trabajar con los recursos de la solución como un grupo.Azure Resource Manager enables you to work with the resources in your solution as a group. Todos los recursos de la solución se pueden implementar, actualizar o eliminar en una sola operación coordinada.You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. Para realizar la implementación se usa una plantilla, que puede funcionar en distintos entornos, como producción, pruebas y ensayo.You use a template for deployment and that template can work for different environments such as testing, staging, and production. Administrador de recursos proporciona funciones de seguridad, auditoría y etiquetado que le ayudan a administrar los recursos después de la implementación.Resource Manager provides security, auditing, and tagging features to help you manage your resources after deployment.

Capa de administración coherenteConsistent management layer

Resource Manager proporciona una capa de administración coherente para realizar tareas mediante Azure PowerShell, la CLI de Azure, Azure Portal, las API de REST y los SDK de cliente.Resource Manager provides a consistent management layer to perform tasks through Azure PowerShell, Azure CLI, Azure portal, REST API, and client SDKs. Todas las funcionalidades que están disponibles en Azure Portal también lo están con Azure PowerShell, la CLI de Azure, las API de REST de Azure y los SDK de cliente.All capabilities that are available in the Azure portal are also available through Azure PowerShell, Azure CLI, the Azure REST APIs, and client SDKs. Las funcionalidades disponibles originalmente mediante las API se incluirán en el portal a los 180 días de su lanzamiento inicial.Functionality initially released through APIs will be represented in the portal within 180 days of initial release.

Seleccione las herramientas y API que más le convengan; tienen la misma funcionalidad y proporcionan resultados coherentes.Choose the tools and APIs that work best for you - they have the same capability and provide consistent results.

La siguiente imagen muestra cómo todas las herramientas interactúan con la misma API de Azure Resource Manager.The following image shows how all the tools interact with the same Azure Resource Manager API. La API pasa las solicitudes al servicio Resource Manager que las autentica y autoriza.The API passes requests to the Resource Manager service, which authenticates and authorizes the requests. A continuación, Resource Manager enruta las solicitudes a los proveedores de recursos adecuados.Resource Manager then routes the requests to the appropriate resource providers.

Modelo de solicitud de Resource Manager

TerminologíaTerminology

Si no conoce Azure Resource Manager, estos son algunos términos con los que puede no estar familiarizado.If you're new to Azure Resource Manager, there are some terms you might not be familiar with.

  • recurso : elemento administrable que está disponible a través de Azure.resource - A manageable item that is available through Azure. Algunos recursos comunes son una máquina virtual, una cuenta de almacenamiento, una aplicación web, una base de datos y una red virtual, pero hay muchos más.Some common resources are a virtual machine, storage account, web app, database, and virtual network, but there are many more.
  • grupo de recursos : contenedor que almacena los recursos relacionados con una solución de Azure.resource group - A container that holds related resources for an Azure solution. El grupo de recursos puede incluir todos los recursos de la solución o solo aquellos que se desean administrar como grupo.The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Para decidir cómo asignar los recursos a los grupos de recursos, tenga en cuenta lo que más conviene a su organización.You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization. Consulte Grupos de recursos.See Resource groups.
  • proveedor de recursos : servicio que proporciona los recursos que puede implementar y administrar mediante Resource Manager.resource provider - A service that supplies the resources you can deploy and manage through Resource Manager. Cada proveedor de recursos ofrece operaciones para trabajar con los recursos que se implementan.Each resource provider offers operations for working with the resources that are deployed. Algunos proveedores de recursos comunes son Microsoft.Compute, que suministra el recurso de máquinas virtuales, Microsoft.Storage, que suministra el recurso de cuentas de almacenamiento y Microsoft.Web, que suministra recursos relacionados con aplicaciones web.Some common resource providers are Microsoft.Compute, which supplies the virtual machine resource, Microsoft.Storage, which supplies the storage account resource, and Microsoft.Web, which supplies resources related to web apps. Consulte Proveedores de recursos.See Resource providers.
  • Plantilla de Resource Manager : archivo de notación de objetos JavaScript (JSON) que define uno o más recursos para implementar en un grupo de recursos.Resource Manager template - A JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. También define las dependencias entre los recursos implementados.It also defines the dependencies between the deployed resources. La plantilla se puede usar para implementar los recursos de manera repetida y uniforme.The template can be used to deploy the resources consistently and repeatedly. Consulte Implementación de plantilla.See Template deployment.
  • sintaxis declarativa : sintaxis que permite establecer lo que pretende crear sin tener que escribir la secuencia de comandos de programación para crearla.declarative syntax - Syntax that lets you state "Here is what I intend to create" without having to write the sequence of programming commands to create it. La plantilla de Resource Manager es un ejemplo de sintaxis declarativa.The Resource Manager template is an example of declarative syntax. En el archivo, puede definir las propiedades de la infraestructura que se va a implementar en Azure.In the file, you define the properties for the infrastructure to deploy to Azure.

Ventajas de usar Administrador de recursosThe benefits of using Resource Manager

Administrador de recursos ofrece varias ventajas:Resource Manager provides several benefits:

  • Puede implementar, administrar y supervisar todos los recursos de la solución en grupo, en lugar de controlarlos individualmente.You can deploy, manage, and monitor all the resources for your solution as a group, rather than handling these resources individually.
  • Puede implementar la solución repetidamente a lo largo del ciclo de vida del desarrollo y tener la seguridad de que los recursos se implementan de forma coherente.You can repeatedly deploy your solution throughout the development lifecycle and have confidence your resources are deployed in a consistent state.
  • Puede administrar la infraestructura mediante plantillas declarativas en lugar de scripts.You can manage your infrastructure through declarative templates rather than scripts.
  • Puede definir las dependencias entre recursos de modo que se implementen en el orden correcto.You can define the dependencies between resources so they're deployed in the correct order.
  • Puede aplicar control de acceso a todos los servicios del grupo de recursos al integrarse de forma nativa Control de acceso basado en rol (RBAC) en la plataforma de administración.You can apply access control to all services in your resource group because Role-Based Access Control (RBAC) is natively integrated into the management platform.
  • Puede aplicar etiquetas a los recursos para organizar de manera lógica todos los recursos de la suscripción.You can apply tags to resources to logically organize all the resources in your subscription.
  • Puede aclarar la facturación de su organización viendo los costos de un grupo de recursos que compartan la misma etiqueta.You can clarify your organization's billing by viewing costs for a group of resources sharing the same tag.

Resource Manager ofrece una nueva manera de implementar y administrar las soluciones.Resource Manager provides a new way to deploy and manage your solutions. Si usó el anterior modelo de implementación y desea obtener más información sobre los cambios, consulte Descripción de la implementación de Administrador de recursos y la implementación clásica.If you used the earlier deployment model and want to learn about the changes, see Understanding Resource Manager deployment and classic deployment.

GuíaGuidance

Las siguientes sugerencias le ayudarán a sacar el máximo partido de Resource Manager cuando trabaje con sus soluciones.The following suggestions help you take full advantage of Resource Manager when working with your solutions.

  1. Defina e implemente la infraestructura mediante la sintaxis declarativa en las plantillas de Administrador de recursos, en lugar de comandos imperativos.Define and deploy your infrastructure through the declarative syntax in Resource Manager templates, rather than through imperative commands.
  2. Defina todos los pasos de implementación y configuración de la plantilla.Define all deployment and configuration steps in the template. No debería tener ningún paso manual para configurar la solución.You should have no manual steps for setting up your solution.
  3. Ejecute comandos imperativos para administrar los recursos, como iniciar o detener una aplicación o un equipo.Run imperative commands to manage your resources, such as to start or stop an app or machine.
  4. Organice los recursos con el mismo ciclo de vida en un grupo de recursos.Arrange resources with the same lifecycle in a resource group. Use etiquetas para organizar los demás recursos.Use tags for all other organizing of resources.

Para obtener instrucciones sobre cómo las empresas pueden utilizar Resource Manager para administrar eficazmente las suscripciones, vea Scaffold empresarial de Azure: Gobierno de suscripción prescriptivo.For guidance on how enterprises can use Resource Manager to effectively manage subscriptions, see Azure enterprise scaffold - prescriptive subscription governance.

Para obtener recomendaciones sobre cómo crear plantillas de Resource Manager que puede usar en todo Azure, nubes soberanas de Azure y Azure Stack, consulte Desarrollo de plantillas de Azure Resource Manager para mantener la coherencia en la nube.For recommendations on creating Resource Manager templates that you can use across global Azure, Azure sovereign clouds, and Azure Stack, see Develop Azure Resource Manager templates for cloud consistency.

Grupos de recursosResource groups

Hay algunos factores importantes que se deben tener en cuenta al definir el grupo de recursos:There are some important factors to consider when defining your resource group:

  1. Todos los recursos del grupo deben compartir el mismo ciclo de vida.All the resources in your group should share the same lifecycle. Se implementan, actualizan y eliminan de forma conjunta.You deploy, update, and delete them together. Si un recurso, como un servidor de base de datos, debe existir en un ciclo de implementación diferente, debe estar en otro grupo de recursos.If one resource, such as a database server, needs to exist on a different deployment cycle it should be in another resource group.
  2. Cada recurso solo puede existir en un grupo de recursos.Each resource can only exist in one resource group.
  3. Puede agregar o quitar un recurso de un grupo de recursos en cualquier momento.You can add or remove a resource to a resource group at any time.
  4. Puede mover un recurso de un grupo de recursos a otro.You can move a resource from one resource group to another group. Para obtener más información, consulte Traslado de los recursos a un nuevo grupo de recursos o a una nueva suscripción.For more information, see Move resources to new resource group or subscription.
  5. Un grupo de recursos puede contener recursos que residen en diferentes regiones.A resource group can contain resources that reside in different regions.
  6. Un grupo de recursos puede utilizarse para definir el ámbito de control de acceso para las acciones administrativas.A resource group can be used to scope access control for administrative actions.
  7. Un recurso puede interactuar con los recursos de otros grupos.A resource can interact with resources in other resource groups. Esta interacción es común cuando ambos recursos están relacionados, pero no comparten el mismo ciclo de vida (por ejemplo, aplicaciones web que se conectan a una base de datos).This interaction is common when the two resources are related but don't share the same lifecycle (for example, web apps connecting to a database).

Al crear un grupo de recursos, es preciso proporcionar una ubicación para dicho grupo de recursos.When creating a resource group, you need to provide a location for that resource group. Pero puede preguntarse: "¿Por qué necesita un grupo de recursos una ubicación?You may be wondering, "Why does a resource group need a location? Y si los recursos pueden tener ubicaciones distintas de las del grupo de recursos, ¿por qué es importante la ubicación de este?"And, if the resources can have different locations than the resource group, why does the resource group location matter at all?" Los grupos de recursos almacenan metadatos acerca de los recursos.The resource group stores metadata about the resources. Por consiguiente, al especificar la ubicación del grupo de recursos, se especifica el lugar en que se almacenan dichos metadatos.Therefore, when you specify a location for the resource group, you're specifying where that metadata is stored. Por motivos de compatibilidad, es posible que sea preciso asegurarse de que los datos se almacenan en una región concreta.For compliance reasons, you may need to ensure that your data is stored in a particular region.

Proveedores de recursosResource providers

Cada proveedor de recursos ofrece un conjunto de recursos y operaciones para trabajar con un servicio de Azure.Each resource provider offers a set of resources and operations for working with an Azure service. Por ejemplo, si desea almacenar claves y secretos, trabajará con el proveedor de recursos Microsoft.KeyVault.For example, if you want to store keys and secrets, you work with the Microsoft.KeyVault resource provider. Este proveedor de recursos ofrece un tipo de recurso denominado almacenes para crear el almacén de claves.This resource provider offers a resource type called vaults for creating the key vault.

El nombre de un tipo de recurso tiene el formato: {proveedor de recursos}/{tipo de recurso}.The name of a resource type is in the format: {resource-provider}/{resource-type}. Por ejemplo, el tipo de almacén de claves es Microsoft.KeyVault/vaults.For example, the key vault type is Microsoft.KeyVault/vaults.

Antes de comenzar a implementar los recursos, debe conocer los proveedores de recursos disponibles.Before getting started with deploying your resources, you should gain an understanding of the available resource providers. Conocer los nombres de los recursos y sus proveedores ayuda a definir los recursos que desea implementar en Azure.Knowing the names of resource providers and resources helps you define resources you want to deploy to Azure. Además, es necesario que conozca las ubicaciones y las versiones de API válidas de cada tipo de recurso.Also, you need to know the valid locations and API versions for each resource type. Para más información, consulte Tipos y proveedores de recursos.For more information, see Resource providers and types.

Implementación de plantillaTemplate deployment

Con Resource Manager, puede crear una plantilla (en formato JSON) que defina la infraestructura y la configuración de su solución de Azure.With Resource Manager, you can create a template (in JSON format) that defines the infrastructure and configuration of your Azure solution. Mediante una plantilla, puede implementar la solución repetidamente a lo largo del ciclo de vida y tener la seguridad de que los recursos se implementan de forma coherente.By using a template, you can repeatedly deploy your solution throughout its lifecycle and have confidence your resources are deployed in a consistent state. Cuando crea una solución desde el Portal, la solución incluye automáticamente una plantilla de implementación.When you create a solution from the portal, the solution automatically includes a deployment template. No tiene que crear la plantilla desde cero; puede empezar con la plantilla para la solución y personalizarla para satisfacer sus necesidades específicas.You don't have to create your template from scratch because you can start with the template for your solution and customize it to meet your specific needs. Puede recuperar una plantilla de un grupo de recursos existente mediante la exportación del estado actual del grupo de recursos o la visualización de la plantilla de una implementación determinada.You can retrieve a template for an existing resource group by either exporting the current state of the resource group, or viewing the template used for a particular deployment. Una buena estrategia para aprender sobre la sintaxis de una plantilla es consultar la plantilla exportada.Viewing the exported template is a helpful way to learn about the template syntax.

Para más información sobre el formato de la plantilla y cómo se crea, consulte Creación de la primera plantilla de Azure Resource Manager.To learn about the format of the template and how you construct it, see Create your first Azure Resource Manager template. Para ver la sintaxis JSON para los tipos de recursos, consulte Define resources in Azure Resource Manager templates (Definición de recursos en plantillas de Azure Resource Manager).To view the JSON syntax for resources types, see Define resources in Azure Resource Manager templates.

Resource Manager procesa la plantilla como cualquier otra solicitud (consulte la imagen para Capa de administración coherente).Resource Manager processes the template like any other request (see the image for Consistent management layer). Analiza la plantilla y convierte su sintaxis en operaciones de API de REST para los proveedores de recursos adecuados.It parses the template and converts its syntax into REST API operations for the appropriate resource providers. Por ejemplo, cuando Resource Manager recibe una plantilla con la siguiente definición de recursos:For example, when Resource Manager receives a template with the following resource definition:

"resources": [
  {
    "apiVersion": "2016-01-01",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "mystorageaccount",
    "location": "westus",
    "sku": {
      "name": "Standard_LRS"
    },
    "kind": "Storage",
    "properties": {
    }
  }
]

Convierte la definición en la siguiente operación de API de REST, que se envía al proveedor de recursos Microsoft.Storage:It converts the definition to the following REST API operation, which is sent to the Microsoft.Storage resource provider:

PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/mystorageaccount?api-version=2016-01-01
REQUEST BODY
{
  "location": "westus",
  "properties": {
  }
  "sku": {
    "name": "Standard_LRS"
  },   
  "kind": "Storage"
}

La definición de plantillas y grupos de recursos depende únicamente de usted, al igual que la administración de la solución.How you define templates and resource groups is entirely up to you and how you want to manage your solution. Por ejemplo, puede implementar su aplicación de tres niveles a través de una única plantilla en un único grupo de recursos.For example, you can deploy your three tier application through a single template to a single resource group.

plantilla de tres niveles

No obstante, no es necesario que defina toda la infraestructura en una sola plantilla.But, you don't have to define your entire infrastructure in a single template. A menudo, tiene sentido dividir los requisitos de implementación en un conjunto de plantillas seleccionadas, específicas para un propósito.Often, it makes sense to divide your deployment requirements into a set of targeted, purpose-specific templates. Estas plantillas se pueden reutilizar fácilmente para distintas soluciones.You can easily reuse these templates for different solutions. Para implementar una solución concreta, cree una plantilla maestra que vincule todas las plantillas necesarias.To deploy a particular solution, you create a master template that links all the required templates. La imagen siguiente muestra cómo implementar una solución de tres niveles mediante una plantilla principal que incluye tres plantillas anidadas.The following image shows how to deploy a three tier solution through a parent template that includes three nested templates.

plantilla de niveles anidada

Si desea que sus niveles tengan ciclos de vida independientes, puede implementar los tres niveles en grupos de recursos independientes.If you envision your tiers having separate lifecycles, you can deploy your three tiers to separate resource groups. Observe que todavía se pueden vincular los recursos a los recursos de otros grupos.Notice the resources can still be linked to resources in other resource groups.

plantilla de niveles

Para más información acerca de las plantillas anidadas, consulte Uso de plantillas vinculadas con Azure Resource Manager.For information about nested templates, see Using linked templates with Azure Resource Manager.

Azure Resource Manager analiza las dependencias para asegurarse de que los recursos se crean en el orden correcto.Azure Resource Manager analyzes dependencies to ensure resources are created in the correct order. Si un recurso se basa en un valor de otro recurso (por ejemplo, una máquina virtual que necesita una cuenta de almacenamiento para los discos), establezca una dependencia.If one resource relies on a value from another resource (such as a virtual machine needing a storage account for disks), you set a dependency. Para obtener más información, consulte Definición de dependencias en plantillas del Administrador de recursos de Azure.For more information, see Defining dependencies in Azure Resource Manager templates.

También puede utilizar la plantilla para las actualizaciones de la infraestructura.You can also use the template for updates to the infrastructure. Por ejemplo, puede agregar un recurso a la solución y agregar reglas de configuración para los recursos que ya están implementados.For example, you can add a resource to your solution and add configuration rules for the resources that are already deployed. Si la plantilla especifica la creación de un recurso pero ese recurso ya existe, Azure Resource Manager realiza una actualización, en lugar de crear un nuevo recurso.If the template specifies creating a resource but that resource already exists, Azure Resource Manager performs an update instead of creating a new asset. Administrador de recursos de Azure actualiza el activo existente al mismo estado que tendría si fuese nuevo.Azure Resource Manager updates the existing asset to the same state as it would be as new.

Resource Manager proporciona extensiones para escenarios en los que se necesitan operaciones adicionales, como la instalación de un software determinado que no está incluido en el programa de instalación.Resource Manager provides extensions for scenarios when you need additional operations such as installing particular software that isn't included in the setup. Si ya utiliza un servicio de administración de configuración, como DSC, Chef o Puppet, puede seguir trabajando con ese servicio mediante las extensiones.If you're already using a configuration management service, like DSC, Chef or Puppet, you can continue working with that service by using extensions. Para más información acerca de las extensiones de máquina virtual, consulte Acerca de las características y extensiones de las máquinas virtuales.For information about virtual machine extensions, see About virtual machine extensions and features.

Por último, la plantilla se convierte en parte del código fuente de la aplicación.Finally, the template becomes part of the source code for your app. Puede protegerla en el repositorio de código fuente y actualizarla a medida que evoluciona la aplicación.You can check it in to your source code repository and update it as your app evolves. Puede editar la plantilla mediante Visual Studio.You can edit the template through Visual Studio.

Después de definir la plantilla, está listo para implementar los recursos en Azure.After defining your template, you're ready to deploy the resources to Azure. Para ver los comandos que implementan los recursos, consulte:For the commands to deploy the resources, see:

EtiquetasTags

Administrador de recursos proporciona una característica de etiquetado que permite clasificar los recursos de acuerdo con los requisitos de administración o facturación.Resource Manager provides a tagging feature that enables you to categorize resources according to your requirements for managing or billing. Use etiquetas cuando tenga una colección compleja de grupos de recursos y recursos, y necesite visualizar dichos activos de la manera que le resulte más conveniente.Use tags when you have a complex collection of resource groups and resources, and need to visualize those assets in the way that makes the most sense to you. Por ejemplo, puede etiquetar recursos que cumplen una función similar en la organización o que pertenecen al mismo departamento.For example, you could tag resources that serve a similar role in your organization or belong to the same department. Sin etiquetas, los usuarios de su organización pueden crear varios recursos que son difíciles de identificar y administrar posteriormente.Without tags, users in your organization can create multiple resources that may be difficult to later identify and manage. Por ejemplo, puede desear eliminar todos los recursos de un proyecto concreto.For example, you may wish to delete all the resources for a particular project. Si dichos recursos no se etiquetan para el proyecto, tiene que buscarlos manualmente.If those resources aren't tagged for the project, you have to manually find them. El etiquetado puede ser un aspecto importante para reducir costos innecesarios en la suscripción.Tagging can be an important way for you to reduce unnecessary costs in your subscription.

Los recursos no tienen que residir en el mismo grupo de recursos para compartir una etiqueta.Resources do not need to reside in the same resource group to share a tag. Puede crear su propia taxonomía de etiquetas para asegurarse de que todos los usuarios de la organización utilizan etiquetas comunes y no aplican accidentalmente etiquetas ligeramente diferentes (por ejemplo, "dept" en lugar de "departamento").You can create your own tag taxonomy to ensure that all users in your organization use common tags rather than users inadvertently applying slightly different tags (such as "dept" instead of "department").

En el ejemplo siguiente se muestra una etiqueta aplicada a una máquina virtual.The following example shows a tag applied to a virtual machine.

"resources": [    
  {
    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2015-06-15",
    "name": "SimpleWindowsVM",
    "location": "[resourceGroup().location]",
    "tags": {
        "costCenter": "Finance"
    },
    ...
  }
]

Para recuperar todos los recursos con un valor de etiqueta, utilice el siguiente cmdlet de PowerShell:To retrieve all the resources with a tag value, use the following PowerShell cmdlet:

Find-AzureRmResource -TagName costCenter -TagValue Finance

O bien, el siguiente comando de la CLI de Azure 2.0:Or, the following Azure CLI 2.0 command:

az resource list --tag costCenter=Finance

También puede ver recursos etiquetados mediante Azure Portal.You can also view tagged resources through the Azure portal.

El informe de uso de la suscripción incluye los nombres y los valores de las etiquetas, lo que permite desglosar los costos por etiquetas.The usage report for your subscription includes tag names and values, which enables you to break out costs by tags. Para obtener más información sobre las etiquetas, consulte Uso de etiquetas para organizar los recursos de Azure.For more information about tags, see Using tags to organize your Azure resources.

Control de accesoAccess control

Administrador de recursos permite controlar quién tiene acceso a acciones específicas para la organización.Resource Manager enables you to control who has access to specific actions for your organization. Integra de forma nativa el control de acceso basado en rol (RBAC) en la plataforma de administración y aplica dicho control a todos los servicios del grupo de recursos.It natively integrates role-based access control (RBAC) into the management platform and applies that access control to all services in your resource group.

Hay dos conceptos principales que debe entender al trabajar con el control de acceso basado en roles:There are two main concepts to understand when working with role-based access control:

  • Definiciones de rol: describen un conjunto de permisos y se pueden usar en muchas asignaciones.Role definitions - describe a set of permissions and can be used in many assignments.
  • Las asignaciones de roles: asocian una definición con una identidad (usuario o grupo) para un ámbito determinado (suscripción, grupo de recursos o recurso).Role assignments - associate a definition with an identity (user or group) for a particular scope (subscription, resource group, or resource). Los ámbitos inferiores heredan la asignación.The assignment is inherited by lower scopes.

Puede agregar usuarios a roles de una plataforma predefinida y específicos de recursos.You can add users to pre-defined platform and resource-specific roles. Por ejemplo, puede aprovechar el rol predefinido Lector que permite a los usuarios ver los recursos, pero no modificarlos.For example, you can take advantage of the pre-defined role called Reader that permits users to view resources but not change them. Puede agregar usuarios de la organización que necesiten este tipo de acceso al rol Lector y aplicar el rol a la suscripción, al grupo de recursos o al recurso.You add users in your organization that need this type of access to the Reader role and apply the role to the subscription, resource group, or resource.

Azure proporciona los siguientes cuatro roles de plataforma:Azure provides the following four platform roles:

  1. Propietario: puede administrar todo, incluido el acceso.Owner - can manage everything, including access
  2. Colaborador: puede administrar todo, excepto el acceso.Contributor - can manage everything except access
  3. Lector: puede ver todo, pero no realizar cambios.Reader - can view everything, but can't make changes
  4. Administrador de acceso de usuarios: puede administrar el acceso de los usuarios a los recursos de Azure.User Access Administrator - can manage user access to Azure resources

Azure también proporciona varios roles específicos de los recursos.Azure also provides several resource-specific roles. Algunos comunes son:Some common ones are:

  1. Colaborador de la máquina virtual: puede administrar máquinas virtuales, pero no otorga acceso a ellas, y no puede administrar la red virtual ni la cuenta de almacenamiento a la que está conectado.Virtual Machine Contributor - can manage virtual machines but not grant access to them, and can't manage the virtual network or storage account to which they're connected
  2. Colaborador de la red: puede administrar todos los recursos de la red, pero no otorga acceso a ellas.Network Contributor - can manage all network resources, but not grant access to them
  3. Colaborador de la cuenta de almacenamiento: puede administrar cuentas de almacenamiento, pero no otorga acceso a ellas.Storage Account Contributor - Can manage storage accounts, but not grant access to them
  4. Colaborador de SQL Server: puede administrar bases de datos y servidores SQL, pero no las directivas relacionadas con la seguridad.SQL Server Contributor - Can manage SQL servers and databases, but not their security-related policies
  5. Colaborador de sitio web: puede administrar sitios web, pero no los planes web a los que están conectados.Website Contributor - Can manage websites, but not the web plans to which they're connected

Para ver la lista completa de los roles y las acciones permitidas, consulte RBAC: roles integrados.For the full list of roles and permitted actions, see RBAC: Built in Roles. Para más información sobre el control de acceso basado en roles, consulte Control de acceso basado en roles de Azure.For more information about role-based access control, see Azure Role-based Access Control.

En algunos casos, desea ejecutar el código o script que accede a los recursos, pero no con las credenciales del usuario.In some cases, you want to run code or script that accesses resources, but you don't want to run it under a user’s credentials. En lugar de ello, desea crear una identidad que llama a la entidad de servicio de la aplicación y asignar el rol adecuado para la entidad de servicio.Instead, you want to create an identity called a service principal for the application and assign the appropriate role for the service principal. Resource Manager permite crear credenciales para la aplicación y autenticar la aplicación mediante programación.Resource Manager enables you to create credentials for the application and programmatically authenticate the application. Para aprender más acerca de cómo crear entidades de servicio, consulte uno de los siguientes temas:To learn about creating service principals, see one of following topics:

También puede bloquear explícitamente recursos críticos para impedir que los usuarios los eliminen o modifiquen.You can also explicitly lock critical resources to prevent users from deleting or modifying them. Para obtener más información, consulte Bloqueo de recursos con el Administrador de recursos de Azure.For more information, see Lock resources with Azure Resource Manager.

Registros de actividadActivity logs

Resource Manager registra todas las operaciones que crean, modifican o eliminan un recurso.Resource Manager logs all operations that create, modify, or delete a resource. Puede usar los registros de actividad para encontrar un error al solucionar problemas o para supervisar cómo un usuario de su organización modificó un recurso.You can use the activity logs to find an error when troubleshooting or to monitor how a user in your organization modified a resource. Puede filtrar los registros por muchos valores diferentes, incluido el usuario que inició la operación.You can filter the logs by many different values including which user initiated the operation. Para más información sobre el uso de los registros de actividad, consulte View activity logs to audit actions on resources (Ver registros de actividad para administrar los recursos de Azure).For information about working with the activity logs, see View activity logs to manage Azure resources.

Directivas personalizadasCustomized policies

El Administrador de recursos permite crear directivas personalizadas para administrar los recursos.Resource Manager enables you to create customized policies for managing your resources. Los tipos de directivas que cree pueden incluir diversos escenarios.The types of policies you create can include diverse scenarios. Puede exigir que los recursos sigan una convención de nomenclatura, limitar los tipos e instancias de recursos que se pueden implementar o limitar las regiones que pueden hospedar un tipo de recurso.You can enforce a naming convention on resources, limit which types and instances of resources can be deployed, or limit which regions can host a type of resource. Puede requerir un valor de etiqueta en los recursos para organizar la facturación por departamentos.You can require a tag value on resources to organize billing by departments. Puede crear directivas para ayudar a reducir costos y mantener la coherencia en la suscripción.You create policies to help reduce costs and maintain consistency in your subscription.

Puede definir directivas con JSON y, a continuación, aplicarlas mediante su suscripción o en un grupo de recursos.You define policies with JSON and then apply those policies either across your subscription or within a resource group. Las directivas son diferentes del control de acceso basado en rol porque se aplican a los tipos de recursos.Policies are different than role-based access control because they're applied to resource types.

En el ejemplo siguiente se muestra una directiva que garantiza la coherencia de etiquetas al especificar que todos los recursos incluyan una etiqueta costCenter.The following example shows a policy that ensures tag consistency by specifying that all resources include a costCenter tag.

{
  "if": {
    "not" : {
      "field" : "tags",
      "containsKey" : "costCenter"
    }
  },
  "then" : {
    "effect" : "deny"
  }
}

Hay muchos más tipos de directivas que puede crear.There are many more types of policies you can create. Para obtener más información, consulte ¿Qué es Azure Policy?For more information, see What is Azure Policy?.

SDKSDKs

Los SDK de Azure están disponibles para múltiples lenguajes y plataformas.Azure SDKs are available for multiple languages and platforms. Cada una de estas implementaciones de lenguajes está disponibles a través de su administrador de paquetes del ecosistema y GitHub.Each of these language implementations is available through its ecosystem package manager and GitHub.

Estos son los repositorios de SDK de código abierto.Here are the Open Source SDK repositories.

Para obtener información acerca del uso de estos lenguajes sus los recursos, consulte:For information about using these languages with your resources, see:

Nota

Si el SDK no proporciona la funcionalidad necesaria, también puede llamar a la API de REST de Azure directamente.If the SDK doesn't provide the required functionality, you can also call to the Azure REST API directly.

Pasos siguientesNext steps

La siguiente es una demostración de esta introducción.Here's a video demonstration of this overview: