Hızlı Başlangıç: Duyarlılık etiketlerini listeleme (C++)

Bu hızlı başlangıçta, kuruluşunuz için yapılandırılan duyarlılık etiketlerini listelemek için MIP Dosya SDK'sını nasıl kullanacağınız gösterilmektedir.

Önkoşullar

Henüz yapmadıysanız devam etmeden önce aşağıdaki önkoşulları tamamladığınızdan emin olun:

Duyarlılık etiketlerini listelemek için mantık ekleme

Dosya altyapısı nesnesini kullanarak kuruluşunuzun duyarlılık etiketlerini listelemek için mantık ekleyin.

  1. Önceki "Hızlı Başlangıç: İstemci uygulaması başlatma (C++)" makalesinde oluşturduğunuz Visual Studio çözümünü açın.

  2. Çözüm Gezgini'da, yönteminin uygulanmasını main() içeren .cpp dosyasını projenizde açın. Proje oluşturma sırasında belirlediğiniz isim, varsayılan olarak projeyle aynı olup onu içeren yapıdadır.

  3. using etiketinden sonra using mip::FileEngine; yönergesini dosyanın en üstüne yakın bir yere ekleyin.

    using std::endl;
    
  4. Gövdenin main() sonuna doğru, son return 0; bloğunun kapanış ayracı catch sonrasına ve } öncesine (önceki hızlı başlangıçta kaldığınız yerde) aşağıdaki kodu ekleyin:

    // List sensitivity labels
    cout << "\nSensitivity labels for your organization:\n";
    auto labels = engine->ListSensitivityLabels();
    for (const auto& label : labels)
    {
       cout << label->GetName() << " : " << label->GetId() << endl;
    
       for (const auto& child : label->GetChildren())
       {
         cout << "->  " << child->GetName() << " : " << child->GetId() << endl;
       }
    }
    system("pause");
    

Erişim belirteçleri oluşturmak için PowerShell betiği oluşturma

Uygulamanızda AuthDelegateImpl::AcquireOAuth2Token SDK tarafından istenen erişim belirteçleri oluşturmak için aşağıdaki PowerShell betiğini kullanın. Betik, "MIP SDK Kurulumu ve yapılandırması" sırasında daha önce yüklediğiniz MSAL.PS modülündeki Get-MsalToken cmdlet'ini kullanır.

  1. Bir PowerShell betik dosyası (.ps1 uzantısı) oluşturun ve aşağıdaki betiği kopyalayıp dosyaya yapıştırın:

    • $resourceUrl ve $authority ögelerini daha sonra, aşağıdaki bölümde güncelleyin.
    • $redirectUri ve $appId öğelerini Microsoft Entra uygulama kaydınızda belirttiğiniz değerlerle eşleşecek şekilde güncelleyin.
    $authority = '<authority-url>'                   # Specified when SDK calls AcquireOAuth2Token()
    $resourceUrl = '<resource-url>'                  # Specified when SDK calls AcquireOAuth2Token()
    $appId = '0edbblll-8773-44de-b87c-b8c6276d41eb'  # App ID of the Microsoft Entra app registration
    $redirectUri = 'bltest://authorize'              # Redirect URI of the Microsoft Entra app registration
    $scope = $resourceUrl + "/.default"
    $response = Get-MsalToken -ClientId $appId -Authority $authority -RedirectUri $redirectUri -Scopes $scope -Interactive
    $response.AccessToken | clip                     # Copy the access token text to the clipboard
    
  2. Betik dosyasını kaydedin, böylece daha sonra istemci uygulamanız istediğinde çalıştırabilirsiniz.

Uygulamayı derleme ve test etme

