Freigeben über


Integrieren von Azure Blob Storage mit Service Connector

Auf dieser Seite werden die unterstützten Authentifizierungs- und Clienttypen sowie Beispielcode von Azure Blob Storage mit Service Connector veranschaulicht. Auf dieser Seite werden auch die Namen und Werte der Standardumgebungsvariablen (oder die Spring Boot-Konfiguration) angezeigt, die Sie erhalten, wenn Sie die Dienstverbindung erstellen.

Unterstützte Computedienste

Mit Service Connector können Sie die folgenden Computedienste mit Azure Blob Storage verbinden:

  • Azure App Service
  • Azure Container Apps
  • Azure-Funktionen
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

Unterstützte Authentifizierungstypen und Clienttypen

Die folgende Tabelle zeigt, welche Kombinationen von Authentifizierungsmethoden und Clients für die Verbindung Ihres Computediensts mit Azure Blob Storage mithilfe von Service Connector unterstützt werden. Ein „Ja“ gibt an, dass die Kombination unterstützt wird, während ein „Nein“ angibt, dass sie nicht unterstützt wird.

Clienttyp Systemseitig zugewiesene verwaltete Identität Benutzerseitig zugewiesene verwaltete Identität Geheimnis/Verbindungszeichenfolge Dienstprinzipal
.NET Ja Ja Ja Ja
Java Ja Ja Ja Ja
Java - Spring Boot Ja Ja Ja Ja
Node.js Ja Ja Ja Ja
Python Ja Ja Ja Ja
Go Ja Ja Ja Ja
Keine Ja Ja Ja Ja

Diese Tabelle gibt deutlich an, dass alle Kombinationen von Clienttypen und Authentifizierungsmethoden unterstützt werden, mit Ausnahme des Clienttyps „Java – Spring Boot“, der nur die Methode „Geheimnis/Verbindungszeichenfolge“ unterstützt. Alle anderen Clienttypen können jede der Authentifizierungsmethoden verwenden, um mithilfe von Service Connector eine Verbindung mit Azure Blob Storage herzustellen.

Namen von Standard-Umgebungsvariablen oder Anwendungseigenschaften und Beispielcode

Nutzen Sie die Verbindungsdetails und den Beispielcode in den folgenden Tabellen für den Authentifizierungstyp und den Clienttyp Ihrer Verbindung, um Computedienste mit Azure Blob Storage zu verbinden. Sie können mehr über Service Connector Umgebungsvariablen-Namenskonvention erfahren.

Systemseitig zugewiesene verwaltete Identität

SpringBoot-Client

Die Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität ist nur für Spring Cloud Azure Version 4.0 oder höher verfügbar.

Standardname der Umgebungsvariablen Beschreibung Beispielswert
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Gibt an, ob die verwalteten Identität aktiviert werden soll True
spring.cloud.azure.storage.blob.account-name Name für das Speicherkonto storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/

Andere Clients

Standardname der Umgebungsvariablen Beschreibung Beispielswert
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/

Beispielcode

Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Blob Storage mithilfe einer systemseitig zugewiesenen verwalteten Identität herzustellen.

Sie können azure-identity für die Authentifizierung mit einer verwalteten Identität oder einem Dienstprinzipal verwenden. Rufen Sie die Endpunkt-URL für Azure Blob Storage aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.

Installieren von Abhängigkeiten

dotnet add package Azure.Identity

Im Folgenden finden Sie Beispielcode zum Herstellen einer Verbindung mit Blob Storage mithilfe einer verwalteten Identität oder eines Dienstprinzipals.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Benutzerseitig zugewiesene verwaltete Identität

SpringBoot-Client

Die Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität ist nur für Spring Cloud Azure Version 4.0 oder höher verfügbar.

Standardname der Umgebungsvariablen Beschreibung Beispielswert
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Gibt an, ob die verwalteten Identität aktiviert werden soll True
spring.cloud.azure.storage.blob.account-name Name für das Speicherkonto storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Client-ID der benutzerseitig zugewiesenen verwalteten Identität 00001111-aaaa-2222-bbbb-3333cccc4444

