Azure Synapse Analytics Access Control biblioteca cliente para .NET: versión 1.0.0-preview.5
Este directorio contiene el subconjunto código abierto del SDK de .NET. Para obtener documentación del SDK completo de Azure, consulte el Centro para desarrolladores de Microsoft Azure .NET.
La biblioteca cliente de control de acceso de Azure Synapse Analytics permite administrar mediante programación las asignaciones de roles.
Azure Synapse es un servicio de análisis ilimitado que reúne el almacenamiento de datos empresariales y el análisis de macrodatos. Le ofrece la libertad de consultar los datos como prefiera, ya sea a petición sin servidor o con recursos aprovisionados, a escala. Azure Synapse reúne estos dos mundos con una experiencia unificada para ingerir, preparar, administrar y servir datos para las necesidades inmediatas de inteligencia empresarial y aprendizaje automático.
Introducción
El SDK de Microsoft Azure completo se puede descargar desde la página descargas de Microsoft Azure y se incluye con compatibilidad para compilar paquetes de implementación, integrar con herramientas, herramientas de línea de comandos enriquecidas, etc.
Para obtener la mejor experiencia de desarrollo, los desarrolladores deben usar los paquetes NuGet oficiales de Microsoft para bibliotecas. Los paquetes NuGet se actualizan periódicamente con nuevas funcionalidades y revisiones.
Instalar el paquete
Instale la biblioteca cliente de control de acceso de Azure Synapse Analytics para .NET con NuGet:
dotnet add package Azure.Analytics.Synapse.AccessControl --version 0.1.0-preview.1
Requisitos previos
- Suscripción de Azure: Para usar los servicios de Azure, incluida Azure Synapse, necesitará una suscripción. Si no tiene una cuenta de Azure existente, puede registrarse para obtener una evaluación gratuita o usar las ventajas de la suscripción de Visual Studio al crear una cuenta.
- Un área de trabajo de Azure Synapse existente. Si necesita crear un área de trabajo de Azure Synapse, puede usar Azure Portal o la CLI de Azure.
Si usa la CLI de Azure, el comando tiene el siguiente aspecto:
az synapse workspace create \
--name <your-workspace-name> \
--resource-group <your-resource-group-name> \
--storage-account <your-storage-account-name> \
--file-system <your-storage-file-system-name> \
--sql-admin-login-user <your-sql-admin-user-name> \
--sql-admin-login-password <your-sql-admin-user-password> \
--location <your-workspace-location>
Autenticar el cliente
Para interactuar con el servicio Azure Synapse Analytics, deberá crear una instancia de una clase RoleAssignmentsClient o RoleDefinitionsClient.
También necesitará un punto de conexión del área de trabajo, que puede ver como "Punto de conexión de desarrollo" en el portal y credenciales de secreto de cliente (id. de cliente, secreto de cliente, identificador de inquilino) para crear instancias de un objeto de cliente.
La autenticación de credenciales de secreto de cliente se usa en esta sección de introducción, pero puede encontrar más formas de autenticarse con la identidad de Azure. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, debe instalar el paquete Azure.Identity:
Install-Package Azure.Identity
Conceptos clave
RoleAssignmentsClient & RoleDefinitionsClient
Con , RoleAssignmentsClient
puede crear, actualizar y eliminar asignaciones de roles. Con , RoleDefinitionsClient
puede obtener asignaciones de roles desde el área de trabajo.
Asignación de roles
La forma en que controla el acceso a los recursos de Synapse es crear asignaciones de roles. Una asignación de roles es el proceso de asociar una definición de roles a un usuario, grupo, entidad de servicio o identidad administrada en un ámbito determinado con el fin de conceder acceso. El acceso se concede mediante la creación de una asignación de roles y se revoca al quitar una asignación de roles.
Seguridad para subprocesos
Garantizamos que todos los métodos de instancia de cliente sean seguros para subprocesos e independientes entre sí (guía). Esto garantiza que la recomendación de reutilizar instancias de cliente siempre es segura, incluso entre subprocesos.
Conceptos adicionales
Opciones | de cliente Acceso a la respuesta | Operaciones | de larga duraciónControl de errores | Diagnóstico | Burla | Duración del cliente
Ejemplos
El paquete Azure.Analytics.Synapse.AccessControl admite API sincrónicas y asincrónicas. En la sección siguiente se tratan algunas de las tareas relacionadas con el control de acceso de Azure Synapse Analytics más comunes:
Ejemplos de asignación de roles
- Creación de un cliente de control de acceso
- Crear una asignación de rol
- Recuperación de una asignación de roles
- Lista de asignaciones de roles
- Eliminación de una asignación de roles
Creación de un cliente de control de acceso
Para interactuar con Azure Synapse, debe crear RoleAssignmentsClient
instancias de y .RoleDefinitionsClient
Requiere una dirección URL de punto de conexión y .TokenCredential
// Replace the string below with your actual endpoint url.
string endpoint = "<my-endpoint-url>";
RoleAssignmentsClient roleAssignmentsClient = new RoleAssignmentsClient(new Uri(endpoint), new DefaultAzureCredential());
RoleDefinitionsClient definitionsClient = new RoleDefinitionsClient(new Uri(endpoint), new DefaultAzureCredential());
Crear una asignación de rol
En primer lugar, debe determinar el identificador del rol que desea asignar, junto con el identificador de la entidad de seguridad a la que desea asignar ese rol.
Response<IReadOnlyList<SynapseRoleDefinition>> roles = definitionsClient.ListRoleDefinitions();
SynapseRoleDefinition role = roles.Value.Single(role => role.Name == "Synapse Administrator");
Guid roleId = role.Id.Value;
string assignedScope = "workspaces/<my-workspace-name>";
// Replace the string below with the ID you'd like to assign the role.
Guid principalId = /*<my-principal-id>"*/ Guid.NewGuid();
// Replace the string below with the ID of the assignment you'd like to use.
string assignmentId = "<my-assignment-id>";
A continuación, llame a CreateRoleAssignment
con las opciones para crear la asignación de roles.
Response<RoleAssignmentDetails> response = roleAssignmentsClient.CreateRoleAssignment (assignmentId, roleId, principalId, assignedScope);
RoleAssignmentDetails roleAssignmentAdded = response.Value;
Recuperación de una asignación de roles
Puede recuperar los detalles de una asignación de roles llamando a GetRoleAssignmentById
, pasando el identificador de asignación.
RoleAssignmentDetails roleAssignment = roleAssignmentsClient.GetRoleAssignmentById(roleAssignmentAdded.Id);
Console.WriteLine($"Role {roleAssignment.RoleDefinitionId} is assigned to {roleAssignment.PrincipalId}.");
Lista de asignaciones de roles
Para enumerar todas las asignaciones de roles en el área de trabajo de Synapse, puede llamar a ListRoleDefinitions
.
Response<IReadOnlyList<SynapseRoleDefinition>> roleAssignments = definitionsClient.ListRoleDefinitions();
foreach (SynapseRoleDefinition assignment in roleAssignments.Value)
{
Console.WriteLine(assignment.Id);
}
Eliminación de una asignación de roles
Para eliminar una asignación de roles ya no es necesaria, puede llamar a DeleteRoleAssignmentById
, pasando el identificador de asignación.
roleAssignmentsClient.DeleteRoleAssignmentById(roleAssignment.Id);
Para compilar
Para obtener información sobre cómo compilar la biblioteca cliente de Azure Synapse, consulte Creación de la Microsoft Azure SDK para .NET
Versiones de .NET Framework de destino
Para obtener información sobre las plataformas de destino de la biblioteca cliente de Azure Synapse, consulte las plataformas de destino de la Microsoft Azure SDK para .NET.
Solución de problemas
Abra el problema en github.
Pasos siguientes
El siguiente paso es agregar más ejemplos
Contribuir
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.
Azure SDK for .NET