Sınırlı ve geniş erişim uygulanan klasörleri yönetme

Bir kullanıcı, Drive'ım klasörünün sahibidir. Klasörde, farklı dosyalara erişimi olan birden fazla kullanıcı olabilir. Bu kısıtlayıcı erişim modeli, farklı kullanıcıların aynı klasörde farklı öğe listeleri görebileceği anlamına gelir. Drive'ım üst klasörüne erişimi olan ancak bu klasördeki bir öğeye erişimi olmayan kullanıcılar için "erişim kısıtlanmış" mesajı gösterilir. Bu durum, hiyerarşide kimin erişimi olduğunu bilmeyi zorlaştırır.

Buna karşılık, ortak drive dosyalarının sahibi ortak drive'dır. Ortak Drive'lar, her kullanıcının aynı klasördeki aynı öğe listesine sahip olduğu geniş kapsamlı bir modele sahiptir.

Sınırlı erişim uygulanan klasörlerin kullanıma sunulmasıyla, ortak Drive'lardaki kapsamlı erişim modeli Drive'ım'a da taşınıyor. Bu değişiklikle birlikte, sınırlı erişim uygulanan klasörler, hem Drive'ım hem de ortak Drive'lardaki belirli bir alt klasöre erişimin kısıtlanmasına izin veren tek istisna oldu.

Bu kılavuzda, Google Drive'da erişimin sınırlandığı ve genişletildiği klasörleri nasıl yönetebileceğiniz açıklanmaktadır.

Sınırlı erişim uygulanan klasörler hakkında

Klasörleri belirli kullanıcılarla kısıtlayın.

Sınırlı erişim uygulanan klasörler, klasörleri belirli kullanıcılarla kısıtlamanıza olanak tanır. Klasörü yalnızca doğrudan klasörün izinlerine eklediğiniz kullanıcılar açabilir ve içeriğine erişebilir. Drive'ım klasörüne veya ortak drive klasörüne devralınan erişimi olan kullanıcılar (üst klasörden erişim yoluyla) Drive'da kısıtlanmış klasörü görebilir ancak açamaz. Bu özellik, hem Drive'ım hem de ortak Drive'lardaki öğelerin paylaşım davranışını daha iyi hale getirerek hassas içeriklerin bulunduğu klasörleri daha geniş kapsamda paylaşılan içeriklerle birlikte düzenlemenize olanak tanır.

Sınırlı erişim uygulanan klasörler hem Drive'ım'da hem de ortak Drive'larda kullanılabilir. Drive'ım'daki owner rolü ve ortak Drive'lardaki organizer rolü, erişimin sınırlandığı klasörlere her zaman erişebilir. Klasör kullanıcıları listesini değiştirmek için özel izin gerekmez. Klasör paylaşabilen roller, üye listelerini güncelleyebilir. Roller ve izinler hakkında daha fazla bilgi edinmek için Roller ve izinler ile Paylaşılan sürücülere genel bakış başlıklı makaleleri inceleyin.

Klasörler bir dosya türü olsa da dosyalar için sınırlı erişimin kullanılamadığını unutmayın.

Klasörde sınırlı erişimi ayarlama

Doğrudan klasör izinlerine sahip kullanıcılar, sınırlı erişim uygulanan klasörlere erişebilir. Ancak sınırlı erişimi yalnızca Drive'ım'da owner rolü ve ortak Drive'larda organizer rolü etkinleştirebilir veya devre dışı bırakabilir.

Ayrıca, Drive'ım'da writer rolüne sahip bir kullanıcının files kaynağındaki writersCanShare boolean alanı true olarak ayarlanmışsa bu kullanıcı da özelliği etkinleştirebilir veya devre dışı bırakabilir.

Bir klasöre erişimi sınırlamak için files kaynağındaki boolean inheritedPermissionsDisabled alanını true olarak ayarlayın. true olduğunda yalnızca owner rolü, organizer rolü ve doğrudan klasör izinlerine sahip kullanıcılar erişebilir.

Devralınan izinleri tekrar etkinleştirmek için inheritedPermissionsDisabled ayarını false olarak belirleyin.

Klasörde erişimi sınırlama iznini doğrulama

Bir klasöre erişimi sınırlayıp sınırlayamayacağınızı kontrol etmek için files kaynağındaki capabilities.canDisableInheritedPermissions ve capabilities.canEnableInheritedPermissions alanlarının Boole değerlerini inceleyin. Bu ayarlar, inheritedPermissionsDisabled alanı aracılığıyla bir klasöre erişimi sınırlama izninizin olup olmadığını onaylar.

