Ana içeriğe geç

Veri Sandbox örnekleri

Veri sanal alanları şunları yapmanızı sağlar:

Aşağıdaki tüm örnekler için kurulum

Aşağıdaki örnekler, Patrona ile birlikte gelen Örnek veritabanını kullanır. İşte temel kurulum:

  1. Tüm kullanıcılar grubu için izinleri engelleyin: Komut paletini açmak için cmd/ctrl + k tuşlarına basın ve "İzinler"i arayın. İzinler > Veri sekmesinde. Tüm kullanıcılar grubuna tıklayın. Örnek veritabanı için, Tüm Kullanıcıların Verileri görüntüle iznini "Engellendi" olarak ayarlayın.

  2. Müşteriler adlı bir grup oluşturun. Cmd/ctrl + k tuşlarına basın ve Kişi ayarlarını arayın. [Müşteriler adlı bir grup oluşturun.

  3. Cloyd Beer için bir kullanıcı hesabı oluşturun. Örnek Veritabanımızdaki Kişiler tablosundan rastgele bir kişi için bir kullanıcı hesabı oluşturacağız. Örnek veritabanının Kişiler tablosundan Cloyd Beer ile devam edelim.

  4. Hesaba bir kullanıcı özelliği ekleyin: Cloyd'un hesabına bir kullanıcı özelliği ekleyeceğiz. Verileri kullanıcı kimliğine göre filtreleyebilmek istediğimiz için, Cloyd'un kimliğini Örnek veritabanının Kişiler tablosundan alıp bir kullanıcı özelliği olarak ekleyeceğiz: user_id: 2499 (2499, Bay Beer'in Örnek veritabanındaki kimliğidir).

Kullanıcı detayları

  1. Bay Beer'i Müşteriler grubuna ekleyin: Bkz. kişileri gruplara ekleme.

  2. Yalnızca Yöneticiler tarafından görüntülenebilen bir koleksiyon oluşturun.. "Yönetici koleksiyonu" olarak adlandırın. Bu koleksiyonu, örnek 2 ve 3'teki tabloları sanal alana almak için kullandığımız SQL sorularını depolamak için kullanacağız. Bkz. Koleksiyon izinleri.

Temel sanal alan kurulumu - satırları kullanıcı özelliklerine göre filtreleme

Bu örnekte, Siparişler tablomuzu, Müşteriler grubumuzdaki herkesin yalnızca Siparişler tablosunda Kullanıcı Kimliği sütununun kişinin user_id özelliğiyle eşleştiği satırları görebileceği şekilde sanal alana alacağız.

  1. Yönetim ayarları > İzinler > veri'ye gidin. "Müşteriler" grubuna tıklayın.

  2. Verileri görüntüle'yi Ayrıntılı olarak ayarlayın. Örnek Veritabanı için, Müşteri grubunun Verileri görüntüle iznini "Ayrıntılı" olarak ayarlayın. "Ayrıntılı" olarak ayarlamak, Müşteri grubu için tek tek tablolarda izinler ayarlamamıza olanak tanır.

  3. Siparişler ve Kişiler tablolarını sanal alana alın. Burada, Siparişler ve Kişiler tablolarındaki Verileri görüntüle izinlerini "Sanal Alana Alınmış" olarak ayarlayacağız. Ve kişilerin verilerini kendi başlarına almalarını (soru sorarak, panolar oluşturarak vb.) istediğimiz için, Sorgu oluşturma izinlerini de "Yalnızca sorgu oluşturucu" olarak ayarlayacağız.

Sanal alana alınmış erişim izni verin

  1. Her tablo için bir sütuna göre filtreleyin. Her tablo için Patrona bize "Bu tabloyu bu gruptaki kullanıcılar için nasıl filtrelemek istiyorsunuz?" diye soracaktır. Her durumda, varsayılan seçimi koruyacağız: "Bu tablodaki bir sütuna göre filtrele". Siparişler tablosu için, Müşteriler grubundaki kişiler için user_id özelliğine eşit olarak ayarlayacağımız Kullanıcı Kimliği sütununa göre filtreleyeceğiz.

Sanal alan ayarları

Kişiler tablosu için, aynı user_id özelliğine eşit olarak ayarlayacağımız Kimlik sütununa göre filtreleyeceğiz.

  1. Değişikliklerinizi kaydedin. Aksi takdirde, her şey boşunadır.

Temel sanal alanı test etme

Bay Beer'in sanal alanını test etmek için, yeni bir gizli/özel tarayıcı penceresi açıp Bay Beer'in hesabını kullanarak oturum açacağız.

  1. Cloyd Beer olarak oturum açın.
  2. Gözat > Veritabanları'na tıklayın.
  3. Siparişler tablosuna tıklayın.
  4. Patrona'nın yalnızca Bay Beer'in verdiği siparişleri, yani 2499 Kullanıcı Kimliği ile ilişkili siparişleri görüntülediğini doğrulayın.

Bay Beer, sanal alana alınmış Siparişler verilerini içeren herhangi bir grafik, pano veya hatta otomatik X-ışını keşifleri görüntülerse, Patrona bu sonuçları yalnızca Bay Beer'in görmesine izin verilen verileri gösterecek şekilde filtreleyecektir. Bay Beer, yeni sorular sormak için sorgu oluşturucuyu kullandığında, sonuçları sanal alana alınmış verilerle sınırlı olacaktır.

Özel sanal alan kurulumları

Bir sanal alan oluşturmanın ikinci yolu, görüntülenecek bir tablonun özelleştirilmiş bir görünümünü tanımlamak için kaydedilmiş bir soru kullanmaktır. Bir tabloya sanal alana alınmış erişimi olan biri bu tabloyu sorguladığında, Patrona arka planda sorguları için kaynak veri olarak oluşturduğunuz kaydedilmiş soruyu kullanacaktır.

Şunları yapabilirsiniz:

Özel örnek 1: sütunları filtreleme

Bu örnekte, Bay Beer ve diğer Müşterilerin herhangi bir satırı görüntüleyebilmesi, ancak yalnızca bazı sütunları görüntüleyebilmesi için Kişiler adlı bir tablomuz var.

Orijinal Kişiler tablosu

  1. Kişiler tablosundaki sütunları sınırlayan bir sorgu oluşturun. Yerel/SQL düzenleyicisini kullanarak, Müşteriler grubumuzun görmesini istediğimiz tablodaki sütunları döndüren bir sorgu yazacağız, örneğin:
  ID,
Ad,
'Oluşturulma Tarihi',
Durum
FROM
Kişiler

İşte sonuçlar:

Filtreleme sorusu

Bu soruyu "Filtrelenmiş kişiler tablosu" olarak adlandıracağız. Kurulumda oluşturduğunuz "Yöneticiler koleksiyonu"na (veya yalnızca Yöneticilerin erişimi olan herhangi bir koleksiyona) kaydedin.

  1. Bu tablo için özel bir görünüm oluşturmak için kaydedilmiş bir soru kullanın: İzinler bölümüne gideceğiz ve bu gruba bu tabloya sanal alana alınmış erişim izni vereceğiz. Bu sefer ikinci seçeneği seçeceğiz, "Bu tablo için özel bir görünüm oluşturmak için kaydedilmiş bir soru kullanın" ve az önce oluşturduğumuz kaydedilmiş soruyu ("Filtrelenmiş kişiler tablosu") seçeceğiz, örneğin:

Sanal alan seçenekleri

  1. Değişiklikleri kaydedin, yoksa emeğimiz boşa gider.

  2. Her şeyin doğru çalıştığını doğrulayın. Bay Beer olarak oturum açabiliriz ve Kişiler tablosunu açmaya gittiğimizde, Bay Beer'in bunun yerine filtreleme sorusunun sonuçlarını görebileceğini görmeliyiz.

Bay Beer, bu sanal alana alınmış tablodan veri kullanan bir grafik görüntülerse, Patrona filtrelemeyi de uygulayacaktır. Grafik, sanal alana alınmış tablo tarafından hariç tutulan herhangi bir sütun kullanıyorsa, grafik Bay Beer için YÜKLENMEZ.

Özel örnek 2: Satırları ve sütunları filtreleme

Kişilerin hangi sütunları ve satırları görüntüleyebileceğini belirtmek istiyorsak, bir tabloyu bir değişken içeren bir SQL sorusuna göre sanal alana alabilir ve bu değişkeni bir kullanıcı özelliğiyle ilişkilendirebiliriz. Bunu yapmak için, Müşteriler grubumuza Siparişler tablosunun özel bir görünümünü vereceğiz, ancak her kişinin yalnızca user_id kullanıcı özelliğine göre satırları görmesine izin vereceğiz.

  1. Bir değişken içeren bir SQL sorusu oluşturun. Siparişler tablosundaki sütunların yalnızca bazılarını seçen bir sorgu oluşturacağız ve ardından Cloyd Beer'in user_id kullanıcı özelliğiyle ilişkilendirebileceğimiz bir değişken içeren bir WHERE yan tümcesi ekleyeceğiz.

Filtreleme sorusu

Ve işte kod:

{{'
SELECT
id,
created_at,
product_id,
quantity,
total,
user_id
FROM
orders
WHERE
user_id = {{user_id}}
'}}

Kurulumda oluşturduğunuz "Yöneticiler koleksiyonu"na (veya yalnızca Yöneticilerin erişimi olan herhangi bir koleksiyona) kaydedin.

  1. Sanal alanı ayarlayın: İzinler sekmesine dönün. Cloyd Beer'in Müşteri grubunu seçin ve Siparişler tablosu için Verileri görüntüle erişimini Sanal Alana Alınmış olarak ayarlayın. Bu tablo için özel bir görünüm oluşturmak için kaydedilmiş bir soru kullanın seçeneğini belirleyin. Sanal alana alınmış erişim modalını açın ve ikinci seçeneği seçin ve filtreleme sorumu seçin, sorumuzda tanımladığımız değişkeni bir kullanıcı özelliğiyle eşlememe olanak tanıyan ek bir bölüm göreceğiz:

Sanal alan seçenekleri

  1. Değişikliklerinizi kaydedin. Veya tüm umutları terk edin.

  2. Sanal alanı doğrulayın: Şimdi, Bay Beer olarak oturum açıp Siparişler tablosuna baktığımızda, Bay Beer yalnızca filtreleme sorusuna dahil ettiğimiz sütunları görecek ve satırlar sorunun WHERE yan tümcesindeki değişken tarafından belirtildiği gibi filtrelenecektir:

Sonuçlar

Daha fazla okuma