Hizmet sorumlusu ve uygulama gizli dizisi ile Power BI içeriği ekleme

Hizmet sorumlusu, Microsoft Entra uygulamasının içerik ve API'ler Power BI hizmeti erişmesine izin vermek için kullanılabilecek bir kimlik doğrulama yöntemidir.

Bir Microsoft Entra uygulaması oluşturduğunuzda, bir hizmet sorumlusu nesnesi oluşturulur. Hizmet sorumlusu olarak da bilinen hizmet sorumlusu nesnesi, Microsoft Entra Id'nin uygulamanızın kimliğini doğrulamasını sağlar. Kimlik doğrulamasından sonra uygulama Microsoft Entra kiracı kaynaklarına erişebilir.

Hizmet sorumlusu kimlik doğrulaması yapmak için Microsoft Entra uygulamasının uygulama kimliğini ve aşağıdakilerden birini kullanır:

  • Sertifika
  • Uygulama gizli dizisi

Bu makalede, uygulama kimliği ve uygulama gizli dizisi kullanarak hizmet sorumlusu kimlik doğrulaması açıklanmaktadır.

Dekont

Gizli anahtarlar yerine sertifikaları kullanarak arka uç hizmetlerinizin güvenliğini sağlamanızı öneririz.

Metot

Katıştırılmış analiz için hizmet sorumlusu ve uygulama kimliği kullanmak için aşağıdaki adımları uygulayın. Sonraki bölümlerde bu adımlar ayrıntılı olarak açıklanmaktadır.

  1. Bir Microsoft Entra uygulaması oluşturun.

    1. Microsoft Entra uygulamanız için bir gizli dizi oluşturun.
    2. Uygulamanın uygulama kimliğini ve uygulama gizli dizisini alın.

    Dekont

    Bu adımlar 1. adımda açıklanmıştır. Microsoft Entra uygulaması oluşturma hakkında daha fazla bilgi için bkz . Microsoft Entra uygulaması oluşturma.

  2. Bir Microsoft Entra güvenlik grubu oluşturun.

  3. Power BI hizmeti yönetici ayarlarını etkinleştirin.

  4. Hizmet sorumlusunu çalışma alanınıza ekleyin.

  5. İçeriğinizi ekleyin.

Önemli

Microsoft Entra uygulaması, bir hizmet sorumlusu için oluşturulduğunda Azure portalında temsilci izinlerini veya uygulama izinlerini yapılandırmanızı gerektirmez. Bir hizmet sorumlusunun Power BI REST API'sine erişmesi için bir Microsoft Entra uygulaması oluşturduğunuzda, izin eklemekten kaçınmanızı öneririz. Bunlar hiçbir zaman kullanılmaz ve sorun gidermesi zor olan hatalara neden olabilir.

1. Adım - Microsoft Entra uygulaması oluşturma

Aşağıdaki yöntemlerden birini kullanarak bir Microsoft Entra uygulaması oluşturun:

Azure portalında Microsoft Entra uygulaması oluşturma

  1. Azure Portal oturum açın.

  2. Uygulama kayıtları arayın ve seçin.

    Screenshot of the Azure portal, with app registration in the search box. That box and the App registrations icon are highlighted.

  3. Yeni kayıt öğesini seçin.

    Screenshot of the App registrations page in the Azure portal. New registration is highlighted.

  4. Gerekli bilgileri doldurun:

    • Ad - Uygulamanız için bir ad girin.
    • Desteklenen hesap türleri - Desteklenen hesap türlerini seçin.
    • (İsteğe bağlı) Yeniden yönlendirme URI'si - Gerekirse bir URI girin.
  5. Kaydet'i seçin.

  6. Uygulamanızı kaydettikten sonra, Uygulama Kimliği'ne Genel Bakış sekmesinden ulaşabilirsiniz. Uygulama Kimliğini kopyalayıp daha sonra kullanmak üzere kaydedin.

    Screenshot of the Overview page of the new app. The Application ID is indecipherable and is highlighted.

  7. Sertifikalar ve gizli diziler'i seçin.

    Screenshot of the Overview page of the new app. On the navigation pane, Certificates & secrets is highlighted.

  8. Yeni gizli anahtar'ı seçin.

    Screenshot that shows part of the Certificates & secrets page for the app. Under Client secrets, the New client secret button is highlighted.

  9. İstemci gizli dizisi ekle penceresinde bir açıklama girin, istemci gizli dizisinin süresinin ne zaman dolmasını istediğinizi belirtin ve Ekle'yi seçin.

  10. Gizli anahtar değerini kopyalayın ve kaydedin.

    Screenshot of the Certificates & secrets page for the app. Under Client secrets, a new secret is visible. Its indecipherable value is highlighted.

    Dekont

    Bu pencereden ayrıldıktan sonra gizli dizi değeri gizlenir ve yeniden görüntüleyemez veya kopyalayamazsınız.