Andere Clients

Standardname der Umgebungsvariablen Beschreibung Beispielswert
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Ihre Client-ID <client-ID>

Beispielcode

Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Blob Storage mithilfe einer benutzerseitig zugewiesenen verwalteten Identität herzustellen.

Sie können azure-identity für die Authentifizierung mit einer verwalteten Identität oder einem Dienstprinzipal verwenden. Rufen Sie die Endpunkt-URL für Azure Blob Storage aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.

Installieren von Abhängigkeiten

dotnet add package Azure.Identity

Im Folgenden finden Sie Beispielcode zum Herstellen einer Verbindung mit Blob Storage mithilfe einer verwalteten Identität oder eines Dienstprinzipals.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Connection string

Warnung

Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.

SpringBoot-Client

Anwendungseigenschaften Beschreibung Beispielswert
azure.storage.account-name Name Ihres Blob Storage-Kontos <storage-account-name>
azure.storage.account-key Schlüssel Ihres Blob Storage-Kontos <account-key>
azure.storage.blob-endpoint Ihr Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.account-name Blob Storage-Kontoname für Spring Cloud Azure, Version 4.0 oder höher <storage-account-name>
spring.cloud.azure.storage.blob.account-key Blob Storage-Kontoschlüssel für Spring Cloud Azure, Version 4.0 oder höher <account-key>
spring.cloud.azure.storage.blob.endpoint Blob Storage-Endpunkt für Spring Cloud Azure, Version 4.0 oder höher https://<storage-account-name>.blob.core.windows.net/

Andere Clients

Standardname der Umgebungsvariablen Beschreibung Beispielswert
AZURE_STORAGEBLOB_CONNECTIONSTRING Blob Storage-Verbindungszeichenfolge DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Beispielcode

Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Blob Storage mithilfe einer Verbindungszeichenfolge herzustellen.

Rufen Sie die Verbindungszeichenfolge für Azure Blob Storage aus der von Service Connector hinzugefügten Umgebungsvariablen ab.

Installieren von Abhängigkeiten

dotnet add package Azure.Storage.Blob
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System; 

// get Blob connection string
var connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CONNECTIONSTRING");

// Create a BlobServiceClient object 
var blobServiceClient = new BlobServiceClient(connectionString);

Dienstprinzipal

SpringBoot-Client

Die Authentifizierung mit einem Dienstprinzipal ist nur für Spring Cloud Azure Version 4.0 oder höher verfügbar.

Standardname der Umgebungsvariablen Beschreibung Beispielswert
spring.cloud.azure.storage.blob.account-name Name für das Speicherkonto storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Client-ID des Dienstprinzipals 00001111-aaaa-2222-bbbb-3333cccc4444
spring.cloud.azure.storage.blob.credential.client-secret Geheimer Clientschlüssel zum Ausführen der Dienstprinzipalauthentifizierung Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2

Andere Clients

Standardname der Umgebungsvariablen Beschreibung Beispielswert
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-Endpunkt https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Ihre Client-ID <client-ID>
AZURE_STORAGEBLOB_CLIENTSECRET Ihr geheimer Clientschlüssel <client-secret>
AZURE_STORAGEBLOB_TENANTID Ihre Mandanten-ID <tenant-ID>

Beispielcode

Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Blob Storage mithilfe eines Dienstprinzipals herzustellen.

Sie können azure-identity für die Authentifizierung mit einer verwalteten Identität oder einem Dienstprinzipal verwenden. Rufen Sie die Endpunkt-URL für Azure Blob Storage aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.

Installieren von Abhängigkeiten

dotnet add package Azure.Identity

Im Folgenden finden Sie Beispielcode zum Herstellen einer Verbindung mit Blob Storage mithilfe einer verwalteten Identität oder eines Dienstprinzipals.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Nächste Schritte

Arbeiten Sie die Tutorials durch, um mehr über Service Connector zu erfahren.