Go uygulamalarından Azure kaynaklarında kimlik doğrulaması yapmak için ek yöntemler

Bu makalede, uygulamaların Azure kaynaklarında kimlik doğrulaması yapmak için kullanabileceği ek yöntemler listelenir. Bu yöntemler daha az kullanılır. Mümkün olduğunda, Azure SDK'ya genel bakış kullanarak Go uygulamalarının Azure'da kimlik doğrulamasında özetlenen yöntemlerden birini kullanın.

Etkileşimli tarayıcı kimlik doğrulaması

Bu yöntem, varsayılan sistemde kullanıcı kimlik bilgilerini toplayarak uygulamayı InteractiveBrowserCredential üzerinden kimlik doğrulamasından geçirir.

Etkileşimli tarayıcı kimlik doğrulaması, etkileşimli oturum açma kimlik bilgileri tarafından izin verilen tüm işlemler için uygulamayı etkinleştirir. Sonuç olarak, aboneliğinizin sahibi veya yöneticisiyseniz kodunuz belirli izinler atamak zorunda kalmadan bu abonelikteki çoğu kaynağa doğal olarak erişebilir. Bu nedenle, yalnızca denemeler için etkileşimli tarayıcı kimlik doğrulamasını kullanın.

Etkileşimli tarayıcı kimlik doğrulaması için uygulamaları etkinleştirme

Uygulamanın etkileşimli tarayıcı akışı aracılığıyla kimlik doğrulaması yapmasını sağlamak için aşağıdaki adımları gerçekleştirin. Bu adımlar, daha sonra açıklanan cihaz kodu kimlik doğrulaması için de çalışır. Bu işlemi yalnızca kodunuzda InteractiveBrowserCredential kullanıyorsanız izlemeniz gerekir.

  1. Azure portalında Microsoft Entra Id'ye gidin ve sol taraftaki menüden Uygulama kayıtları'nı seçin.

  2. Uygulamanızın kaydını ve ardından Kimlik Doğrulaması'nı seçin.

  3. Gelişmiş ayarlaraltında için Evetgenel istemci akışlarına izin ver'i seçin.

  4. Değişiklikleri uygulamak için seçin, ardından kaydet'e basın.

  5. Uygulamayı belirli kaynaklar için yetkilendirmek için söz konusu kaynağa gidin, API İzinleri'ni seçin ve Microsoft Graph'ı ve erişmek istediğiniz diğer kaynakları etkinleştirin. Microsoft Graph genellikle varsayılan olarak etkindir.

    Önemli

    Ayrıca, ilk kez oturum açtığınızda uygulamanıza onay vermek için kiracınızın yöneticisi olmanız gerekir.

Microsoft Entra Id'nizde cihaz kodu akışı seçeneğini yapılandıramıyorsanız uygulamanızın çok kiracılı olması gerekebilir. Bu değişikliği yapmak için Kimlik Doğrulama paneline gidin, herhangi bir kuruluş dizinindeki Hesaplar'ı seçin (Desteklenen hesap türleri'nin altında) ve ardından Genel istemci akışlarına izin ver için Evet'i seçin.

InteractiveBrowserCredential kullanma örneği

Aşağıdaki örnek, armsubscription paketindeki SubscriptionsClient ile kimlik doğrulaması yapmak için bir InteractiveBrowserCredential kullanımını göstermektedir:

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
}

Daha kesin bir denetim için, örneğin yeniden yönlendirme URI'lerini ayarlarken, RedirectURL türü aracılığıyla InteractiveBrowserCredential'dan InteractiveBrowserCredentialOptions'e kadar belirli bağımsız değişkenler sağlayabilirsiniz.

Cihaz kodu kimlik doğrulaması

Bu yöntem, kullanıcı arabirimi sınırlı olan cihazlarda (genellikle klavyesi olmayan cihazlar) bir kullanıcının kimliğini etkileşimli olarak doğrular:

  1. Uygulama kimlik doğrulamayı denediğinde, kimlik bilgisi kullanıcıdan bir URL ve kimlik doğrulama kodu ister.
  2. Kullanıcı URL'yi tarayıcı etkin ayrı bir cihazda (bilgisayar, akıllı telefon vb.) ziyaret eder ve kodu girer.
  3. Kullanıcı tarayıcıda normal bir kimlik doğrulama işlemini izler.
  4. Kimlik doğrulaması başarılı olduğunda, uygulamanın kimliği cihazda doğrulanır.

Daha fazla bilgi için bkz. Microsoft kimlik platformu ve OAuth 2.0 cihaz yetkilendirmesi verme akışı.

Geliştirme ortamında cihaz kodu kimlik doğrulaması, uygulamanın etkileşimli oturum açma kimlik bilgileri tarafından izin verilen tüm işlemler için kullanılmasına olanak tanır. Sonuç olarak, aboneliğinizin sahibi veya yöneticisiyseniz kodunuz belirli izinler atamak zorunda kalmadan bu abonelikteki çoğu kaynağa doğal olarak erişebilir. Ancak bu yöntemi, belirli izinleri atayabileceğiniz varsayılan kimlik yerine belirli bir istemci kimliğiyle kullanabilirsiniz.

azidentity paketinden DeviceCodeCredential türünü kullanarak cihaz kodu kimlik doğrulamasını uygulayın.