Wiki
İzinler
Bir gruba veya kullanıcıya bir deponun klasörleri üzerinde read / write / none erişimi verin. Desenler, öncelik, varsayılan çözümleme, izin testi.
Giriş
Permissions sekmesi, belirli bir depo için kimin hangi klasörlerde okuma veya yazma yapabileceğini tanımlar. Bir izin bir grubu veya bir kullanıcıyı hedefler, bir yol desenine uygulanır ve bir düzey (write / read / none) taşır. Rol, bir hesabın ne yapabileceğini; izin ise hangi dosyalar üzerinde olduğunu söyler.
Erişim ve roller
Sekme, süper yöneticiye (tüm depolar) ve project_admin için (yönettiği depolar) açıktır. Kurallar her zaman seçili depoya bağlıdır.
Üç düzey
| Düzey | Etki |
|---|---|
write | Kapsanan yollarda okuma ve yazma (check-out, check-in). |
read | Salt okunur: eşitleyebilir, değiştiremez. |
none | Erişim yok: daha geniş bir kural izin verecek olsa bile bir klasörü açıkça gizler. |
Erişim verme
- Depoyu, ardından Permissions sekmesini seçin.
- Seçicide özneyi seçin: bir grup veya bir kullanıcı ("Groups" ve "Users" iki alt liste). Bir kural birini veya diğerini hedefler, asla ikisini birden.
- Klasör ağacında ilgili klasörleri işaretleyin (kutular üç durumludur: tümü / kısmi / hiçbiri). Bir arama alanı ağacı filtreler.
- Görünen çubukta düzeyi (
write/read/none) seçin ve Apply düğmesine tıklayın.
Öznenin etkin kuralları bir tabloda (desen, düzey, öncelik) gösterilir ve bunları tek tek silebilirsiniz.
Kullanıcı adıyla verme
"+ By username" düğmesi, görünür listede yer almayan birine tam adını yazarak
erişim vermenizi sağlar. Bu, henüz hiçbir izne sahip olmayan bir playtester gibi, olağan kapsamınızın
dışındaki bir hesaba erişim vermenin yoludur.
Ad tam olarak eşleşmelidir (ön ek yok). Alan yalnızca tanımlayıcıyı ve adı döndürür, asla rolü döndürmez; böylece mevcut hesapları yoklamak için kullanılamaz.
Desenler ve öncelik
İşaretlenmiş bir klasör Foo/Bar, Foo/Bar/** desenine dönüşür (klasör ve içerdiği her şey,
herhangi bir derinlikte). Deponun kökü /** olur.
Her kural, klasörün derinliğine eşit otomatik bir öncelik alır (segment sayısı, kök = 0).
Bu nedenle daha özgül (daha derin) bir kural, daha genel olana üstün gelir.
Örnek: Content/** üzerinde write ve Content/Secret/** üzerinde none,
Content/ içinde her yerde yazma erişimi verir, yalnızca Secret/ hariç.
Parent/** kuralında
gruplar (gelecekteki alt klasörleri de kapsar) ve gereksiz hale gelen alt kuralları kaldırır.
Varsayılan çözümleme
Açık hiçbir kural bir yolu kapsamadığında, etkin erişim şu modeli izler:
- Varsayılan olarak, hiçbir kural eşleşmediğinde erişim read (okuma) olur.
adminveleadher yerde write haklarına sahiptir (rol atlaması).- Bir
project_admin, yönettiği depolarda write hakkına sahiptir, başka yerlerde özel bir şey yoktur. - Aksi halde en özgül kural uygulanır; o yoksa varsayılan okuma geçerlidir.
Başka bir deyişle: birine bir klasörün okunmasını yasaklamak için hiçbir şey vermemek yetmez
(varsayılan read'tir), açık bir none kuralı gerekir.
Bir izni test etme
Test Permission paneli "bu kullanıcının bu yol üzerinde hangi etkin erişimi var?" sorusunu yanıtlar.
Bir kullanıcı seçin, bir yol girin (örn. /Content/Maps/Level01.umap) ve testi çalıştırın.
Sonuç, etkin düzeyin yanı sıra kararı veren kaynağı ve deseni gösterir;
böylece bir erişimin neden verildiğini veya reddedildiğini anlarsınız.
Görme hakkınız olmayan bir kullanıcı için test, var olmayan bir hesapla aynı "bulunamadı" yanıtını döndürür; böylece hesapların varlığı açığa çıkmaz.
Sık karşılaşılan tuzaklar
"Hiçbir şey vermedim, yine de okuyabiliyor"
Bu, read varsayılanıdır. Bir klasörü kapatmak için üzerine açık bir none kuralı koyun.
İki kural birbiriyle çelişiyor
En özgül olan (en büyük derinlik) kazanır. Hangisinin karar verdiğini görmek için testi kullanın.
none kuralına rağmen bir lead yazma durumunda kalıyor
admin ve lead rolleri yol kurallarını atlar (her yerde write). Bir none
kuralı onları kısıtlamaz. Kendi depolarındaki bir project_admin için de aynısı geçerlidir.
Grup üzerinden erişim ile doğrudan erişim
Bir erişim hesabın kendisinden veya üyesi olduğu bir gruptan gelebilir. Bir kuralı kaldırmak hiçbir şeyi değiştirmiyorsa, diğer kaynağı arayın (test hangisinin geçerli olduğunu gösterir).