Compartir a través de


Cómo: Crear mi primer servicio ASP.NET compatible con notificaciones mediante ACS

Actualizado: 19 de junio de 2015

Se aplica a: Azure

Se aplica a

  • Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS)

Información general

Nota

Este tema corresponde a una tecnología heredada. Para crear servicios web XML y clientes de servicios web XML, vea https://go.microsoft.com/fwlink/?LinkID=220304.

En este tema se describe cómo integrar un servicio web de ASP.NET simple con ACS. Al integrar el servicio web con ACS, se factorizarán las características de autenticación y autorización fuera del código. ACS proporciona el mecanismo para autenticar y autorizar clientes al servicio web. Para obtener más información, consulte Servicios web y ACS.

En un escenario de servicio web, se supone que un cliente del servicio web no tiene acceso a un explorador y actúa de forma anónima (sin participación del usuario). Además, en un escenario de servicio web, un cliente puede obtener acceso a un servicio web mediante una identidad de servicio o una identidad empresarial. En el ejercicio descrito en este tema, un cliente obtiene acceso a un servicio web de ejemplo ASP.NET mediante un tipo de credencial de identidad de servicio configurado en ACS.

Para completar los pasos de este tema, debe descargar un servicio ASP.NET de muestra. Para obtener más información, vea Ejemplo de código: ASP.NET servicio web.

Pasos para integrar ACS con un servicio web ASP.NET

Importante

Antes de realizar los pasos siguientes, asegúrese de que el sistema cumple todos los requisitos de .NET Framework y plataforma que se resumen en Requisitos previos de ACS.

Para integrar ACS con este ejemplo ASP.NET servicio web, complete los pasos siguientes:

  • Paso 1: Crear un espacio de nombres de Control de acceso

  • Paso 2: Iniciar el Portal de administración de ACS

  • Paso 3: Agregar una aplicación de usuario de confianza

  • Paso 4: Crear reglas

  • Paso 5: Configurar una identidad de servicio

  • Paso 6: Configurar la confianza entre ACS y su servicio web ASP.NET

  • Paso 7: Probar la integración entre ACS y su servicio web ASP.NET

Paso 1: Crear un espacio de nombres de Control de acceso

Para obtener instrucciones detalladas, consulte How to: Create an Access Control Namespace.

Paso 2: Iniciar el Portal de administración de ACS

El Portal de administración de ACS permite configurar el espacio de nombres de Access Control agregando proveedores de identidades, configurando aplicaciones de usuario de confianza, definiendo reglas y grupos de reglas, y estableciendo las credenciales en las que confía la aplicación de usuario de confianza.

Para iniciar el Portal de administración de ACS

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y, a continuación, haga clic en Active Directory. (Sugerencia de solución de problemas: falta el elemento "Active Directory" o no está disponible)

  2. Para administrar el espacio de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar. (O haga clic en espacios de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar.)

Paso 3: Agregar una aplicación de usuario de confianza

En esta sección se describe cómo agregar una aplicación de usuario de confianza. Para obtener más información sobre las aplicaciones de usuario de confianza, consulte Aplicaciones de usuario autenticado.

