Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Anonim veri erişimi, bir Fabric uygulamasının seçilen veri işlemlerini giriş yapmamış kullanıcılara açığa çıkarmasına olanak tanır. Bu erişimi Fabric kiracı seviyesinde ve her veri modelinde kontrol ediyorsunuz. Anonim erişim, kimlik doğrulamanın yerine geçmez, bir yetkilendirme seçeneğidir. Aynı uygulama, bazı kurumlara halka açık erişim sağlarken, kullanıcıların diğer kuruluşlar veya operasyonlar için giriş yapmasını gerektirebilir.
Important
Uygulama URL'sine ulaşabilen herkes, role anonymous atanan işlemleri kullanabilir. Bu rol aracılığıyla kişisel, gizli, finansal veya iç iş verilerini açığa çıkarmayın.
Kullanım örnekleri
Bir uygulamanın giriş şartı olmadan sınırlı işlevsellik sağlaması gerektiğinde anonim veri erişimini düşünün.
| Scenario | Örnek erişim | Önerilen kapsam |
|---|---|---|
| Kamuya açık referans verileri | Ürün kataloglarını, takvimlerini veya kamuya açık veri setlerini görüntüleyin | read |
| Geri bildirim toplama | Yorum veya anket yanıtları gönderin | create |
Bir uygulamanın kullanıcıyı tanımlaması, sahipliğini zorlaması veya kimlik taleplerine dayalı erişim sağlaması gerektiğinde anonim erişim uygun değildir. Bu senaryolar için doğrulanmış roller kullanın.
Anonim erişim nasıl çalışır
Anonim veri erişimi bağımsız kontroller kullanır:
- Kiracı ortamı: Bir Fabric kiracı yöneticisi, organizasyon veya seçilmiş güvenlik grupları için anonim veri erişimi tanır.
-
Veri modeli rolü: Bir varlık
anonymous, bu rolü kullanarak kimlik doğrulaması yapılmamış kullanıcıların gerçekleştirebileceği işlemleri tanımlar.
Kiracı ayarı, organizasyon genelinde sınırdır. Uygulama ayarı, anonim taleplerin uygulamanın veri servisine ulaşmasına olanak tanır. Varlık rolü, bu taleplerin hangi veri ve işlemlere erişebileceğini belirler. Bu kontrollerden sadece birini veya ikisini etkinleştirmek anonim erişim sağlamaz.
Kiracı ayarını etkinleştir
Bir Fabric kiracı yöneticisi, uygulama geliştiricilerinin kullanabilmesi için anonim veri erişimini etkinleştirmelidir. Ayar varsayılan olarak devre dışıdır.
Fabric yönetim portalında oturum açın.
Kiracı ayarlarını seç.
Fabric apps (önizleme) bölümünde Anonim veri erişimini bulabilirsiniz.
Geçiş düğmesini Etkin olarak ayarlayın.
Ayarı tüm organizasyona veya belirli güvenlik gruplarına uygulayın.
seçin, sonra daUygula'yı seçin.
Değişikliklerin etkisi birkaç dakika sürebilir. Ayarı güvenlik gruplarıyla sınırladığınızda, uygulama geliştiricisinin veya uygulama sahibinin izin verilen bir gruba dahil olduğunu doğrulayın.
Bir veri modelinde anonim erişimi tanımlayın
Dekoratörü bir varlıkta kullanın @role ve rol adı olarak belirtin anonymous . İkinci argüman izin verilen veri işlemlerini tanımlar: create, read, update, veya delete.
Parameters
| Parameter | Türü | Açıklama |
|---|---|---|
roleName |
string |
Veya özel uygulama rolü gibi authenticated rol adı |
actions |
string \| string[] |
Tek eylem veya dizi: create, read, update, delete, veya * tümü için |
options |
object |
, checkve include özelliklerine sahip excludeisteğe bağlı nesne |
Aşağıdaki örnek, kimlik doğrulaması yapılmamış kullanıcıların kamuya açık duyuruları okumasına olanak tanır:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'read')
export class Announcement {
@uuid() id!: string;
@text() title!: string;
@text() content!: string;
}
Rol anonymous , giriş yapmış bir kimlik olmadığı için kimlik talepleri kullanmaz. Senaryonuzu destekleyen en dar işlem setini tanımlayın.
Kullanıcıların veri göndermesine izin verin
Geri bildirim formu için, create , veya read erişim updatedeletevermeden erişim verin:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'create')
export class Feedback {
@uuid() id!: string;
@text() comment!: string;
}
Bu model, kullanıcıların geri bildirim göndermesine izin veriyor, ancak gönderilen yazıları görüntüleme veya değiştirme imkânı vermiyor.
Birden fazla operasyona izin ver
Bir senaryo birden fazla işlem gerektirdiğinde bir dizi geçirilir:
import { boolean, entity, role, text, uuid } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', ['create', 'read', 'update'])
export class SharedTodo {
@uuid() id!: string;
@text() title!: string;
@boolean({ default: false }) completed!: boolean;
}
Bu uygulamaya erişimi olan herkes paylaşılan her işi oluşturabilir, görüntüleyebilir ve güncelleyebilir. Todos'u silemiyorlar çünkü delete dahil değil. Bu tür geniş izinleri yalnızca kullanıcıların erişimi paylaşması beklenen halka açık veya geçici veriler için kullanın.
Anonim ve doğrulanmış rolleri birleştirin
Açık ve giriş yapmış kullanıcılar farklı izinler gerektirdiğinde her iki rolü de bir varlığa uygulayın. Örneğin, herkes bir blog yazısını okuyabilir, ancak sadece giriş yapmış sahibi değiştirebilir:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'read')
@role('authenticated', ['create', 'update', 'delete'], {
policy: (claims, item) => claims.sub.eq(item.createdBy),
})
export class BlogPost {
@uuid() id!: string;
@text() title!: string;
@text() content!: string;
@text() createdBy!: string;
}
Anonim rol, kimlik iddialarını değerlendirmeden halka açık okumalara izin verir. Doğrulanmış rol, giriş yapan kullanıcının iddialarını kullanarak kullanıcının sahip olduğu içeriklerdeki değişiklikleri sınırlar.
Güvenlik kılavuzu
- Minimum erişim sağlanır. Tercih eder
readya dacreateyalnız. Yardımupdateya dadeletesadece kamu iş akışı gerektirdiğinde verilebilir. - Açık alanları sınırlayın. Anonim kullanıcıların ihtiyaç duymadığı alanlara erişimi engellemek için kullanılan
includeveyaexcludeseçenekler kullanın. Daha fazla bilgi için bkz. Veri izinlerini tanımla. - Koruma için uygulama arayüzüne güvenmeyin. İzinler, veri modelinde tanımlanmalıdır çünkü arayanlar ön yüzünüzü kullanmadan istek gönderebilir.
- Güvenilmez girişlere karşı plan yapın. Gönderilen verileri doğrulamak ve spam, otomasyon ve beklenmedik trafik için kamuya açık yazma işlemlerini tasarlamak.
- Test operasyonları reddedildi. Rollerden çıkarılan işlemlerin, oturum olmadan kullanıcılar için reddedildiğini doğrulayın.
Anonim erişimi devre dışı bırak
Bir uygulamadan kamuya açık erişimi kaldırmak için:
- Her veri modelinden rolü
anonymousçıkarın. - Uygulamayı çalıştırarak
npx rayfin upyeniden dağıtmak için .
Bir kiracı yöneticisi, kiracı ayarını devre dışı bırakarak kiracı içindeki tüm uygulamalar için anonim veri erişimini engelleyebilir ve seçilen güvenlik gruplarına erişimi sınırlayabilir.