Ενσωμάτωση περιεχομένου Power BI με κύρια υπηρεσία και πιστοποιητικό
Ο έλεγχος ταυτότητας βάσει πιστοποιητικού σάς επιτρέπει να πραγματοποιείτε έλεγχο ταυτότητας από το Microsoft Entra ID με ένα πιστοποιητικό προγράμματος-πελάτη. Το πιστοποιητικό προγράμματος-πελάτη μπορεί να βρίσκεται σε μια συσκευή Windows, Android ή iOS ή το πιστοποιητικό προγράμματος-πελάτη μπορεί να διατηρηθεί σε ένα Azure Key Vault.
Η χρήση αυτής της μεθόδου ελέγχου ταυτότητας επιτρέπει τη διαχείριση πιστοποιητικών από ένα κεντρικό σημείο χρησιμοποιώντας την αρχή έκδοσης πιστοποιητικών (CA) για περιστροφή ή ανάκληση.
Μπορείτε να μάθετε περισσότερα σχετικά με τα πιστοποιητικά στο Microsoft Entra ID στη σελίδα Ροές διαπιστευτηρίων προγράμματος-πελάτη στο GitHub.
Μέθοδος
Ρυθμίστε τον έλεγχο ταυτότητας πιστοποιητικού.
Πραγματοποιήστε έλεγχο ταυτότητας χρησιμοποιώντας την κύρια υπηρεσία και ένα πιστοποιητικό.
Βήμα 1 - Ενσωμάτωση του περιεχομένου σας με κύρια υπηρεσία
Για να ενσωματώσετε το περιεχόμενό σας με μια κύρια υπηρεσία, ακολουθήστε τις οδηγίες στο θέμα Ενσωμάτωση περιεχομένου Power BI με κύρια υπηρεσία και μυστικό κωδικό εφαρμογής.
Σημείωμα
Εάν έχετε ήδη περιεχόμενο που είναι ενσωματωμένο χρησιμοποιώντας μια κύρια υπηρεσία, παραλείψτε αυτό το βήμα και προχωρήστε στο βήμα 2.
Βήμα 2 - Δημιουργήστε ένα πιστοποιητικό
Μπορείτε να προμηθευτείτε ένα πιστοποιητικό από μια αξιόπιστη αρχή έκδοσης πιστοποιητικών ή να δημιουργήσετε ένα πιστοποιητικό μόνοι σας.
Αυτή η ενότητα περιγράφει τη δημιουργία ενός πιστοποιητικού με χρήση του Azure Key Vault και τη λήψη του αρχείου .cer , το οποίο περιέχει το δημόσιο κλειδί.
Συνδεθείτε στο Microsoft Azure.
Αναζητήστε και επιλέξτε τη σύνδεση Key Vaults .
Επιλέξτε τον θάλαμο κλειδιών στον οποίο θέλετε να προσθέσετε ένα πιστοποιητικό.
Επιλέξτε Πιστοποιητικά.
Επιλέξτε Δημιουργία/Εισαγωγή.
Ρυθμίστε τις παραμέτρους των πεδίων Δημιουργία πιστοποιητικού ως εξής:
Μέθοδος δημιουργίας πιστοποιητικού - Γενικά
Όνομα πιστοποιητικού - Εισαγάγετε ένα όνομα για το πιστοποιητικό σας
Τύπος αρχής έκδοσης πιστοποιητικών (CA) - Πιστοποιητικό με υπογραφή από τον χρήστη
Θέμα - Ένα αποκλειστικό όνομα X.500
Ονόματα DNS - Ονόματα 0 DNS
Περίοδος ισχύος (σε μήνες) - Καταχωρήστε τη διάρκεια ισχύος του πιστοποιητικού
Τύπος περιεχομένου - PKCS #12
Τύπος ενέργειας διάρκειας ζωής - Ανανεώνεται αυτόματα σε ένα καθορισμένο ποσοστό διάρκειας ζωής
Ποσοστό διάρκειας ζωής - 80
Ρύθμιση παραμέτρων πολιτικής για προχωρημένους - Δεν έχει ρυθμιστεί
Επιλέξτε Δημιουργία. Το πιστοποιητικό που μόλις δημιουργήθηκε είναι απενεργοποιημένο από προεπιλογή. Μπορεί να χρειαστούν έως και πέντε λεπτά για να ενεργοποιηθεί.
Επιλέξτε το πιστοποιητικό που δημιουργήσατε.
Επιλέξτε Λήψη σε μορφή CER. Το αρχείο λήψης περιέχει το δημόσιο κλειδί.
Βήμα 3 - Ρύθμιση ελέγχου ταυτότητας πιστοποιητικού
Στην εφαρμογή Σας Microsoft Entra, επιλέξτε την καρτέλα Πιστοποιητικά και μυστικοί κωδικοί .
Επιλέξτε Αποστολή πιστοποιητικού και αποστείλετε το αρχείο .cer που δημιουργήσατε και κατεβάσατε στο βήμα 2 αυτής της εκμάθησης. Το αρχείο .cer περιέχει το δημόσιο κλειδί.
Βήμα 4 - Κάντε λήψη του πιστοποιητικού από το Azure Key Vault
Χρησιμοποιήστε την Ταυτότητα διαχειριζόμενης υπηρεσίας (MSI) για να λάβετε το πιστοποιητικό από το Azure Key Vault. Αυτή η διαδικασία περιλαμβάνει τη λήψη του πιστοποιητικού .pfx που περιέχει τόσο τα δημόσια όσο και τα ιδιωτικά κλειδιά.
Ανατρέξτε στο παράδειγμα κώδικα για την ανάγνωση του πιστοποιητικού από το Azure Key Vault. Εάν θέλετε να χρησιμοποιήσετε το Visual Studio, ανατρέξτε στο θέμα Ρύθμιση παραμέτρων του Visual Studio για χρήση του MSI.
private X509Certificate2 ReadCertificateFromVault(string certName)
{
var serviceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(serviceTokenProvider.KeyVaultTokenCallback));
CertificateBundle certificate = null;
SecretBundle secret = null;
certificate = keyVaultClient.GetCertificateAsync($"https://{KeyVaultName}.vault.azure.net/", certName).Result;
secret = keyVaultClient.GetSecretAsync(certificate.SecretIdentifier.Identifier).Result;
return new X509Certificate2(Convert.FromBase64String(secret.Value));
}
Βήμα 5 - Πραγματοποιήστε έλεγχο ταυτότητας χρησιμοποιώντας την κύρια υπηρεσία και ένα πιστοποιητικό
Μπορείτε να ελέγξετε την ταυτότητα της εφαρμογής σας που χρησιμοποιεί μια κύρια υπηρεσία και ένα πιστοποιητικό που είναι αποθηκευμένο στο Azure Key Vault, μέσω σύνδεσης στο Azure Key Vault.
Για να συνδεθείτε και να διαβάσετε το πιστοποιητικό από το Azure Key Vault, ανατρέξτε στο ακόλουθο δείγμα κώδικα.
Σημείωμα
Εάν έχετε ήδη ένα πιστοποιητικό που έχει δημιουργηθεί από τον οργανισμό σας, αποστείλετε το αρχείο .pfx στο Azure Key Vault.
// Preparing needed variables
var Scope = "https://analysis.windows.net/powerbi/api/.default"
var ApplicationId = "{YourApplicationId}"
var tenantSpecificURL = "https://login.microsoftonline.com/{YourTenantId}/"
X509Certificate2 certificate = ReadCertificateFromVault(CertificateName);
// Authenticating with a SP and a certificate
public async Task<AuthenticationResult> DoAuthentication(){
IConfidentialClientApplication clientApp = null;
clientApp = ConfidentialClientApplicationBuilder.Create(ApplicationId)
.WithCertificate(certificate)
.WithAuthority(tenantSpecificURL)
.Build();
return await clientApp.AcquireTokenForClient(Scope).ExecuteAsync();
}
Ρύθμιση παραμέτρων Του Visual Studio για χρήση του MSI
Όταν δημιουργείτε μια ενσωματωμένη λύση, μπορεί να είναι χρήσιμο να ρυθμίσετε τις παραμέτρους του Visual Studio για χρήση της ταυτότητας διαχειριζόμενης υπηρεσίας (MSI). Το MSI είναι μια δυνατότητα που σας επιτρέπει να διαχειρίζεστε την ταυτότητά σας Microsoft Entra. Αφού ρυθμιστούν οι παράμετροί του, το Visual Studio θα επιτρέψει τον έλεγχο ταυτότητας του Azure Key Vault.
Σημείωμα
Ο χρήστης που εισέρχεται στο Visual Studio απαιτεί δικαιώματα Azure Key Vault για τη λήψη του πιστοποιητικού.
Ανοίξτε το έργο σας στο Visual Studio.
Επιλέξτε Εργαλεία>Επιλογές.
Αναζητήστε και επιλέξτε Επιλογή λογαριασμού.
Προσθέστε τον λογαριασμό που έχει πρόσβαση στο Azure Key Vault.
Σχετικό περιεχόμενο
- Ρύθμιση του Power BI Embedded
- Εκμάθηση: Ενσωμάτωση περιεχομένου Power BI με χρήση ενός δείγματος ενσωμάτωσης για την εφαρμογή των πελατών σας
- Αντικείμενα εφαρμογής και κύριας υπηρεσίας στο αναγνωριστικό Microsoft Entra
- Ενσωμάτωση αναφοράς σε Υπηρεσίες ανάλυσης του SQL Server εσωτερικής εγκατάστασης (SSAS)