Para configurar una aplicación de usuario de confianza

  1. En el Portal de administración de ACS, haga clic en Aplicaciones de usuario de confianza en el árbol del lado izquierdo o haga clic en el vínculo Aplicaciones de usuario autenticado en la sección Introducción.

  2. En la página Aplicaciones de usuario de confianza, haga clic en Agregar.

  3. En la página Agregar aplicación de usuario de confianza, haga lo siguiente:

    • En Nombre, escriba el nombre de la aplicación de usuario de confianza. Para este ejercicio, escriba ASPNET Simple Service.

    • En Modo, seleccione Escribir configuración manualmente.

    • En Dominio kerberos, escriba el URI al que se aplica el token de seguridad emitido por ACS. Para este ejercicio, escriba https://localhost:8000/Service.

    • En Url de retorno, escriba la dirección URL a la que ACS devuelve el token de seguridad. Para este ejercicio, escriba https://localhost:8000/Service.

    • En Dirección URL de error (opcional), escriba la dirección URL a la que ACS puede publicar si se produce un error durante el inicio de sesión. Para este ejercicio, deje este campo en blanco.

    • En Formato de token, seleccione un formato de token para que ACS lo use al emitir tokens de seguridad a esta aplicación de usuario de confianza. Para este ejercicio, seleccione SWT. Para obtener más información sobre los tokens y los formatos de token, consulte Formatos de token admitidos en ACS y "Formato de token" en Aplicaciones de usuario autenticado.

    • En Vigencia del token (s), especifique la cantidad de tiempo que será válido el token de seguridad emitido por ACS. Para este ejercicio, acepte el valor predeterminado 600. Para obtener más información sobre la vigencia de los tokens, consulte "Directiva de cifrado de tokens" en Aplicaciones de usuario de confianza.

    • En Proveedores de identidades, puede seleccionar los proveedores de identidades que se van a usar con esta aplicación de usuario de confianza.

      En este ejercicio, sin embargo, no se usa ningún proveedor de identidades, el cliente obtiene acceso al servicio web con una identidad de servicio, por lo que asegúrese de desactivar la casilla situada junto a Windows Live ID.

      Para más información sobre las identidades de servicio, consulte Identidades de servicio.

    • En Grupos de reglas, seleccione los grupos de reglas que va a usar esta aplicación de usuario de confianza al procesar notificaciones. Para este ejercicio, acepte Crear nuevo grupo de reglas, que está marcada de forma predeterminada. Para obtener más información sobre los grupos de reglas, vea Grupos de reglas y reglas.

    • En Configuración de firma de token, en Clave de firma de token, haga clic en el botón Generar para generar una clave simétrica de 256 bits para este usuario de confianza.

  4. Haga clic en Save(Guardar).

Paso 4: Crear reglas

Las reglas determinan cómo se pasan las notificaciones desde proveedores de identidades o ACS (si ACS es el emisor de notificaciones) a la aplicación de usuario de confianza. Para obtener más información sobre las reglas y los grupos de reglas, vea Reglas y grupos de reglas.

Para crear reglas

  1. En la página principal del Portal de administración de ACS, haga clic en Grupos de reglas en el árbol de la izquierda o haga clic en el vínculo Grupos de reglas en la sección Introducción.

  2. En la página Grupos de reglas, haga clic en Grupo de reglas predeterminado para ASPNET Simple Service (dado que asignó el nombre ASPNET Simple Service a su aplicación de usuario de confianza).

  3. En la página Editar grupo de reglas, haga clic en Agregar.

  4. En la página Agregar regla de notificación, haga lo siguiente:

    • En la sección Si, bajo Emisor de notificaciones, seleccione Servicio de control de acceso.

    • En la sección Si, bajo Tipo de notificación de entrada, deje la selección predeterminada Cualquiera.

    • En la sección Si, bajo Valor de notificación de entrada, deje la selección predeterminada Cualquiera.

    • En la sección Después, en Tipo de notificación de salida, seleccione Entrar tipo y, a continuación, escriba acción, porque es el tipo de notificación que se especifica en el código del ejemplo de servicio web de ASP.NET que está usando en este ejercicio: requiredClaimType = “action”. Puede encontrar esta cadena en el código de ejemplo, en Default.aspx.cs, en acs\WebServices\ASPNETSimpleService\Service.

    • En la sección Then (Después), en Output claim value (Valor de notificación de salida), seleccione Enter value (Escribir valor) y, a continuación, escriba reverse, ya que es el tipo de notificación especificado en el código del ejemplo de servicio web de ASP.NET que está usando en este ejercicio: requiredClaimValue = “reverse”. Puede encontrar esta cadena en el código de ejemplo, en Default.aspx.cs, en acs\WebServices\ASPNETSimpleService\Service.

    • Haga clic en Save(Guardar).

  5. En la página Editar grupo de reglas, haga clic en Guardar.

Paso 5: Configurar una identidad de servicio

En el ejercicio descrito en este tema, el cliente solicita un Token web simple (SWT) emitido por ACS con un nombre de usuario y una contraseña registrados con ACS y administrados por ACS, es decir, una identidad de servicio de ACS. En esta sección se describe cómo configurar una identidad de servicio de ACS o cómo configurar las credenciales hospedadas por ACS que el cliente puede usar para solicitar un token de ACS. Para más información, consulte Identidades de servicio. Para este ejercicio, establezca el nombre de la identidad de servicio en acssample (el cliente de servicio de ASP.NET usa este valor como nombre de usuario al solicitar un token de ACS) y la contraseña en pass@word1.

Para configurar una identidad de servicio

  1. En la página principal del Portal de administración de ACS , haga clic en Identidades de servicio en el árbol del lado izquierdo.

  2. En la página Identidades de servicio, haga clic en Agregar.

  3. En la página Agregar identidad de servicio, haga lo siguiente y luego haga clic en Guardar:

    1. En Nombre, escriba acssample.

    2. En Tipo, seleccione Contraseña.

    3. En Contraseña, escriba pass@word1.

    4. No cambie los valores predeterminados Fecha efectiva y Fecha de expiración.

  4. En la página Editar identidad de servicio, haga clic en Guardar.

Paso 6: Configurar la confianza entre ACS y su servicio web ASP.NET

En esta sección se describe cómo integrar ACS con el servicio de ASP.NET de ejemplo. Para obtener más información, vea Ejemplo de código: ASP.NET servicio web.

Para configurar la confianza entre ACS y su servicio web ASP.NET

  1. Busque ASPNETSimpleService.sln en la muestra que descargó y ábralo en Visual Studio® 2010.

  2. En Visual Studio 2010, en el Explorador de soluciones, bajo Solución ‘ASPNETSimpleService’, haga doble clic en web.config.

  3. En web.config, escriba el nombre del espacio de nombres Access Control y la clave de firma de tokens que configuró en ACS en los pasos anteriores. Para ver la clave de firma de tokens, haga clic en Certificados y claves en el Portal de administración de ACS.

    El fragmento de código siguiente muestra los elementos del archivo web.config que debe actualizar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Guarde el archivo web.config actualizado.

  5. En Visual Studio 2010, en el Explorador de soluciones, bajo Solución ‘ASPNETSimpleService’, haga doble clic en el archivo app.config.

  6. En el archivo app.config, escriba el nombre del espacio de nombres de Access Control y el nombre de usuario y la contraseña de la identidad de servicio que configuró en ACS en los pasos anteriores. Para ver el nombre de usuario y la contraseña, haga clic en Identidades de servicio en el Portal de administración de ACS.

    El fragmento de código siguiente muestra los elementos del archivo app.config que debe cambiar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Guarda el archivo app.config actualizado.

Paso 7: Probar la integración entre ACS y su servicio web ASP.NET

En esta sección se describe cómo probar la integración entre el servicio web de ASP.NET y ACS.

Para probar la integración entre ACS y su servicio web ASP.NET

  1. Para ejecutar el servicio ASP.NET, presione F5 en Visual Studio 2010.

  2. Para ejecutar el cliente de servicio web ASP.NET, haga clic con el botón secundario Cliente en el Explorador de soluciones, luego en Depurar y luego seleccione Iniciar nueva instancia.

    Se abre una ventana de línea de comandos con el siguiente mensaje: escriba una cadena para invertir y presione <ENTRAR>.

  3. Escriba la cadena, por ejemplo, hello world! y presione Entrar.

    Si la entrada era hello world!, debería ver la siguiente respuesta en la aplicación de consola: !dlrow olleh.

Consulte también

Conceptos

Procedimientos de ACS