capabilities hakkında daha fazla bilgi için Dosya özelliklerini anlama başlıklı makaleyi inceleyin.

Sınırlı erişim uygulanan bir klasörün alt öğelerini listeleme

Bir klasörün alt öğelerini listeleyip listeleyemeyeceğinizi kontrol etmek için capabilities.canListChildren Boole alanını kullanın.

Öğe klasör değilse veya istekte bulunan kullanıcının klasör içeriğine erişimi inheritedPermissionsDisabled değeri false olarak ayarlanarak kaldırıldıysa döndürülen değer her zaman false olur.

Klasörün içeriğine erişiminiz kaldırıldıysa files.get() ve files.list() yöntemleriyle klasör meta verilerine erişmeye devam edebilirsiniz. Erişimin sınırlı olduğunu onaylamak için yanıt gövdesini kontrol ederek öğenin application/vnd.google-apps.folder MIME türüne sahip bir klasör olup olmadığını ve capabilities.canListChildren alanının false olarak ayarlanıp ayarlanmadığını görün. Böyle bir klasörün alt öğelerini listelemeye çalışırsanız sonuç her zaman boş olur.

Sınırlı erişim uygulanan klasör meta verilerine erişme

Sınırlı erişime sahip klasörler, klasör içeriğine erişiminiz yoksa klasör meta verilerini görüntülemenize olanak tanır.

Bir kullanıcının erişimini belirlemek için permissions kaynağı kullanılırken hem Drive'ım hem de yalnızca meta verilere erişim izni veren ortak Drive klasörleri, yanıt gövdesinde şu değerleri içerir: inheritedPermissionsDisabled=true ve view=metadata. Rol her zaman reader olarak ayarlanır. view alanı yalnızca view'ya ait izinler için doldurulur. Daha fazla bilgi için Görüntülemeler başlıklı makaleyi inceleyin.

permissionDetails alanındaki tüm girişlerde, iznin devralındığını ve klasör içeriklerine doğrudan erişim izni verilmediğini belirtmek için inherited alanı true olarak ayarlanmıştır.

Hem klasör içeriğine hem de meta verilere erişim izni vermek için inheritedPermissionsDisabled alanını false olarak ayarlayın veya rolü reader ya da daha yüksek bir değere güncelleyin.

Son olarak, bir izin önce bir klasörde devralma özelliği devre dışı bırakılarak sınırlandırıldıysa (inheritedPermissionsDisabled=true) ve ardından izin doğrudan klasöre geri eklendiyse yanıt gövdesindeki değerler inheritedPermissionsDisabled=true olur ve view alanı ayarlanmamış olarak kalır. Klasör bir ortak Drive'da bulunuyorsa permissionDetails listesinde, iznin devralınmadığını belirtmek için inherited alanı false olarak ayarlanmış bir giriş bulunur. Bu izin, diğer izinler gibi hem klasör içeriklerine hem de meta verilere erişim sağlar.

Sınırlı erişim uygulanan klasörleri silme

Erişimin sınırlandığı klasörleri files kaynağında files.delete() yöntemini kullanarak silebilirsiniz.

Drive'ım bölümünde klasör hiyerarşileri yalnızca öğenin sahibi tarafından silinebilir. Kullanıcılar başkalarına ait ve erişimin sınırlandığı klasörler içeren bir hiyerarşiyi silerse bu klasörler, sahibinin Drive'ım bölümüne taşınır.

Kullanıcının owner rolü varsa hiyerarşinin tamamı silinir.

Ortak Drive'larda organizer rolü, sınırlı erişim uygulanan klasörler içerse bile hiyerarşileri silebilir. fileOrganizer rolü, sınırlı erişim uygulanan klasörler içeren bir hiyerarşiyi silerse sonuç, bu kullanıcının sınırlı erişim uygulanan klasörlere tekrar fileOrganizer olarak eklenip eklenmediğine bağlıdır. Bu durumda hiyerarşinin tamamı silinir. Aksi takdirde, sınırlı erişim uygulanan klasörler ortak Drive'ın kök klasörüne taşınır.

Kapsamlı erişim hakkında

