Dodatkowe metody uwierzytelniania w zasobach platformy Azure z poziomu aplikacji języka Go

W tym artykule wymieniono dodatkowe metody, których aplikacje mogą używać do uwierzytelniania w zasobach platformy Azure. Te metody są rzadziej używane. Jeśli to możliwe, użyj jednej z metod opisanych podczas uwierzytelniania aplikacji języka Go na platformie Azure przy użyciu przeglądu zestawu Azure SDK.

Uwierzytelnianie za pomocą przeglądarki interakcyjnej

Ta metoda uwierzytelnia aplikację za pomocą InteractiveBrowserCredential poprzez zbieranie poświadczeń użytkownika w systemie domyślnym.

Uwierzytelnianie za pomocą przeglądarki interaktywnej umożliwia aplikacji wszystkie operacje dozwolone przez poświadczenia logowania interakcyjnego. W związku z tym, jeśli jesteś właścicielem lub administratorem subskrypcji, twój kod ma nieodłączny dostęp do większości zasobów w tej subskrypcji bez konieczności przypisywania określonych uprawnień. Z tego powodu użyj uwierzytelniania przeglądarki interakcyjnej tylko do eksperymentowania.

Włączanie aplikacji na potrzeby uwierzytelniania za pomocą przeglądarki interakcyjnej

Wykonaj następujące kroki, aby umożliwić aplikacji uwierzytelnianie za pośrednictwem interaktywnego przepływu przeglądarki. Te kroki działają również w przypadku uwierzytelniania kodu urządzenia opisanego w dalszej części. Należy postępować zgodnie z tym procesem tylko wtedy, gdy używasz InteractiveBrowserCredential w swoim kodzie.

  1. W witrynie Azure Portal przejdź do pozycji Microsoft Entra ID i wybierz pozycję Rejestracje aplikacji w menu po lewej stronie.

  2. Wybierz rejestrację aplikacji, a następnie wybierz pozycję Uwierzytelnianie.

  3. W obszarze Ustawienia zaawansowane wybierz pozycję Tak dla ustawienia Zezwalaj na przepływy klientów publicznych.

  4. Wybierz Zapisz, aby zastosować zmiany.

  5. Aby autoryzować aplikację dla określonych zasobów, przejdź do odpowiedniego zasobu, wybierz pozycję Uprawnienia interfejsu API i włącz program Microsoft Graph i inne zasoby, do których chcesz uzyskać dostęp. Program Microsoft Graph jest zwykle domyślnie włączony.

    Ważne

    Musisz również być administratorem dzierżawy, aby wyrazić zgodę na aplikację podczas pierwszego logowania.

Jeśli nie możesz skonfigurować opcji przepływu kodu urządzenia w identyfikatorze Entra firmy Microsoft, aplikacja może być wielodostępna. Aby wprowadzić tę zmianę, przejdź do panelu Uwierzytelnianie , wybierz pozycję Konta w dowolnym katalogu organizacyjnym (w obszarze Obsługiwane typy kont), a następnie wybierz pozycję Tak w obszarze Zezwalaj na przepływy klientów publicznych.

Przykład użycia elementu InteractiveBrowserCredential

Na poniższym przykładzie pokazano użycie elementu InteractiveBrowserCredential do uwierzytelniania z SubscriptionsClient w pakiecie armsubscription.

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
)

func main() {
	cred, err := azidentity.NewInteractiveBrowserCredential(nil)
	if err != nil {
		// TODO: handle error
	}
	ctx := context.Background()
	clientFactory, err := armsubscription.NewClientFactory(cred, nil)
	if err != nil {
		// TODO: handle error
	}
	res, err := clientFactory.NewSubscriptionsClient().Get(ctx, "<your_subscription_id>", nil)
	if err != nil {
		// TODO: handle error
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
}

Aby uzyskać dokładniejszą kontrolę, taką jak ustawianie identyfikatorów URI przekierowania, można podać określone argumenty, na przykład RedirectURL do InteractiveBrowserCredential za pomocą typu InteractiveBrowserCredentialOptions.

Uwierzytelnianie kodu urządzenia

Ta metoda interaktywnie uwierzytelnia użytkownika na urządzeniach z ograniczonym interfejsem użytkownika (zazwyczaj urządzenia bez klawiatury):

  1. Gdy aplikacja podejmie próbę uwierzytelnienia, użytkownik zostanie poproszony o podanie adresu URL oraz kodu uwierzytelniania.
  2. Użytkownik odwiedza adres URL na oddzielnym urządzeniu z obsługą przeglądarki (komputerze, smartfonie itd.) i wprowadza kod.
  3. Użytkownik wykonuje normalny proces uwierzytelniania w przeglądarce.
  4. Po pomyślnym uwierzytelnieniu aplikacja jest uwierzytelniana na urządzeniu.

Aby uzyskać więcej informacji, zobacz Platformę tożsamości Microsoft i przepływ udzielania autoryzacji urządzenia OAuth 2.0.

Uwierzytelnianie kodu urządzenia w środowisku projektowym umożliwia aplikacji wszystkie operacje dozwolone przez poświadczenia logowania interakcyjnego. W związku z tym, jeśli jesteś właścicielem lub administratorem subskrypcji, twój kod ma nieodłączny dostęp do większości zasobów w tej subskrypcji bez konieczności przypisywania określonych uprawnień. Można jednak użyć tej metody z określonym identyfikatorem klienta, a nie domyślnym, dla którego można przypisać określone uprawnienia.

DeviceCodeCredential Użyj typu z azidentity pakietu, aby zaimplementować uwierzytelnianie kodu urządzenia.