Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Żądania aplikacji do usług platformy Azure muszą być uwierzytelniane przy użyciu konfiguracji, takich jak klucze dostępu do konta lub połączenia bez hasła. Jednak w miarę możliwości należy określić priorytety połączeń bez hasła w aplikacjach. Tradycyjne metody uwierzytelniania korzystające z haseł lub kluczy tajnych tworzą zagrożenia bezpieczeństwa i komplikacje. Odwiedź centrum połączeń bez hasła dla usług platformy Azure, aby dowiedzieć się więcej o zaletach przechodzenia na połączenia bez hasła.
W poniższym samouczku wyjaśniono, jak przeprowadzić migrację istniejącej aplikacji w celu nawiązania połączenia przy użyciu połączeń bez hasła. Te same kroki migracyjne powinny mieć zastosowanie niezależnie od tego, czy używasz kluczy dostępu, ciągów połączeń, czy innego podejścia opartego na tajnych danych.
Konfigurowanie ról i użytkowników na potrzeby uwierzytelniania programowania lokalnego
Podczas tworzenia aplikacji lokalnie upewnij się, że konto użytkownika, które uzyskuje dostęp do danych obiektów blob, ma odpowiednie uprawnienia. Będziesz potrzebować roli Współautor danych obiektu blob, aby odczytywać i zapisywać dane obiektów blob. Aby przypisać sobie tę rolę, musisz mieć przypisaną rolę Administratora dostępu użytkowników lub inną rolę obejmującą akcję Microsoft.Authorization/roleAssignments/write . Role RBAC platformy Azure można przypisać użytkownikowi przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Więcej informacji na temat dostępnych zakresów przypisań ról można znaleźć na stronie przeglądu zakresu.
W tym scenariuszu przypiszesz uprawnienia do swojego konta użytkownika, ograniczone do konta magazynu, aby postępować zgodnie z zasadą najmniejszych uprawnień. Ta praktyka zapewnia użytkownikom tylko minimalne wymagane uprawnienia i tworzy bezpieczniejsze środowiska produkcyjne.
W poniższym przykładzie do konta użytkownika zostanie przypisana rola Storage Blob Data Contributor, która zapewnia zarówno dostęp do odczytu, jak i zapisu do danych obiektu blob na koncie magazynu.
Ważne
W większości przypadków propagacja przypisania roli na platformie Azure potrwa minutę lub dwie, ale w rzadkich przypadkach może upłynąć do ośmiu minut. Jeśli podczas pierwszego uruchomienia kodu wystąpią błędy uwierzytelniania, zaczekaj chwilę i spróbuj ponownie.
W portalu Azure znajdź swoje konto usługi magazynowej, używając głównego paska wyszukiwania lub nawigacji po lewej stronie.
Na stronie głównej konta magazynowego wybierz pozycję Kontrola dostępu (IAM) z menu po lewej stronie.
Na stronie Kontrola dostępu (IAM) wybierz kartę Przypisania ról.
Wybierz + Dodaj z górnego menu, a następnie Dodaj przypisanie roli z wyświetlonego menu rozwijanego.
Użyj pola wyszukiwania, aby filtrować wyniki do żądanej roli. W tym przykładzie wyszukaj Storage Blob Data Contributor i wybierz pasujący wynik, a następnie wybierz Dalej.
W obszarze Przypisz dostęp do wybierz pozycję Użytkownik, grupa lub jednostka usługi, a następnie wybierz pozycję + Wybierz członków.
W oknie dialogowym wyszukaj nazwę użytkownika firmy Microsoft Entra (zazwyczaj adres e-mail user@domain ), a następnie wybierz pozycję Wybierz w dolnej części okna dialogowego.
Wybierz pozycję Przejrzyj i przypisz , aby przejść do ostatniej strony, a następnie ponownie przejrzyj i przypisz, aby ukończyć proces.
Logowanie się i migrowanie kodu aplikacji w celu korzystania z połączeń bez hasła
W przypadku programowania lokalnego upewnij się, że uwierzytelniasz się przy użyciu tego samego konta Microsoft Entra, do którego przypisano rolę. Możesz uwierzytelnić się za pomocą popularnych narzędzi programistycznych, takich jak interfejs wiersza polecenia platformy Azure lub program Azure PowerShell. Narzędzia programistyczne, za pomocą których można się uwierzytelniać, różnią się w zależności od języka.
Zaloguj się do platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure przy użyciu następującego polecenia:
az login
Następnie zaktualizuj kod, aby używał połączeń bez hasła.
Aby użyć
DefaultAzureCredentialw aplikacji .NET, zainstalujAzure.Identitypakiet:dotnet add package Azure.IdentityW górnej części pliku dodaj następujący kod:
using Azure.Identity;Zidentyfikuj lokalizacje w kodzie, które tworzą
BlobServiceClientdo połączenia z usługą Azure Blob Storage. Zaktualizuj kod, aby był zgodny z następującym przykładem:DefaultAzureCredential credential = new(); BlobServiceClient blobServiceClient = new( new Uri($"https://{storageAccountName}.blob.core.windows.net"), credential);
Pamiętaj, aby zaktualizować nazwę konta magazynowego w identyfikatorze URI elementu
BlobServiceClient. Nazwę konta magazynu można znaleźć na stronie przeglądowej portalu Azure.
Lokalne uruchamianie aplikacji
Po wprowadzeniu tych zmian w kodzie uruchom aplikację lokalnie. Nowa konfiguracja powinna wykrywać twoje lokalne poświadczenia, takie jak Azure CLI, Visual Studio lub IntelliJ. Role przypisane do lokalnego użytkownika deweloperskiego na platformie Azure umożliwiają aplikacji nawiązywanie połączenia z usługą platformy Azure lokalnie.
Konfigurowanie środowiska hostingu platformy Azure
Po skonfigurowaniu aplikacji do korzystania z połączeń bez hasła i uruchamianiu lokalnie ten sam kod może uwierzytelniać się w usługach platformy Azure po jej wdrożeniu na platformie Azure. W poniższych sekcjach opisano sposób konfigurowania wdrożonej aplikacji w celu nawiązania połączenia z usługą Azure Blob Storage przy użyciu tożsamości zarządzanej.
Tworzenie tożsamości zarządzanej
Tożsamość zarządzaną przypisaną przez użytkownika można utworzyć przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Aplikacja używa tożsamości do uwierzytelniania w innych usługach.
- Na górze portalu Azure wyszukaj Zarządzane tożsamości. Wybierz wynik Tożsamości Zarządzanych.
- Wybierz pozycję + Utwórz w górnej części strony przeglądu tożsamości zarządzanych .
-
Na karcie Podstawy wprowadź następujące wartości:
- Subskrypcja: wybierz żądaną subskrypcję.
- Grupa zasobów: wybierz żądaną grupę zasobów.
- Region: wybierz region w pobliżu lokalizacji.
- Nazwa: wprowadź rozpoznawalną nazwę tożsamości, taką jak MigrationIdentity.
- Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.
- Po zakończeniu sprawdzania poprawności wybierz pozycję Utwórz. Platforma Azure tworzy nową tożsamość przypisaną przez użytkownika.
Po utworzeniu zasobu wybierz pozycję Przejdź do zasobu , aby wyświetlić szczegóły tożsamości zarządzanej.
Kojarzenie tożsamości zarządzanej z aplikacją internetową
Musisz skonfigurować aplikację internetową tak, aby korzystała z utworzonej tożsamości zarządzanej. Przypisz tożsamość do aplikacji przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Wykonaj następujące kroki w witrynie Azure Portal, aby skojarzyć tożsamość z aplikacją. Te same kroki dotyczą następujących usług platformy Azure:
- Azure Spring Apps
- Aplikacje Kontenerowe Azure
- Maszyny wirtualne platformy Azure
- Azure Kubernetes Service
Przejdź do strony przeglądu aplikacji internetowej.
Wybierz pozycję Tożsamość z lewego menu nawigacyjnego.
Na stronie Tożsamość przejdź do karty Przypisane przez użytkownika.
Wybierz + Dodaj, aby otworzyć okno wysuwane Dodawanie tożsamości zarządzanej przypisanej przez użytkownika.
Wybierz subskrypcję użytą wcześniej do utworzenia tożsamości.
Wyszukaj pozycję MigrationIdentity według nazwy i wybierz ją z wyników wyszukiwania.
Wybierz pozycję Dodaj , aby skojarzyć tożsamość z aplikacją.
Przypisywanie ról do tożsamości zarządzanej
Następnie musisz przyznać uprawnienia do tożsamości zarządzanej, którą utworzyłeś, aby uzyskać dostęp do konta magazynowego. Udziel uprawnień, przypisując rolę do tożsamości zarządzanej, podobnie jak w przypadku lokalnego użytkownika dewelopera.
Przejdź do strony informacji ogólnych konta magazynu i wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) z menu po lewej stronie.
Wybierz pozycję Dodaj przypisanie roli
W polu wyszukiwania Rola wyszukaj pozycję Współautor danych obiektu blob usługi Storage, która jest wspólną rolą służącą do zarządzania operacjami danych dla obiektów blob. Możesz przypisać dowolną rolę odpowiednią dla danego przypadku użycia. Wybierz Współtwórca danych usługi Azure Blob Storage z listy, a następnie wybierz Dalej.
Na ekranie Dodawanie przypisania roli, dla opcji Przypisz dostęp do, wybierz Tożsamość zarządzaną. Następnie wybierz pozycję +Wybierz członków.
W oknie wysuwanym wyszukaj tę tożsamość zarządzaną utworzoną według nazwy i wybierz ją z wyników. Wybierz pozycję Wybierz , aby zamknąć menu wysuwane.
Wybierz Dalej kilka razy, aż będzie można wybrać Przejrzyj i przypisz, aby zakończyć przypisanie roli.
Aktualizowanie kodu aplikacji
Należy skonfigurować kod aplikacji, aby wyszukać określoną tożsamość zarządzaną utworzoną podczas wdrażania na platformie Azure. W niektórych scenariuszach jawne ustawienie tożsamości zarządzanej dla aplikacji zapobiega również przypadkowemu wykryciu i automatycznemu użyciu innych tożsamości środowiska.
Na stronie przeglądu tożsamości zarządzanej skopiuj wartość identyfikatora klienta do schowka.
Zastosuj następujące zmiany specyficzne dla języka:
Utwórz obiekt
DefaultAzureCredentialOptionsi przekaż go doDefaultAzureCredential. Ustaw właściwość ManagedIdentityClientId na identyfikator klienta.DefaultAzureCredential credential = new( new DefaultAzureCredentialOptions { ManagedIdentityClientId = managedIdentityClientId });Ponownie wdróż kod na platformie Azure po wprowadzeniu tej zmiany w celu zastosowania aktualizacji konfiguracji.
Testowanie aplikacji
Po wdrożeniu zaktualizowanego kodu przejdź do hostowanej aplikacji w przeglądarce. Aplikacja powinna pomyślnie nawiązać połączenie z kontem magazynu. Należy pamiętać, że propagowanie przypisań ról za pośrednictwem środowiska platformy Azure może potrwać kilka minut. Aplikacja jest teraz skonfigurowana do uruchamiania zarówno lokalnie, jak i w środowisku produkcyjnym, bez konieczności dla programistów zarządzania wpisami tajnymi w samej aplikacji.
Następne kroki
W tym samouczku przedstawiono sposób migrowania aplikacji do połączeń bez hasła.
Aby zapoznać się z pojęciami omówionymi w tym artykule, zapoznaj się z następującymi zasobami:
- Autoryzowanie dostępu do obiektów blob przy użyciu identyfikatora Entra firmy Microsoft
- Aby dowiedzieć się więcej na temat platformy .NET Core, zobacz Get started with .NET in 10 minutes (Rozpoczynanie pracy z platformą .NET w 10 minut).