PowerShell kullanarak Microsoft Entra uygulaması oluşturma

Aşağıdaki örnek PowerShell betiği yeni bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturur. Bu betiği çalıştırmadan önce:

  • PowerShell'in en son sürümünü yükleyin.
  • Microsoft Graph PowerShell SDK'sını yükleyin.

Betik çalıştırıldıktan sonra betik çıkışında aşağıdaki bilgileri not edin:

  • Yeni uygulamanın istemci kimliği
  • Yeni hizmet sorumlusunun nesne kimliği
  • Hizmet sorumlusu gizli dizisinin değeri
# Sign in as a user who's allowed to create an app.
Connect-MgGraph -Scopes "Application.ReadWrite.All" 

# Create a new Azure AD web application.
$web = @{
    RedirectUris = "https://localhost:44322"
    HomePageUrl = "https://localhost:44322"
}
$params = @{
    DisplayName = "myAzureADApp"
    Web = $($web)
}
$app = New-MgApplication @params
Write-Host "Client ID of new app: " $($app.AppId)

# Create a service principal.
$ServicePrincipalID=@{
  "AppId" = $($app.AppId)
  }
$sp = New-MgServicePrincipal -BodyParameter $($ServicePrincipalId)
Write-Host "Object ID of new service principal: " $($sp.Id)

# Create a key for the service principal.
$credential = Add-MgServicePrincipalPassword -ServicePrincipalId $($sp.Id)
Write-Host "Credential of new service principal: " $($credential.SecretText)

2. Adım - Microsoft Entra güvenlik grubu oluşturma

Hizmet sorumlunuzun Power BI içeriğinize ve API'lerinize erişimi yoktur. Hizmet sorumlusuna erişim vermek için Microsoft Entra Id'de bir güvenlik grubu oluşturun. Ardından oluşturduğunuz hizmet sorumlusunu bu güvenlik grubuna ekleyin.

Dekont

Tüm kuruluş için hizmet sorumlusu erişimini etkinleştirmek istiyorsanız bu adımı atlayın.

Microsoft Entra güvenlik grubu oluşturmanın iki yolu vardır:

El ile güvenlik grubu oluşturma

Azure güvenlik grubunu el ile oluşturmak için Temel grup oluşturma ve üye ekleme başlığındaki yönergeleri izleyin.

PowerShell kullanarak güvenlik grubu oluşturma

Aşağıdaki örnek betik yeni bir güvenlik grubu oluşturur. Ayrıca daha önce oluşturduğunuz hizmet sorumlusunu yeni güvenlik grubuna ekler.

  • Betiği çalıştırmadan önce değerini yeni uygulamanız için daha önce kaydettiğiniz istemci kimliğiyle değiştirin <app-client-ID> .
  • Betiği çalıştırdıktan sonra, betik çıkışında bulabileceğiniz yeni güvenlik grubunun nesne kimliğini not edin.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"

# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)

# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)

3. Adım - Power BI hizmeti yönetici ayarlarını etkinleştirme

Bir Microsoft Entra uygulamasının Power BI içeriğine ve API'lerine erişebilmesi için Power BI yöneticisinin aşağıdaki ayarları etkinleştirmesi gerekir:

  • Uygulamalara içerik ekleme
  • Hizmet sorumlularının Power BI API'leri kullanmasına izin ver

Power BI Yönetici portalında Kiracı ayarları'na gidin ve Geliştirici ayarları'na gidin.

  • Tüm kuruluş için veya Microsoft Entra Id'de oluşturduğunuz belirli bir güvenlik grubu için Uygulamalara içerik ekle'yi etkinleştirin.

    Screenshot of the Developer settings in the Tenant settings section of the Admin portal. The option for embedding content in apps is turned on.

  • Hizmet sorumlularının power BI API'lerini kuruluşun tamamı için veya Microsoft Entra Id'de oluşturduğunuz belirli bir güvenlik grubu için kullanmasına izin ver'i etkinleştirin.

    Screenshot of the Developer settings section. The option for allowing service principals to use Power BI APIs is turned on for one security group.

    Önemli

    Hizmet sorumlularının etkinleştirildiği tüm kiracı ayarlarına erişimi vardır. Yönetici ayarlarınıza bağlı olarak bu, belirli güvenlik gruplarını veya kuruluşun tamamını içerir.

    Hizmet sorumlusu erişimini belirli kiracı ayarlarıyla kısıtlamak için yalnızca belirli güvenlik gruplarına erişime izin verin. Alternatif olarak, hizmet sorumluları için ayrılmış bir güvenlik grubu oluşturabilir ve bunu istenen kiracı ayarlarından hariç tutabilirsiniz.

