Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veyadizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Microsoft Fabric'te✅ Ambarı
Azure hizmet sorumlusu (SPN), uygulamalar veya otomasyon araçları tarafından belirli Azure kaynaklarına erişmek için kullanılan bir güvenlik kimliğidir.
SPN'ler bir kiracı içindeki uygulama nesnelerini temsil eder ve bu uygulamaların kimliğini doğrulama ve yetkilendirme rolünü üstlenerek uygulama örnekleri için kimlik görevi görür. Kullanıcı kimliklerinden farklı olarak, hizmet sorumluları tam izinler atanabilen etkileşimli olmayan, uygulama tabanlı kimliklerdir ve bu da otomatik işlemler veya arka plan hizmetleri için mükemmel olmalarını sağlar. Hizmet sorumlularını kullanarak veri kaynaklarınıza güvenli bir şekilde bağlanarak insan hatası ve kimlik tabanlı güvenlik açıklarının risklerini en aza indirebilirsiniz. Hizmet ilkeleri hakkında daha fazla bilgi edinmek için bkz. Microsoft Entra ID'de uygulama ve hizmet ilkesi nesneleri.
Önkoşullar
Azure kullanarak bir hizmet sorumlusu oluşturun, roller ve gizli diziler atayın.
Uyarı
Hizmet Sorumlusu (SPN) yönetimi, Entra Id yönetim görevlerinin bir parçasıdır. Entra Id yöneticiniz size gerekli SPN kimlik bilgilerini (Uygulama Kimliği, Gizli Dizi ve Kiracı Kimliği) sağlamalıdır.
Kiracı yöneticinin, Fabric Yönetici portalında Hizmet sorumlularının Doku API'lerini kullanabilmesini etkinleştirebilmesini sağlamak.
Yönetici çalışma alanı rolüne sahip bir kullanıcının, Çalışma Alanı'ndaki Erişimi Yönet aracılığıyla bir SPN için erişim izni verdiğinden emin olun.
SPN kullanarak REST API'ler aracılığıyla ambar oluşturma ve ambarlara erişme
Yönetici, üye veya katkıda bulunan çalışma alanı rolüne sahip kullanıcılar, Fabric REST API'leriaracılığıyla Ambar öğeleri oluşturmak, güncellemek, okumak ve silmek için hizmet sorumlularını kimlik doğrulaması için kullanabilir. Bu, kullanıcı kimlik bilgilerine bağlı kalmadan ambarları sağlama veya yönetme gibi yinelenen görevleri otomatikleştirmenizi sağlar.
Ambarı oluşturmak için temsilcili bir hesap veya sabit kimlik (sahip kimliği) kullanırsanız, ambar OneLake'e erişirken bu kimlik bilgilerini kullanır. Bu, sahibi kuruluştan ayrıldığında bir sorun oluşturur, çünkü ambar çalışmayı durdurur. Bundan kaçınmak için SPN kullanarak ambarlar oluşturun.
Fabric, güvenlik nedenleriyle geçerli bir belirtecin sağlandığını garanti etmek için kullanıcının her 30 günde bir oturum açmasını gerektirir. Veri ambarı için sahibinin Doku'da 30 günde bir oturum açması gerekir. Bu, Listesi API'sine sahip bir SPN kullanılarak otomatikleştirilebilir.
REST API'leri kullanılarak bir SPN tarafından oluşturulan depolar, Doku portalındaki Çalışma Alanı liste görünümünde, SPN olarak Sahip adıyla görüntülenecektir. Aşağıdaki görüntüde, Fabric portalındaki çalışma alanından bir ekran görüntüsünde "Fabric Public API test app", Contoso Pazarlama Ambarı'nı oluşturan SPN'dir.
Doku portalındaki çalışma alanı öğeleri listesinin ekran görüntüsü
SPN kullanarak istemci uygulamalarına bağlanma
SQL Server Management Studio (SSMS) 19 veya daha yeni sürümler gibi araçlarla hizmet ilkelerini kullanarak Fabric veri ambarlarına bağlanabilirsiniz.
- Kimlik Doğrulaması: Microsoft Entra Service Principal
- Kullanıcı adı: Hizmet sorumlusunun uygulama (istemci) kimliği (Azure aracılığıyla oluşturulur)
- Parola: Gizli dizi (Azure aracılığıyla oluşturulur)
Denetim düzlemi izinleri
SPN'lere, çalışma alanında çalışma alanı rolleri kullanılarak erişimi yönetme aracılığıyla ambarlara erişim verilebilir. Ayrıca, ambarlar Doku portalı üzerinden Öğe İzinleriaracılığıyla bir SPN ile paylaşılabilir.
Veri düzlemi izinleri
Ambarlara çalışma alanı rolleri veya Öğe izinleri aracılığıyla bir SPN'ye denetim düzlemi izinleri verildikten sonra, yöneticiler GRANT gibi T-SQL komutlarını kullanarak hizmet sorumlularına belirli veri düzlemi izinleri atayabilir ve SPN'nin hangi meta verilere/verilere ve işlemlere erişimi olduğunu tam olarak denetleyebilir. Bunun en az ayrıcalık ilkesine uyması önerilir.
Örneğin:
GRANT SELECT ON <table name> TO <service principal name>;
İzinler verildikten sonra SPN'ler SSMS gibi istemci uygulama araçlarına bağlanarak geliştiricilerin (güvenlik duvarı etkinleştirilmiş depolama ile ve depolama olmadan) ve COPY INTO ayrıca Data Factory işlem hatlarıyla program aracılığıyla herhangi bir T-SQL sorgusunu çalıştırması için güvenli erişim sağlayabilir.
Ekran
Bir SPN ambarda sorgu çalıştırdığında, sorguyu çalıştıran kullanıcıya veya SPN'ye görünürlük sağlayan çeşitli izleme araçları vardır. Sorgu etkinliği için kullanıcıyı aşağıdaki yollarla bulabilirsiniz:
- Dinamik yönetim görünümleri (DMV):
login_namesütunu. -
Query Insights:
login_namesütunuqueryinsights.exec_requests_historygörünümünde. -
Sorgu etkinliği: Fabric sorgu etkinliğindeki
submittersütunu. - Kapasite ölçümleri uygulaması: SPN tarafından gerçekleştirilen ambar işlemleri için hesaplama kullanımı, Arka plan işlemlerinin açılır tablosundaki Kullanıcı sütununda İstemci Kimliği olarak görünür.
Daha fazla bilgi için, Monitor Fabric Veri Ambarıbölümüne bakın.
Devralma API'si
Ambarların sahipliği SPN'den kullanıcıya ve kullanıcıdan SPN'ye değiştirilebilir.
SPN'den veya kullanıcıdan kullanıcıya devralma: Bkz. PowerShell ile Doku Ambarı'nın sahipliğini değiştirme.
- Doku portalı aracılığıyla hizmet asıl adı (SPN) sahibi olarak ayarlamak mümkün değildir, PowerShell kullanın.
SPN'den veya kullanıcıdan SPN'ye devralma: REST API'de POST çağrısı kullanın.
POST <PowerBI Global Service FQDN>/v1.0/myorg/groups/{workspaceid}/datawarehouses/{warehouseid}/takeover
Belirteç yenileme ve başlatma gereksinimleri
Hizmet sorumluları, güvenlik amacıyla her 30 günde bir belirteç yenilemesi gerektirir. Doku, SPN'ler için etkileşimli kimlik doğrulamasını desteklemediğinden, OAuth 2.0 istemci kimlik bilgileri akışını kullanarak yenilemeyi otomatikleştirmek en iyi yöntemdir.
Hızlı test için tarayıcı geliştirici araçları, Azure CLI veya PowerShell aracılığıyla taşıyıcı belirteci el ile alabilir ve Doku REST API'siyle doğrulayabilirsiniz.
Başlatma neden gereklidir?
Microsoft Fabric'in iki ayrı katmanı vardır:
- Denetim Düzlemi – Kimlik doğrulama, yetkilendirme ve kaynak yönetimini (çalışma alanları, öğeler ve roller gibi) işler. Tüm kimliklerin önce burada belirteçler oluşturması gerekir.
-
Veri Düzlemi – Sorguları ve veri taşımayı (veya
OPENROWSETgibiCOPY INTO) yürütür. Denetim Düzlemi tarafından önceden verilmiş doğrulanmış belirteçlere dayanır.
Etkileşimli kullanıcılar için Doku portalı, Denetim Düzlemi belirtecini otomatik olarak başlatır. Ancak hizmet sorumluları Doku portalı üzerinden oturum açamadığından, Doku belirteçlerini örtük olarak önyükleme özelliğinden yoksun olurlar. Bunun yerine, SPN'lerin YAPı belirteçlerini API çağrıları aracılığıyla açıkça oluşturması veya yenilemesi gerekir.
Yeni SPN'ler için ilk belirteç gereksinimi
Yeni oluşturulan hizmet sorumluları için, Doku REST API'sinde oturum açarak ilk Doku güvenlik belirtecini oluşturmanız gerekir. Güvenlik belirteci oluşturulana kadar, hizmet sorumlusunun dosya üzerindeki izinleri olmasına rağmen var olmayan veya izin verilmeyen dosyalarla ilgili hata iletileri alırsınız.
SQL analiz uç noktası bağlantı dizesi aracılığıyla Ambar'a bağlanmak SPN için Doku belirteçleri oluşturmaz. SPN ile yapılan ilk başarılı API çağrısı, belirteci Doku'da oluşturur.
Bu başlatma adımı, SPN'nin veya OPENROWSETgibi COPY INTO komutları kullanarak dış depolamaya erişmesi gereken senaryolarda özellikle önemlidir. Bu belirteç önyüklemesi olmadan, SPN'den Doku Ambarı sorguları dış depolamada kimlik doğrulaması yapılamaz.
Azure CLI'da belirteç oluşturmayı ve API bağlantısını el ile test edebilirsiniz.
Azure CLI'yi yükleyin (yüklü değilse Azure CLI'yi indirip yükleyin.
Azure CLI'yı kullanarak kimliği doğrulanmış oturumu SPN bağlamı olarak değiştirin.
az login --service-principal ` -u <APP_ID> ` -p <SECRET> ` --tenant <TENANT_ID>Betikteki yer tutucular için aşağıdakileri sağlayın:
-
<APP_ID>- Hizmet sorumlunuzun uygulama (istemci) kimliği. -
<SECRET>- hizmet sorumlunuzun gizli anahtarı. -
<TENANT_ID>- Microsoft Fabric kiracı kimliğinizi belirtin.
-
Power BI taşıyıcı belirtecinizi değişkenine
$accessTokenalın.$accessToken = az account get-access-token ` --resource https://api.fabric.microsoft.com ` --query accessToken -o tsvHerhangi bir genel Doku API'sine yapılan çağrı, Doku denetim düzleminde hizmet sorumlusu için bir belirteç oluşturur. Örneğin, bir çalışma alanında öğeleri listelemek için bu basit API çağrısı:
$workspaceId = "<WORKSPACE_GUID>" $url = "https://api.fabric.microsoft.com/v1/workspaces/$workspaceId/items" $headers = @{ Authorization = "Bearer $accessToken" } Invoke-RestMethod -Method GET -Uri $url -Headers $headersBetikteki yer tutucular için aşağıdakileri sağlayın:
-
<WORKSPACE_GUID>Çalışma alanı kimliğinizi bulmanın en kolay yolu, çalışma alanı içindeki bir öğenin Yapı sitesinin URL'sindedir. Power BI'da olduğu gibi Doku URL'si, URL'nin sonundaki/groups/benzersiz tanımlayıcı olan çalışma alanı kimliğini içerir, örneğin:https://powerbi.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.... Alternatif olarak, çalışma alanı adının yanındaki Ayrıntılar'ı seçerek çalışma alanı kimliğini Power BI Yönetici portalı ayarlarında bulabilirsiniz.
-
SPN artık 30 gün boyunca bir Doku güvenlik belirteci ile başlatılır.
Otomasyon için gizli dizileri Azure Key Vault'ta depolayın ve gizli diziyi Azure Key Vault'tan toplayın. Key Vault gizli dizilerini
az login(RBAC veya erişim ilkesi) okuyabilen bir kimlik kullanmanız gerekir. Uygulama Kimliği, Gizli Dizi, Kiracı Kimliği, Çalışma Alanı Kimliği ve Taşıyıcı Belirteci parametreleştirerek, her komutu yeniden yazmadan bu değerleri betikler veya otomasyon işlem hatları arasında yeniden kullanabilirsiniz.Örneğin, gizli diziyi bir değişkene atayın ve parolayı düz metin olarak depolamaktan kaçının:
$spnSecret = az keyvault secret show ` --vault-name <KEYVAULT_NAME> ` --name <SECRET_NAME> ` --query value -o tsv az login --service-principal ` -u <APP_ID> ` -p $spnSecret ` --tenant <TENANT_ID>Gizli dizileri Azure Key Vault'ta depolayıp uygulama kimliği, gizli dizi, kiracı kimliği, çalışma alanı kimliği ve taşıyıcı belirtecini parametreleştirerek, her komutu yeniden yazmadan bu değerleri betikler veya otomasyon işlem hatları arasında yeniden kullanabilirsiniz.
Ardından, doku REST API çağrısıyla hizmet sorumlusu için bir belirteç oluşturmak üzere yukarıdaki adımı yineleyin.
Sınırlama
Microsoft Fabric Veri Ambarı ile hizmet sorumlularının sınırlamaları:
- Hizmet sorumlusu veya Entra ID kimlik bilgileri şu anda COPY INTO işlem hatası dosyaları için desteklenmemektedir.
-
GIT API'leri içinhizmet sorumluları desteklenmez. SPN desteği yalnızca
Dağıtım işlem hattı API'leri için mevcuttur. - Hizmet sorumlularının şu anda ambar içinde DCL işlemleri gerçekleştirmesine izin verilmiyor. Bu, hedef sorumlunun varlığından bağımsız olarak
GRANT,REVOKEveDENYkomutlarını içerir. - Hizmet sorumluları, veri ambarı içinde kullanıcı kimliklerinin otomatik olarak oluşturulmasına neden olan işlemleri tetikleyemez. Bu, sistemin normalde bir işlemin parçası olarak kullanıcı oluşturmaya çalışacağı senaryoları içerir. Örtük kullanıcı oluşturmayı tetikleyebilecek işlemlere örnek olarak şunlar verilebilir:
ALTER USER ... WITH DEFAULT_SCHEMAALTER ROLE ... ADD MEMBER