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. Üst Drive'ım 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ış" ifadesi 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. Paylaşılan sürücülerde kapsamlı bir model bulunur. Bu nedenle, her kullanıcı aynı klasördeki aynı öğe listesine 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ş kapsamlı olduğu 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ıtlayabilirsiniz.

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ü, sınırlı erişim uygulanan 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şim 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 boole 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 false olarak ayarlanarak kaldırıldıysa döndürülen değer her zaman false olur.inheritedPermissionsDisabled

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 meta verileri içeren klasöre erişme

Sınırlı erişim uygulanan klasörler, klasör içeriğine erişiminiz olmasa bile 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, view alanı ayarlanmamış olarak inheritedPermissionsDisabled=true olur. 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 sahipleri 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ı owner rolüne sahipse hiyerarşinin tamamı silinir.

Ortak Drive'larda organizer rolü, erişimin sınırlandığı 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şime sahip 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 da genişletir. Erişim modeli kullanıma sunulduktan sonra bir klasöre erişim izni verildiğinde, bu klasör hiyerarşisindeki her şeye en az aynı düzeyde erişim izni verilir. 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. Bir 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'daki öğeler için dolduruluyor. Daha önce alanlar ya ayarlanmamış ya da uygun olduğu durumlarda teamDrivePermissionDetails alanından kopyalanmıştı. Yalnızca Drive'ımdaki 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 etmenizi sağlar.

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

  2. Geliştiriciler, gelecekteki zorunlu uygulamalardan önce My Drive'da kapsamlı erişim API davranışını etkinleştirebilir. Genişletilmiş erişimde 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 öğelerde olduğu gibi çalışır. Örneğin, devralınan rolün altında erişimi kısıtlama girişimi, permissions.update() çağrıldığında başarısız olur. Benzer şekilde, izin devralındıysa permissions.delete() çağrısı başarısız olur.

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

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

Bu yöntemleri kullanırken, isteğin nerede kısıtlı 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 talebinizdeki 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ıtlanmış 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. Ardından, kullanıcıların öğeyi kullanmaya devam edebilmesi için öğenin orijinal konumuna kısayol oluşturabilirsiniz.