4. Adım - Hizmet sorumlusunu çalışma alanınıza ekleme

Microsoft Entra uygulamanız Power BI raporlarınıza, panolarınıza ve anlam modellerinize yalnızca Power BI çalışma alanınıza erişimi olduğunda erişebilir. Uygulamanın hizmet sorumlusunu veya güvenlik grubunu çalışma alanınıza üye veya yönetici olarak ekleyerek bu erişimi sağlarsınız.

Çalışma alanınıza hizmet sorumlusu veya güvenlik grubu eklemenin üç yolu vardır:

El ile hizmet sorumlusu veya güvenlik grubu ekleme

  1. Power BI hizmeti, erişimini etkinleştirmek istediğiniz çalışma alanına kaydırın. Diğer menüsünde Çalışma alanı erişimi'ni seçin.

    Screenshot that shows the expanded More menu for a workspace. On that menu, Workspace access is highlighted.

  2. Erişim bölmesindeki Yönetici, üye veya katkıda bulunan ekle'nin altında aşağıdakilerden birini ekleyin:

    • Hizmet sorumlunuz. Hizmet sorumlunuzun adı, Microsoft Entra uygulamanızın genel bakış sekmesinde göründüğü gibi Microsoft Entra uygulamanızın Görünen adıdır.
    • Hizmet sorumlunuzu içeren güvenlik grubu.
  3. Açılan menüde Üye'yi veya Yönetici'ı seçin.

  4. Ekle'yi seçin.

PowerShell kullanarak hizmet sorumlusu veya güvenlik grubu ekleme

Aşağıdaki bölümlerde, Power BI çalışma alanına üye olarak hizmet sorumlusu ve güvenlik grubu eklemek için örnek PowerShell betikleri sağlanır.

PowerShell kullanarak hizmet sorumlusunu çalışma alanı üyesi olarak ekleme

Aşağıdaki betik, çalışma alanı üyesi olarak bir hizmet sorumlusu ekler. Betiği çalıştırmadan önce:

  • değerini, yeni hizmet sorumlunuz için daha önce kaydettiğiniz nesne kimliğiyle değiştirin <service-principal-object-ID> .
  • değerini, hizmet sorumlusuna erişim vermek istediğiniz çalışma alanının adıyla değiştirin <workspace-name> .
# Sign in to Power BI.
Login-PowerBI

# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)

PowerShell kullanarak güvenlik grubunu çalışma alanı üyesi olarak ekleme

Aşağıdaki betik, çalışma alanı üyesi olarak bir güvenlik grubu ekler. Betiği çalıştırmadan önce:

  • değerini, yeni güvenlik grubunuz için daha önce kaydettiğiniz nesne kimliğiyle değiştirin <security-group-object-ID> .
  • öğesini, güvenlik grubuna erişim vermek istediğiniz çalışma alanının adıyla değiştirin <workspace-name> .
# Sign in to Power BI.
Login-PowerBI

# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)

5. Adım - İçeriğinizi ekleme

İçeriğinizi örnek bir uygulamaya veya kendi uygulamanıza ekleyebilirsiniz.

İçeriğiniz eklendiğinde üretim aşamasına geçmeye hazırsınız demektir.

Dekont

Sertifika kullanarak içeriğinizin güvenliğini sağlamak için Hizmet sorumlusu ve sertifika ile Power BI içeriği ekleme başlığında açıklanan adımları izleyin.

Dikkat edilecekler ve sınırlamalar

  • Hizmet sorumlusu kullanılırken Çalışma Alanım desteklenmiyor.
  • Üretime geçerken kapasite gereklidir.
  • Hizmet sorumlusu kullanarak Power BI portalında oturum açamazsınız.
  • Power BI Yönetici portalındaki geliştirici ayarlarında hizmet sorumlusunu etkinleştirmek için Power BI yönetici hakları gereklidir.
  • Kuruluşunuz için ekleme uygulamaları hizmet sorumlusunu kullanamaz.
  • Veri akışları yönetimi desteklenmez.
  • Hizmet sorumlusu yalnızca bazı salt okunur yönetici API'lerini destekler. Salt okunur yönetici API'leri için hizmet sorumlusu desteğini etkinleştirmek için kiracınızda Power BI hizmeti yönetici ayarlarını etkinleştirmeniz gerekir. Daha fazla bilgi için bkz . Salt okunur yönetici API'leri için hizmet sorumlusu kimlik doğrulamasını etkinleştirme.
  • Hizmet sorumlusunu bir Azure Analysis Services veri kaynağıyla kullandığınızda, hizmet sorumlusunun kendisinin Azure Analysis Services örnek izinlerine sahip olması gerekir. Bu amaçla hizmet sorumlusunu içeren bir güvenlik grubu kullanmak işe yaramaz.