Freigeben über


Azure Synapse Analytics Access Control Clientbibliothek für .NET – Version 1.0.0-preview.5

Dieses Verzeichnis enthält die Open Source Teilmenge des .NET SDK. Eine Dokumentation zum vollständigen Azure SDK finden Sie im Microsoft Azure .NET Developer Center.

Die Azure Synapse Analytics-Zugriffssteuerungsclientbibliothek ermöglicht die programmgesteuerte Verwaltung von Rollenzuweisungen.

Azure Synapse ist ein unbegrenzter Analysedienst, der Data Warehousing für Unternehmen mit Big Data-Analysen vereint. Er ermöglicht flexible Datenabfragen nach Ihren Vorstellungen, indem serverlose On-Demand-Ressourcen oder bereitgestellten Ressourcen im gewünschten Umfang verwendet werden. Azure Synapse kombiniert diese beiden Welten in einer vereinheitlichten Oberfläche zur Erfassung, Vorbereitung, Verwaltung und Verarbeitung von Daten für sofortige BI- und Machine Learning-Anforderungen.

Erste Schritte

Das vollständige Microsoft Azure SDK kann von der Microsoft Azure-Downloadseite heruntergeladen werden und wird mit Unterstützung für das Erstellen von Bereitstellungspaketen, die Integration in Tools, umfangreiche Befehlszeilentools und vieles mehr bereitgestellt.

Für eine optimale Entwicklungsumgebung sollten Entwickler die offiziellen Microsoft NuGet-Pakete für Bibliotheken verwenden. NuGet-Pakete werden regelmäßig mit neuen Funktionen und Hotfixes aktualisiert.

Installieren des Pakets

Installieren Sie die Azure Synapse Analytics-Zugriffssteuerungsclientbibliothek für .NET mit NuGet:

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

Voraussetzungen

  • Azure-Abonnement: Für die Verwendung von Azure-Diensten, einschließlich Azure Synapse, benötigen Sie ein Abonnement. Wenn Sie nicht über ein vorhandenes Azure-Konto verfügen, können Sie sich für eine kostenlose Testversion registrieren oder ihre Visual Studio-Abonnementvorteile beim Erstellen eines Kontos nutzen.
  • Ein vorhandener Azure Synapse Arbeitsbereich. Wenn Sie einen Azure Synapse Arbeitsbereich erstellen müssen, können Sie das Azure-Portal oder die Azure CLI verwenden.

Wenn Sie die Azure CLI verwenden, sieht der Befehl wie folgt aus:

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>

Authentifizieren des Clients

Um mit dem Azure Synapse Analytics-Dienst zu interagieren, müssen Sie eine instance einer RoleAssignmentsClient- und/oder RoleDefinitionsClient-Klasse erstellen.

Sie benötigen auch einen Arbeitsbereichsendpunkt, den Sie möglicherweise als "Entwicklungsendpunkt" im Portal sehen, und geheime Clientanmeldeinformationen (Client-ID, Geheimer Clientschlüssel, Mandanten-ID), um ein Clientobjekt zu instanziieren.

Die Authentifizierung geheimer Clientschlüsselanmeldeinformationen wird in diesem Abschnitt mit den ersten Schritten verwendet, aber Sie finden weitere Möglichkeiten zur Authentifizierung mit der Azure-Identität. Um den unten gezeigten Anbieter DefaultAzureCredential oder andere Anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, sollten Sie das Azure.Identity-Paket installieren:

Install-Package Azure.Identity

Wichtige Begriffe

RoleAssignmentsClient & RoleDefinitionsClient

Mit einem RoleAssignmentsClient können Sie Rollenzuweisungen erstellen, aktualisieren und löschen. Mit einem RoleDefinitionsClient können Sie Rollenzuweisungen aus dem Arbeitsbereich abrufen.

Rollenzuweisung

Sie steuern den Zugriff auf Synapse-Ressourcen, um Rollenzuweisungen zu erstellen. Eine Rollenzuweisung ist der Prozess, in dem eine Rollendefinition zum Zweck der Zugriffserteilung in einem bestimmten Bereich an einen Benutzer, eine Gruppe, einen Dienstprinzipal oder eine verwaltete Identität gebunden wird. Der Zugriff wird durch Erstellen einer Rollenzuweisung erteilt und durch Entfernen einer Rollenzuweisung widerrufen.

Threadsicherheit

Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch threadsübergreifend.

Zusätzliche Konzepte

Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer

Beispiele

Das Azure.Analytics.Synapse.AccessControl-Paket unterstützt synchrone und asynchrone APIs. Im folgenden Abschnitt werden einige der am häufigsten Azure Synapse Analytics-Zugriffssteuerungsaufgaben behandelt:

Beispiele für Rollenzuweisungen

Erstellen eines Zugriffssteuerungsclients

Um mit Azure Synapse zu interagieren, müssen Sie ein RoleAssignmentsClient und ein RoleDefinitionsClientinstanziieren. Es erfordert eine Endpunkt-URL und eine 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());

Erstellen einer Rollenzuweisung

Zunächst müssen Sie die ID der Rolle bestimmen, die Sie zuweisen möchten, zusammen mit der ID des Prinzipals, den Sie dieser Rolle zuweisen möchten.

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

Rufen Sie CreateRoleAssignment dann mit den Optionen zum Erstellen der Rollenzuweisung auf.

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

Abrufen einer Rollenzuweisung

Sie können die Details einer Rollenzuweisung abrufen, indem Sie aufrufen GetRoleAssignmentById, indem Sie die Zuweisungs-ID übergeben.

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

Auflisten der Rollenzuweisungen

Um alle Rollenzuweisungen im Synapse-Arbeitsbereich aufzulisten, können Sie aufrufen ListRoleDefinitions.

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

Löschen einer Rollenzuweisung

Um eine nicht mehr benötigte Rollenzuweisung zu löschen, können Sie aufrufen DeleteRoleAssignmentById, indem Sie die Zuweisungs-ID übergeben.

roleAssignmentsClient.DeleteRoleAssignmentById(roleAssignment.Id);

So erstellen Sie

Informationen zum Erstellen der Azure Synapse-Clientbibliothek finden Sie unter Erstellen der Microsoft Azure SDK für .NET

Zielframeworks

Informationen zu den Zielframeworks der Azure Synapse Clientbibliothek finden Sie unter Zielframeworks des Microsoft Azure SDK für .NET.

Problembehandlung

Öffnen Sie das Problem in github.

Nächste Schritte

Im nächsten Schritt werden weitere Beispiele hinzugefügt.

Mitwirken

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.