Sınırlı erişim uygulanan klasörlerin kullanıma sunulması, ortak Drive'lardaki kapsamlı erişim modelini Drive'ım'a genişletir. Erişim modeli kullanıma sunulduktan sonra bir klasöre erişiminiz olması, bu klasör hiyerarşisindeki her şeye en az aynı düzeyde erişiminiz olduğu anlamına gelir. Sınırlı erişim uygulanan klasörler, hem Drive'ım hem de ortak Drive'lardaki belirli bir alt klasöre erişimi kısıtlamaya olanak tanıyan tek istisnadır. Bu, klasörünüze sınırlı erişim verilmediği sürece üst klasörden devralınan erişimi artık kaldıramayacağınız anlamına da gelir. Bu durumda Drive API bir hata yanıtı döndürür. Hiyerarşi içinde daha ayrıntılı erişim denetimi tanımlamak için klasörde sınırlı erişim ayarlayabilirsiniz.

Kapsamlı erişime uyum sağlama

Geliştiricilerin kapsamlı erişime uyum sağlamasını kolaylaştırmak için Google Drive API'de çeşitli iyileştirmeler yapıldı:

  1. permissions kaynağındaki permissionDetails[] alanı artık Drive'ım bölümündeki öğeler için dolduruluyor. Daha önce alanlar ya ayarlanmamış ya da uygun olduğu durumlarda teamDrivePermissionDetails alanından kopyalanmıştı. Yalnızca Drive'ım bölümündeki permissionType ve inherited alanları doldurulur.

    permissionDetails[].inherited alanı, bir iznin öğenin üst öğesinden devralınıp devralınmadığını gösterir. Bu özellik, belirli rollerin (ör. reader) üst öğeden devralınıp devralınmadığını ve öğeye doğrudan daha yüksek bir rolün (ör. writer) verilip verilmediğini tespit etmenize olanak tanır.

    Bir öğenin izinleri görüntülenirken permissionDetails[] alanı birden fazla giriş içerebilir. Varsa bu kapsam için öğede doğrudan izinle ilgili bir giriş ve ardından öğede devralınan veya üye izinleriyle ilgili girişler bulunur.

  2. Geliştiriciler, gelecekteki zorunlu uygulamalardan önce My Drive'da kapsamlı erişim API davranışını etkinleştirebilir. Genişletilmiş erişimle ilgili gelecekte yapılacak değişikliklerin uygulamanızı etkilememesi için enforceExpansiveAccess istek parametresini true olarak ayarlayabilirsiniz.

    Şimdi etkinleştirdiğinizde API, Drive'ım klasöründeki öğeler için ortak Drive'lardaki öğelerle aynı şekilde çalışır. Örneğin, permissions.update() çağrılırken devralınan rolün altındaki erişimi kısıtlama girişimi başarısız olur. Benzer şekilde, izin devralındıysa permissions.delete() çağrısı başarısız olur.

Kısıtlı erişimi tespit edip önleme

Uygulamanız, permissions.update() veya permissions.delete() yöntemlerini kullanırken Drive'ım klasörlerinizde kısıtlı erişim (kullanıcının üst Drive'ım klasörüne erişimi var ancak bu klasördeki bir dosyaya erişimi yok) oluşturuyor olabilir.

Bu yöntemleri kullanırken, isteğin nerede kısıtlanmış erişim oluşturabileceğini görmek için permissions kaynağındaki alanları inceleyebilir ve bu tür istekleri göndermekten kaçınabilirsiniz. Bu durumu tespit etmek için isteğinizdeki enforceExpansiveAccess alanını kullanın.

Ayrıca, uygulamanız klasörlerinizde sınırlı erişim oluşturduysa aşağıdaki adımları uygulayabilirsiniz:

  1. Kısıtlı erişimi kaldırmak için klasör hiyerarşisinde ilerleyin. Bunun yerine sınırlı klasör erişimi ayarlamanız gerekir.

  2. Paylaşımını kaldırmaya çalıştığınız öğe bir dosyaysa ara klasör oluşturabilir, bu klasöre sınırlı erişim ayarlayabilir ve dosyayı yeni klasöre taşıyabilirsiniz.

  3. Sınırlı erişim uygulanan klasörleri kullanmak istemiyorsanız ancak bazı erişimleri kaldırmanız gerekiyorsa dosyayı özel bir klasöre (ör. Drive'ım kök klasörü) taşıyabilirsiniz. Daha sonra, kullanıcıların öğeyi kullanmaya devam edebilmesi için öğenin orijinal konumuna kısayol oluşturabilirsiniz.