İstemci uygulamanızı derleyin ve test edin.

  1. İstemci uygulamanızı derlemek için F6 (Derleme Çözümü) kullanın. Derleme hataları yoksa, uygulamanızı çalıştırmak için F5 (Hata ayıklamayı başlat) kullanın.

  2. Projeniz başarıyla derlenip çalıştırılırsa, SDK yönteminizi AcquireOAuth2Token() her çağırdığında uygulama bir erişim belirteci ister. Uygulama birden çok kez istemde bulunursa ve istenen değerler aynıysa, önceden oluşturulmuş bir belirteci yeniden kullanabilirsiniz.

  3. Komut istemi için bir erişim belirteci oluşturmak üzere PowerShell betiğinize geri dönün ve:

    • $authority ve $resourceUrl değişkenlerini güncelleyin. Bunlar, 2. adımda konsol çıkışında belirtilen değerlerle eşleşmelidir. MIP SDK, bu değerleri AcquireOAuth2Token() öğesinin challenge parametresinde sağlar.

    • PowerShell betiğini çalıştırın. Get-MsalToken cmdlet’i, aşağıdaki örneğe benzer bir Microsoft Entra kimlik doğrulama istemini tetikler. 2. adımda konsol çıkışında sağlanan hesabın aynısını belirtin. Başarıyla oturum açıldıktan sonra, cmdlet erişim belirtecini panoya yerleştirir.

      Visual Studio belirteç edinme oturum açma istemi.

    • Ayrıca, uygulamanın oturum açma hesabı altında çalışırken MIP API'lerine erişmesine izin vermek için de onay vermeniz gerekebilir. Microsoft Entra uygulama kaydı önceden onaylanmamışsa ("MIP SDK kurulumu ve yapılandırmasında belirtildiği gibi") veya farklı bir kiracıdan (uygulamanızın kayıtlı olduğu hesap dışında) bir hesapla oturum açtığınızda bu durum ortaya çıkar. Onayınızı kaydetmek için Kabul Et'i seçin.

      Visual Studio onay istemi.

  4. Erişim belirtecini 2. adımdaki isteme yapıştırdıktan sonra konsol çıkışınız aşağıdaki örneğe benzer şekilde duyarlılık etiketlerini göstermelidir:

    Non-Business : 87ba5c36-17cf-14793-bbc2-bd5b3a9f95cz
    Public : 83867195-f2b8-2ac2-b0b6-6bb73cb33afz
    General : f42a3342-8706-4288-bd31-ebb85995028z
    Confidential : 074e457c-5848-4542-9a6f-34a182080e7z
    Highly Confidential : f55c2dea-db0f-47cd-8520-a52e1590fb6z
    
    Press any key to continue . . .
    

    Uyarı

    Bir veya daha fazla duyarlılık etiketinin (örneğin, f42a3342-8706-4288-bd31-ebb85995028z) kimliğini kopyalayın ve kaydedin, çünkü sonraki hızlı başlangıçta bunu kullanırsınız.

Sorun giderme

C++ uygulamasını yürütme sırasında karşılaşılan sorunlar

Özet Hata mesajı Çözüm
Hatalı erişim belirteci Bir özel durum oluştu... Erişim belirteci yanlış mı/süresi dolmuş mu?

API çağrısı başarısız oldu: profile_add_engine_async şu hatayla başarısız oldu: [class mip::PolicySyncException] İlke alınamadı, istek HTTP durum kodu ile başarısız oldu: 401, x-ms-diagnostics: [2000001;reason="İstekle gönderilen OAuth belirteci ayrıştırılamıyor.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (işlem 29924) 0 koduyla çıktı.

Bu pencereyi kapatmak için herhangi bir tuşa basın. . .
Projeniz başarıyla derleniyorsa ancak soldakine benzer bir çıkış görüyorsanız, yönteminizdeki AcquireOAuth2Token() belirtecin geçersiz veya süresi dolmuş olabilir. Create a PowerShell betiği oluşturma bölümüne geri dönün ve erişim belirtecini yeniden oluşturun, AcquireOAuth2Token() öğesini yeniden güncelleyin ve yeniden derleyin/test edin. Ayrıca belirteci ve claim’lerini, jwt.ms tek sayfalı web uygulamasını kullanarak inceleyebilir ve doğrulayabilirsiniz.
Duyarlılık etiketleri yapılandırılmadı Yok Projeniz başarıyla derleniyorsa ancak konsol penceresinde çıkış görünmüyorsa, kuruluşunuzun duyarlılık etiketlerinin doğru yapılandırıldığından emin olun. Ayrıntılar için "Etiket taksonomisi ve koruma ayarlarını tanımlama" altındaki MIP SDK kurulumu ve yapılandırması bölümüne bakın.

Sonraki Adımlar

Kuruluşunuz için duyarlılık etiketlerini nasıl listeleyebileceğinizi öğrendiğinize göre, sonraki hızlı başlangıcı deneyin: