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.
Bu makale, yapışkan biti anlamanıza yardımcı olur ve Azure Data Lake Storage (ADLS) 2. Nesil'de yapılandırdığınızda bu ayarı denetleme ve sorun giderme hakkında bilgi sağlar.
ADLS 2. Nesil'deki yapışkan bit nedir?
ADLS 2. Nesil kullanıcılarının genellikle farklı kullanıcılar için izinleri yönetmesi gerekir ve bunu yapmak için bir erişim denetimi listesi (ACL) kullanılır. ACL, yetkilendirme hatalarına neden olabilecek yapışkan bit olarak adlandırılan belirli bir ayara sahip POSIX benzeri bir erişim denetim sistemidir. İzin denetim modu ve yapışkan bit hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 2. Nesil'de erişim denetim listeleri (ACL'ler).
Yapışkan bit, ADLS 2. Nesil depolama hesabının ACL ayarında gerekli olmayan gelişmiş bir özelliktir. Bunun yerine, adlandırılmış kullanıcılar, adlandırılmış gruplar ve sahip olan grup için en fazla izinleri sınırlamak için maske özelliğini kullanabilirsiniz. Bu, yapışkan bite benzer şekilde çalışır ve Azure portalında kolayca yapılandırılır.
403 Erişim Reddedildi yetkilendirme hatası
Aşağıdaki senaryoyu değerlendirin:
- ADLS 2. Nesil depolama hesabının kapsayıcı adlı bir kapsayıcısı ve folder/child-folder adlı bir klasör yolu vardır.
- Yetkilendirme yöntemi olarak ACL kullanırsınız.
- ADLS 2. Nesil depolama hesabının ACL ayarında, kök dizinde ve klasörde Yürütme (X) izniyle ve alt klasörde Yazma ve Yürütme (WX) izniyle yapılandırılırsınız.
- Yapışkan bit alt klasörde etkinleştirilir.
- AdLS 2. Nesil Depolama Hesabı klasör yolu kapsayıcısı/klasörü/child-folder/ içine yeni bir dosya (örneğin, test.txt) oluşturmaya veya yüklemeye çalışırsınız.
Bu senaryoda, 403 Erişim Reddedildi yetkilendirme hatası alırsınız.
Bu hatanın oluşmasının iki nedeni vardır:
- Klasör yoluna erişmek için yeterli izniniz yok.
- Yeterli izniniz var, ancak yapışkan biti etkinleştirmek bu klasör yolunun sahibi olmanıza neden olmaz.
Yapışkan bitin 403 Erişim Reddedildi hatasına neden olup olmadığını belirleme
Klasörün ve üst klasörlerin ACL ayarını doğrulayın ve ardından ACL izinleriyle ilgili yaygın senaryolarla karşılaştırın. İzinler yeterliyse, 403 hatasının nedeni yapışkan bit olabilir.
Azure CLI kullanarak yapışkan bit ayarını doğrulama
Rest API çağrısı, PowerShell komutu ve Azure CLI gibi bu ayarı denetlemenin birçok yolu vardır. Ek bir yazılımın yüklenmesini gerektirmediğinden ve komutun anlaşılması kolay olduğundan Azure CLI seçeneğini öneririz.
Yapışkan bit ayarını Azure CLI kullanarak doğrulamak için şu adımları izleyin:
Hesabınızla Azure portalında oturum açın. Bu hesabın ADLS 2. Nesil depolama hesabında Depolama Blobu Veri Sahibi rol atamasının olduğundan emin olun.
Azure portalından Cloud Shell'i seçin.
Kapsayıcı/klasör dizininin ACL'sini ve yapışkan bit ayarını almak için aşağıdaki komutu kullanın:
az storage fs access show -p folder -f container --account-name account --auth-mode loginKapsayıcı düzeyi ACL ve yapışkan bit ayarı olan kök dizinin ACL'sini ve yapışkan bit ayarını denetlemek için aşağıdaki komutu kullanın:
az storage fs access show -p / -f container --account-name account --auth-mode loginAşağıda örnek bir çıkış verilmişti:
Yanıt JSON gövdesinde öğesine odaklanın
permissions. Normalde fazladan "+" simgesine sahip 9 veya 10 bit içerir. Bu harfler hakkında daha fazla bilgi için bkz . Kullanıcılar ve kimlikler.Önceki örnekte tüm kullanıcı izinlerinin etkinleştirildiği ve yapışkan bitin etkinleştirildiği gösterilir. Bu izin gösterimini okuma hakkında daha fazla bilgi için bkz . Geleneksel Unix izinlerinin gösterimi.
Dokuzuncu harfin dört olası değeri vardır: "-", "x", "t" ve "T". Bu harfin değeri "t" veya "T" ise, yapışkan bitin etkinleştirildiği anlamına gelir. "t" yapışkan bit etkinken "x" ve yapışkan bit etkinleştirilmiş "-" olur.
"rwxrwxrwt" aşağıdakiler ile açıklanabilir:
- Sahip için r,w ve x izinleri etkinleştirilir.
- Sahip olan grup için r,w ve x izinleri etkinleştirilir.
- r,w ve x izinleri Diğer kullanıcılar için etkinleştirilir ve yapışkan bit etkinleştirilir.
Bunu daha iyi anlamak için başka bir "rwxr-xr-T" örneği aşağıda verilmiştir:
- Sahip için r,w ve x izinleri etkinleştirilir.
- Sahip olan grup için r ve x izinleri etkinleştirilir.
- Diğer kullanıcılar için yalnızca r izni etkinleştirilir ve yapışkan bit etkinleştirilir.
İzinler için Kısa formlara göre, üç harfli ("r" 4, "w" 2 ve "x "1 olarak) her grup için kısa form izni hesaplanır. Bu nedenle, "rw-rwx--x" 4+2+0, 4+2+1, 0+0+1, 671'e eşit olacaktır. Bu hesaplama kuralına bağlı olarak, yalnızca en başa dördüncü harfi eklemeniz gerekir. Yapışkan bit etkinse 1 olarak ayarlayın. Yapışkan bit devre dışıysa 0 olarak ayarlayın.
Burada bazı örnekler verilmiştir:
- rwxrwxrwt => 1777
- rwxr-xr-T => 1754
- rw-rwx--x => 0671
Yapışkan bit ayarını devre dışı bırakma/etkinleştirme
Yapışkan bit ayarını devre dışı bırakmak/etkinleştirmek için izinleri beklenen değerlere ayarlayın.
Bu ayarı değiştirmek için kullanılan Azure hesabının hedef ADLS 2. Nesil depolama hesabında Depolama Blobu Veri Sahibi rolü olmalıdır. Yapışkan bit ayarını değiştirmenin birçok olası yolu vardır. Desteklenen SDK'lar şunlardır:
| SDK | Desteklenen sürüm | Daha Fazla Bilgi |
|---|---|---|
| REST API | 2019-12-12 ve üzeri API sürümleri | Yol |
| Az PowerShell modülü | 5.6.0 ve üzeri sürümler | Azure Data Lake Storage 2. Nesil'da ACL'leri yönetmek için PowerShell kullanma |
| Azure CLI | 2.38.0 ve üzeri sürümler | Azure Data Lake Storage 2. Nesil'de ACL'leri yönetmek için Azure CLI kullanma |
| .NET SDK | 12.14.0 ve üzeri sürümler | Azure Data Lake Storage 2. Nesil'de ACL'leri yönetmek için .NET kullanma |
| Java SDK'sı | 12.11.0 ve sonraki sürümler | Azure Data Lake Storage 2. Nesil'da ACL'leri yönetmek için Java kullanma |
| Python SDK'sı | 12.8.0 ve üzeri sürümler | Azure Data Lake Storage 2. Nesil'de ACL'leri yönetmek için Python kullanma |
| JavaScript SDK'sı | 12.11.0-beta.1 ve üzeri sürümler | Azure Data Lake Storage 2. Nesil'da ACL'leri yönetmek için Node.js JavaScript SDK'sını kullanma |
| HDFS CLI | 3.3.3 ve üzeri sürümler | HDFS CLI'yi Data Lake Storage 2. Nesil ve Apache Hadoop 3.3.3 – HDFS İzinleri Kılavuzu ile kullanma |
Azure CLI ile yapışkan bit ayarını devre dışı bırakma/etkinleştirme örneği aşağıda verilmiştır.
Hedef ADLS 2. Nesil depolama hesabında Depolama Blobu Veri Sahibi rol atamasına sahip hesabınızla Azure portalında oturum açın.
Azure portalından Cloud Shell'i seçin.
Kapsayıcı/klasör dizininin ACL ve yapışkan bit ayarını "rwxrwxrwt" izinlerine ayarlamak ve yapışkan biti etkinleştirmek için aşağıdaki komutu kullanın:
az storage fs access set --permissions rwxrwxrwt -p folder -f container --account-name account --auth-mode loginKapsayıcı düzeyi ACL ve yapışkan bit ayarı olan kök dizinin ayarını değiştirmek için aşağıdaki komutu kullanın:
az storage fs access set --permissions rwxrwxrwt -p / -f container --account-name account --auth-mode login{permission notation}Önceki komutta, hem uzun hem de kısa biçimli gösterimi kabul edebilir. Bu, aşağıdaki komutun da nitelenmiş olduğu anlamına gelir:az storage fs access set --permissions 1776 -p folder -f container --account-name account --auth-mode loginAşağıda örnek bir çıkış verilmişti:
Yardım için bize ulaşın
Sorularınız varsa Azure topluluk desteğine sorabilirsiniz. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.