Partager via


bibliothèque cliente Access Control Azure Synapse Analytics pour .NET - version 1.0.0-preview.5

Ce répertoire contient le open source sous-ensemble du Kit de développement logiciel (SDK) .NET. Pour obtenir de la documentation sur l’ensemble du Kit de développement logiciel (SDK) Azure, consultez le Centre de développement Microsoft Azure .NET.

La bibliothèque cliente de contrôle d’accès Azure Synapse Analytics permet de gérer les attributions de rôles par programme.

Azure Synapse est un service d’analytique illimité qui regroupe l’entreposage des données d’entreprise et l’analytique de Big Data. Il vous donne la possibilité d’interroger les données avec votre propre vocabulaire, en utilisant des ressources serverless à la demande ou des ressources provisionnées, le tout à grande échelle. Azure Synapse rassemble ces deux mondes avec une expérience unifiée pour la réception, la préparation, la gestion et la remise de données pour les besoins immédiats d’apprentissage automatique et décisionnels.

Prise en main

L’intégralité du Kit de développement logiciel (SDK) Microsoft Azure peut être téléchargée à partir de la page Téléchargements Microsoft Azure et fournie avec la prise en charge de la création de packages de déploiement, de l’intégration avec des outils, des outils en ligne de commande enrichis, etc.

Pour une expérience de développement optimale, les développeurs doivent utiliser les packages Microsoft NuGet officiels pour les bibliothèques. Les packages NuGet sont régulièrement mis à jour avec de nouvelles fonctionnalités et correctifs logiciels.

Installer le package

Installez la bibliothèque cliente de contrôle d’accès Azure Synapse Analytics pour .NET avec NuGet :

dotnet add package Azure.Analytics.Synapse.AccessControl --version 0.1.0-preview.1

Prérequis

  • Abonnement Azure : Pour utiliser les services Azure, y compris Azure Synapse, vous avez besoin d’un abonnement. Si vous ne disposez pas d’un compte Azure existant, vous pouvez vous inscrire à un essai gratuit ou utiliser les avantages de votre abonnement Visual Studio lorsque vous créez un compte.
  • Espace de travail Azure Synapse existant. Si vous devez créer un espace de travail Azure Synapse, vous pouvez utiliser le portail Azure ou Azure CLI.

Si vous utilisez Azure CLI, la commande ressemble à ce qui suit :

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>

Authentifier le client

Pour interagir avec le service Azure Synapse Analytics, vous devez créer une instance d’une classe RoleAssignmentsClient et/ou d’une classe RoleDefinitionsClient.

Vous aurez également besoin d’un point de terminaison d’espace de travail, que vous pouvez voir sous le nom de « point de terminaison de développement » dans le portail, et d’informations d’identification de secret client (ID client, secret client, ID de locataire) pour instancier un objet client.

L’authentification des informations d’identification de secret client est utilisée dans cette section de prise en main, mais vous pouvez trouver d’autres façons de vous authentifier avec l’identité Azure. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, vous devez installer le package Azure.Identity :

Install-Package Azure.Identity

Concepts clés

RoleAssignmentsClient & RoleDefinitionsClient

Avec un RoleAssignmentsClient , vous pouvez créer, mettre à jour et supprimer des attributions de rôle. Avec un RoleDefinitionsClient , vous pouvez obtenir des attributions de rôles à partir de l’espace de travail.

Attribution de rôle

La façon dont vous contrôlez l’accès aux ressources Synapse consiste à créer des attributions de rôles. Une attribution de rôle est le processus d’attachement d’une définition de rôle à un utilisateur, un groupe, un principal de service ou une identité managée au niveau d’une étendue spécifique pour accorder des accès. La création d’une attribution de rôle permet d’accorder un accès, qui peut être révoqué par la suppression d’une attribution de rôle.

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont sécurisées pour les threads et indépendantes les unes des autres (recommandations). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options clientes | Accès à la réponse | Opérations de longue durée | Gestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

Le package Azure.Analytics.Synapse.AccessControl prend en charge les API synchrones et asynchrones. La section suivante couvre certaines des tâches les plus courantes liées au contrôle d’accès Azure Synapse Analytics :

Exemples d’attribution de rôle

Créer un client de contrôle d’accès

Pour interagir avec Azure Synapse, vous devez instancier un RoleAssignmentsClient et un RoleDefinitionsClient. Il nécessite une URL de point de terminaison et un 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());

Création d'une affectation de rôle

Tout d’abord, vous devez déterminer l’ID du rôle que vous souhaitez attribuer, ainsi que l’ID du principal que vous souhaitez attribuer ce rôle.

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>";

Appelez CreateRoleAssignment ensuite avec les options pour créer l’attribution de rôle.

Response<RoleAssignmentDetails> response = roleAssignmentsClient.CreateRoleAssignment (assignmentId, roleId, principalId, assignedScope);
RoleAssignmentDetails roleAssignmentAdded = response.Value;

Récupérer une attribution de rôle

Vous pouvez récupérer les détails d’une attribution de rôle en appelant GetRoleAssignmentById, en passant l’ID d’affectation.

RoleAssignmentDetails roleAssignment = roleAssignmentsClient.GetRoleAssignmentById(roleAssignmentAdded.Id);
Console.WriteLine($"Role {roleAssignment.RoleDefinitionId} is assigned to {roleAssignment.PrincipalId}.");

Répertorier les attributions de rôles

Pour énumérer toutes les attributions de rôles dans l’espace de travail Synapse, vous pouvez appeler ListRoleDefinitions.

Response<IReadOnlyList<SynapseRoleDefinition>> roleAssignments = definitionsClient.ListRoleDefinitions();
foreach (SynapseRoleDefinition assignment in roleAssignments.Value)
{
    Console.WriteLine(assignment.Id);
}

Supprimer une attribution de rôle

Pour supprimer une attribution de rôle qui n’est plus nécessaire, vous pouvez appeler DeleteRoleAssignmentById, en passant l’ID d’affectation.

roleAssignmentsClient.DeleteRoleAssignmentById(roleAssignment.Id);

Pour générer

Pour plus d’informations sur la création de la bibliothèque cliente Azure Synapse, consultez Création du kit de développement logiciel Microsoft Azure SDK pour .NET

Versions cibles de .NET Framework

Pour plus d’informations sur les frameworks cibles de la bibliothèque cliente Azure Synapse, reportez-vous aux infrastructures cibles du kit de développement logiciel Microsoft Azure SDK pour .NET.

Dépannage

Ouvrez le problème dans github.

Étapes suivantes

L’étape suivante consiste à ajouter d’autres exemples

Contribution

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.