| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?> |
| <!-- English Revision: 1738542 --> |
| <!-- ===================================================== |
| Translated by: Umut Samuk <umut belgeler.org> |
| Reviewed by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> |
| ========================================================== --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="auth.xml.meta"> |
| <parentdocument href="./">Nasıllar ve Öğreticiler</parentdocument> |
| |
| <title>Kimlik Doğrulama ve Yetkilendirme</title> |
| |
| <summary> |
| <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir. |
| Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye |
| ulaşacaklarına müsaade edilmesi işlemidir.</p> |
| |
| <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi |
| Nasıl</a> belgesine bakınız.</p> |
| </summary> |
| |
| <section id="related"><title>İlgili modüller ve Yönergeler</title> |
| |
| <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül |
| vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p> |
| |
| <ul> |
| <li>Kimlik Doğrulama türü (bkz. <directive module="mod_authn_core" |
| >AuthType</directive> yönergesi) |
| <ul> |
| <li><module>mod_auth_basic</module></li> |
| <li><module>mod_auth_digest</module></li> |
| </ul> |
| </li> |
| |
| <li>Kimlik Doğrulayıcı (bkz. |
| <directive module="mod_auth_basic">AuthBasicProvider</directive> |
| ve <directive module="mod_auth_digest" |
| >AuthDigestProvider</directive> yönergeleri) |
| <ul> |
| <li><module>mod_authn_anon</module></li> |
| <li><module>mod_authn_dbd</module></li> |
| <li><module>mod_authn_dbm</module></li> |
| <li><module>mod_authn_file</module></li> |
| <li><module>mod_authnz_ldap</module></li> |
| <li><module>mod_authn_socache</module></li> |
| </ul> |
| </li> |
| <li>Yetkilendirme (bkz. |
| <directive module="mod_authz_core">Require</directive> yönergesi) |
| <ul> |
| <li><module>mod_authnz_ldap</module></li> |
| <li><module>mod_authz_dbd</module></li> |
| <li><module>mod_authz_dbm</module></li> |
| <li><module>mod_authz_groupfile</module></li> |
| <li><module>mod_authz_host</module></li> |
| <li><module>mod_authz_owner</module></li> |
| <li><module>mod_authz_user</module></li> |
| </ul> |
| </li> |
| </ul> |
| |
| <p>Bu modüllere ek olarak, <module>mod_authn_core</module> ve |
| <module>mod_authz_core</module> modülleri bulunur. Bu modüller |
| yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri |
| gerçekler.</p> |
| |
| <p><module>mod_authnz_ldap</module> modülü kimlik doğrulama ve |
| yetkilendirme işlemlerinin ikisini birden gerçekleştirir. |
| <module>mod_authz_host</module> modülü bu işlemleri sunucu adına, IP |
| adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir. |
| Ancak kimlik doğrulama sisteminin bir parçası değildir. |
| <code>mod_access</code> ile geriye uyumluluk için |
| <module>mod_access_compat</module> diye bir modül daha vardır.</p> |
| |
| <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim |
| Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından |
| bahsetmektedir.</p> |
| </section> |
| |
| <section id="introduction"><title>Giriş</title> |
| <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas |
| bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz |
| kişilerin sadece dilediğiniz sayfaları görüntülemesini |
| sağlayabilirsiniz.</p> |
| |
| <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız |
| "standart" yolları içermektedir.</p> |
| |
| <note><title>Bilginize:</title> |
| <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik |
| doğrulamasına ilaveten <module>mod_ssl</module> modülünü de |
| kullanabilirsiniz.</p> |
| </note> |
| |
| </section> |
| |
| <section id="theprerequisites"> |
| <title>Ön gereksinimler</title> |
| <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma |
| dosyasında (genellikle <directive module="core" |
| type="section">Directory</directive> bölümünde) ya da dizin içi |
| yapılandırma dosyalarında (<code>.htaccess</code> dosyaları) |
| bulunmak zorundadır.</p> |
| |
| <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı |
| tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine |
| koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır. |
| Bunun için, dizin içi yapılandırma dosyalarının içine hangi |
| yönergelerin konacağını belirleyen <directive module="core" |
| >AllowOverride</directive> yönergesi kullanılır.</p> |
| |
| <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen |
| şekilde bir <directive module="core" |
| >AllowOverride</directive> yönergesine ihtiyacınız olacaktır:</p> |
| |
| <highlight language="config">AllowOverride AuthConfig</highlight> |
| |
| <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına |
| koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p> |
| |
| <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin |
| yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da |
| zor olmamakla birlikte bu noktaya gelindiğinde konuyu |
| netleştireceğiz.</p> |
| |
| <p>Ayrıca <module>mod_authn_core</module> ve |
| <module>mod_authz_core</module> modülleri ya <code>httpd</code> |
| çalıştırılabilirinin içinde derlenmiş olmalı ya da |
| <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu |
| iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme |
| kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri |
| ve işlevselliği sağlar.</p> |
| |
| </section> |
| |
| <section id="gettingitworking"><title>Çalışmaya Başlama</title> |
| <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için |
| gereken temel bilgiler verilecektir.</p> |
| |
| <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl |
| yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre |
| değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız. |
| Başlangıç için parolaları bir metin dosyasında tutacağız.</p> |
| |
| <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları |
| parola dosyasını indiremezler. Örneğin belgeleriniz |
| <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola |
| dosyanızı <code>/usr/local/apache/passwd</code> dizininde |
| tutabilirsiniz.</p> |
| |
| <p>Dosyayı oluşturmak için Apache ile gelen |
| <program>htpasswd</program> uygulamasını kullanacağız. Bu uygulama |
| Apache'nin kurulumunda belirtilen <code>bin</code> dizininde |
| bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız, |
| çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p> |
| |
| <p>Bir dosya oluşturmak için şunları yazın:</p> |
| |
| <example> |
| htpasswd -c /usr/local/apache/passwd/passwords umut |
| </example> |
| |
| <p><program>htpasswd</program> size parola soracaktır arkasından da |
| teyit etmek için parolayı tekrar girmenizi isteyecektir:</p> |
| |
| <example> |
| # htpasswd -c /usr/local/apache/passwd/passwords umut<br /> |
| New password: parolam<br /> |
| Re-type new password: parolam<br /> |
| Adding password for user umut |
| </example> |
| |
| <p>Eğer <program>htpasswd</program> normal yollar üzerinde değilse |
| çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz |
| gerekecektir. Dosyanın öntanımlı kurulum yeri: |
| <code>/usr/local/apache2/bin/htpasswd</code></p> |
| |
| <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim |
| izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi |
| <code>httpd.conf</code>dosyasını düzenleyerek ya da bir |
| <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin, |
| <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı |
| amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri |
| <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine |
| veya <code>httpd.conf</code> içindeki <Directory |
| "/usr/local/apache/htdocs/secret"> bölümüne koyabilirsiniz.</p> |
| |
| <highlight language="config"> |
| AuthType Basic |
| AuthName "Gizli Dosyalar" |
| # (Aşağıdaki satırın kullanımı isteğe bağlıdır) |
| AuthBasicProvider file |
| AuthUserFile "/usr/local/apache/passwd/passwords" |
| Require user umut |
| </highlight> |
| |
| <p>Bu yönergeleri tek tek inceleyelim. |
| <directive module="mod_authn_core">AuthType</directive> yönergesi |
| kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En |
| çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem |
| <module>mod_auth_basic</module> modülüyle gerçeklenmiştir. Temel |
| (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın |
| şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı |
| <module>mod_ssl</module> eşliğinde kullanılmadığı sürece yüksek |
| hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka |
| kimlik doğrulama yöntemini daha destekler: <code>AuthType |
| Digest</code>. Bu yöntem <module>mod_auth_digest</module> tarafından |
| gerçeklenmişti ve çok daha güvenli olacağı düşünülmüştü. Bu artık |
| geçerliliğini yitirdiğinden bağlantının bundan böyle |
| <module>mod_ssl</module> ile şifrelenmesi gerekmektedir.</p> |
| |
| <p><directive module="mod_authn_core">AuthName</directive> yönergesi |
| ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da |
| belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır. |
| Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog |
| kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik |
| doğrulamalı alan için gönderilecek parolayı belirlerken istemci |
| tarafından kullanılır.</p> |
| |
| <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında |
| kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli |
| Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola |
| özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek |
| aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak |
| gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı, |
| her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması |
| gerekir.</p> |
| |
| <p><directive module="mod_auth_basic">AuthBasicProvider</directive> |
| yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu |
| durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik |
| doğrulaması için <module>mod_authn_dbm</module> ya da |
| <module>mod_authn_dbd</module> gibi farklı bir kaynak seçecekseniz |
| bu yönergeyi kullanmanız gerekecektir.</p> |
| |
| <p><directive module="mod_authn_file">AuthUserFile</directive> |
| yönergesi <program>htpasswd</program> ile oluşturduğumuz parola |
| dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda |
| kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği |
| için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş |
| olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı |
| dosyasında depolama özelliğine de sahiptir. Bu amaçla, |
| <module>mod_authn_dbm</module> modülünün |
| <directive module="mod_authn_dbm">AuthDBMUserFile</directive> |
| yönergesi kullanılabilir. Bu dosyalar <program>dbmmanage</program> ve |
| <program>htdbm</program> programı ile oluşturulabilir ve değiştirilebilir. |
| <a href="http://modules.apache.org/">Apache modülleri |
| Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda |
| başka kimlik doğrulama türü de vardır.</p> |
| |
| <p>Son olarak <directive module="mod_authz_core">Require</directive> |
| yönergesi, sunucunun bu bölgesine erişimine izin verilen |
| kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili |
| kısmını sağlar. Bir sonraki bölümde <directive |
| module="mod_authz_core">Require</directive> yönergesini kullanmanın |
| çeşitli yoları üzerinde duracağız.</p> |
| </section> |
| |
| <section id="lettingmorethanonepersonin"> |
| <title>Birden çok kişiye izin vermek</title> |
| <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye |
| (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden |
| çok kişiye izin verilmesi istenir. Bu durumda <directive |
| module="mod_authz_groupfile">AuthGroupFile</directive> yönergesi |
| devreye girer.</p> |
| |
| <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı |
| isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın |
| biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile |
| oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi |
| görünecektir:</p> |
| |
| <example> |
| GroupName: umut samet engin kubilay |
| </example> |
| |
| <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin |
| isimlerinden oluşan uzun bir liste içerir.</p> |
| |
| <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu |
| yazın:</p> |
| |
| <example> |
| htpasswd /usr/local/apache/passwd/passwords birey |
| </example> |
| |
| <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni |
| bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir. |
| (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği |
| kullanılır).</p> |
| |
| <p>Şimdi, <code>.htaccess</code> dosyanızı veya |
| <directive module="core" type="section">Directory</directive> bölümünüzü |
| aşağıda görüldüğü şekilde değiştirebilirsiniz:</p> |
| |
| <highlight language="config"> |
| AuthType Basic |
| AuthName "Davete Binaen" |
| # Satır isteğe bağlıdır: |
| AuthBasicProvider file |
| AuthUserFile "/usr/local/apache/passwd/passwords" |
| AuthGroupFile "/usr/local/apache/passwd/groups" |
| Require group Grupismi |
| </highlight> |
| |
| <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve |
| <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru |
| yazdığı takdirde izin verilecektir.</p> |
| |
| <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir |
| yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi |
| kullanabilirsiniz:</p> |
| |
| <highlight language="config">Require valid-user</highlight> |
| |
| <p><code>Require user umut</code> satırı ile parola dosyasında |
| listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin |
| vermektense, her grup için ayrı bir parola dosyası tutarak grup |
| davranışını taklit edebilirsiniz.</p> |
| |
| </section> |
| |
| <section id="possibleproblems"><title>Olası Sorunlar</title> |
| <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya |
| yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın |
| doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da |
| sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan |
| bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama |
| miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu |
| işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz |
| bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her |
| yüklenişinde tekrar edilecektir.</p> |
| |
| <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı |
| sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun |
| başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın |
| üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu |
| anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p> |
| |
| </section> |
| |
| <section id="dbmdbd"> |
| <title>Diğer parola depolama yöntemleri</title> |
| <p>Parolaları basit bir metin dosyasında depolamak yukarıda |
| bahsedilen sorunlara yol açtığından parolaları başka bir yerde |
| depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p> |
| |
| <p><module>mod_authn_dbm</module> ve <module>mod_authn_dbd</module> |
| modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak |
| <code><directive module="mod_auth_basic" |
| >AuthBasicProvider</directive> file</code> yerine, <code>dbm</code> |
| veya <code>dbd</code> kullanabilirsiniz.</p> |
| |
| <p>Bir metin dosyası yerine bir dbm dosyası kullanım örneği:</p> |
| |
| <highlight language="config"> |
| <Directory "/www/docs/private"> |
| AuthName "Private" |
| AuthType Basic |
| AuthBasicProvider dbm |
| AuthDBMUserFile "/www/passwords/passwd.dbm" |
| Require valid-user |
| </Directory> |
| </highlight> |
| |
| <p>Başka seçenekler de mümkündür. Ayrınılar için |
| <module>mod_authn_dbm</module> belgesine başvurun.</p> |
| |
| </section> |
| |
| <section id="multprovider"> |
| <title>Birden çok tedarikçi kullanmak</title> |
| <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni |
| tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama |
| yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi |
| ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki |
| örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir |
| arada kullanılmıştır.</p> |
| |
| <highlight language="config"> |
| <Directory "/www/docs/private"> |
| AuthName "Private" |
| AuthType Basic |
| AuthBasicProvider file ldap |
| AuthUserFile "/usr/local/apache/passwd/passwords" |
| AuthLDAPURL ldap://ldaphost/o=yourorg |
| Require valid-user |
| </Directory> |
| </highlight> |
| |
| <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini |
| doğrulamaya teşebbüs edecektir. Kullanıcının kimliği |
| doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden |
| çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik |
| doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik |
| kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması |
| ile birden fazla yetkilendirme türüne izin verebilir.</p> |
| |
| <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği |
| gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte |
| dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması |
| kullanılmıştır.</p> |
| |
| <highlight language="config"> |
| <Directory "/www/docs/private"> |
| AuthName "Private" |
| AuthType Basic |
| AuthBasicProvider file |
| AuthUserFile "/usr/local/apache/passwd/passwords" |
| AuthLDAPURL ldap://ldaphost/o=yourorg |
| AuthGroupFile "/usr/local/apache/passwd/groups" |
| Require group GroupName |
| Require ldap-group cn=mygroup,o=yourorg |
| </Directory> |
| </highlight> |
| |
| <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <directive |
| module="mod_authz_core" type="section">RequireAll</directive> ve |
| <directive module="mod_authz_core" type="section" |
| >RequireAny</directive> gibi yetkilendirme taşıyıcısı |
| yönergelerle hangi iznin hangi sırayla uygulanacağını |
| belirlenebilir. <a href="../mod/mod_authz_core.html#logic" |
| >Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama |
| örneğini görebilirsiniz.</p> |
| |
| </section> |
| |
| <section id="beyond"><title>Yetkilendirmenin biraz ötesi</title> |
| <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha |
| esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi |
| kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p> |
| |
| <section id="authandororder"> |
| <title>Mantık ve sıralamanın uygulanması</title> |
| <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl |
| denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de, |
| tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl |
| kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden |
| ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik |
| doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün |
| kendi yükleme sırasından bağımsız olarak özel bir sırayla |
| çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı |
| yetkilendirmeye de getirilmiştir. Bunun anlamı <directive |
| module="mod_authz_core">Require</directive> yönergesinde hangi |
| izin yönteminin kullanılması gerektiğinin belirtmesinin yanında |
| hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok |
| sayıda yetkilendirme yöntemi kullanıldığında, bunlar, <directive |
| module="mod_authz_core">Require</directive> yönergelerinin |
| yapılandırma dosyasında göründükleri sıra ile çağırılır.</p> |
| |
| <p><directive module="mod_authz_core" type="section" |
| >RequireAll</directive> ve <directive module="mod_authz_core" |
| type="section">RequireAny</directive> gibi yetkilendirme |
| taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme |
| yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime |
| izin verirken hangi kuralların uygulanacağı konusunda denetim |
| yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını |
| ifade etmek için kullanılan bir örneği görmek için |
| <a href="../mod/mod_authz_core.html#logic">Yetkilendirme |
| Taşıyıcıları</a> bölümüne bakınız.</p> |
| |
| <p>Öntanımlı olarak tüm <directive module="mod_authz_core"> |
| Require</directive> yönergeleri, <directive |
| module="mod_authz_core" type="section">RequireAny</directive> |
| taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer |
| belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı |
| olursa yetkilendirme de sağlanmış olur.</p> |
| |
| </section> |
| |
| <section id="reqaccessctrl"> |
| <title>Erişim denetimi için yetkilendirme tedarikçilerinin |
| kullanımı</title> |
| <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin |
| sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre |
| değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden |
| geldikleri gibi.</p> |
| |
| <p><code>all</code>, <code>env</code>, <code>host</code> ve |
| <code>ip</code> gibi yetkilendirme tedarikçileri ile, bir belgenin |
| istendiği makinenin IP adresi veya konak ismi gibi bazı özelliklerine |
| dayalı olarak erişime izin verip vermeyeceğinizi belirtebilirsiniz.</p> |
| |
| <p>Bu tedarikçilerin kullanımı <directive module="mod_authz_core" |
| >Require</directive> yönergesinde açıklanmıştır. Bu yönergeler, |
| isteklerin işlenmesi sırasında yetkilendirme aşamasında |
| çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin: |
| </p> |
| |
| <highlight language="config">Require ip <var>adres</var></highlight> |
| |
| <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP |
| addresidir)</p> |
| |
| <highlight language="config">Require host <var>alan_adı</var></highlight> |
| |
| <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır |
| (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP |
| adresi de belirtilebilir.</p> |
| |
| <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak |
| tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları |
| yapabilirsiniz:</p> |
| |
| <highlight language="config"> |
| <RequireAll> |
| Require all granted |
| Require not ip 10.252.46.165 |
| </RequireAll> |
| </highlight> |
| |
| <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği |
| göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de |
| makine adı varsa şunu kullanabilirsiniz:</p> |
| |
| <highlight language="config"> |
| <RequireAll> |
| Require all granted |
| Require not host host.example.com |
| </RequireAll> |
| </highlight> |
| |
| <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri |
| engellemek isterseniz adresin ya da alan adının bir parçasını |
| belirtin:</p> |
| |
| <highlight language="config"> |
| <RequireAll> |
| Require all granted |
| Require not ip 192.168.205 |
| Require not host phishers.example.com moreidiots.example |
| Require not host ke |
| </RequireAll> |
| </highlight> |
| |
| <p><directive module="mod_authz_core" type="section" |
| >RequireAll</directive> yönergesini çok sayıda |
| <directive module="mod_authz_core" |
| type="section">Require</directive> yönergesi ile birlikte kullanarak, |
| sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen |
| bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları |
| gerçeklemeyen bağlantıların erişimi engellenir.</p> |
| |
| </section> |
| |
| <section id="filesystem"> |
| <title>Erişim denetimi ve geriye uyumluluk</title> |
| <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının |
| yan etkilerinden birisi, |
| <directive module="mod_access_compat">Order</directive>, |
| <directive module="mod_access_compat">Allow</directive>, |
| <directive module="mod_access_compat">Deny</directive> ve |
| <directive module="mod_access_compat">Satisfy</directive> erişim |
| denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski |
| yapılandırmalarla uyumluluğu sağlamak için bu yönergeler |
| <module>mod_access_compat</module> modülüne taşınmıştır.</p> |
| |
| <note type="warning"><title>Note</title> |
| <p><module>mod_access_compat</module> ile sağlanan yönergelerin |
| kullanımı artık önerilmemekte, <module>mod_authz_host</module> |
| modülündeki yönergeler önerilmektedir. <directive |
| module="mod_access_compat">Order</directive>, <directive |
| module="mod_access_compat">Allow</directive> veya <directive |
| module="mod_access_compat">Deny</directive> ile |
| <directive module="mod_authz_core">Require</directive> gibi daha yeni |
| olanlarının yenilerle karışık kullanımı teknik olarak mümkünse de |
| önerilmemektedir. <module>mod_access_compat</module> modülü, 2.4 |
| yükseltmesini kolaylaştırmak için sadece eski yönergeleri içeren |
| yapılandırmaları desteklemek üzere oluşturulmuştur. Daha ayrıntılı |
| bilgi için <a href="../upgrading.html">yükseltme</a> belgesine bakınız. |
| </p> |
| </note> |
| </section> |
| |
| </section> |
| |
| <section id="socache"><title>Kimlik Doğrulama Arabelleği</title> |
| <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul |
| edilemez yükler oluşturur. Bu çoğunlukla <module>mod_authn_dbd</module> |
| (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla |
| ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün |
| sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı |
| olarak <module>mod_authn_socache</module> modülü ile gelmektedir.</p> |
| <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p> |
| </section> |
| |
| <section id="moreinformation"><title>Daha fazla bilgi</title> |
| <p>Daha fazla bilgi için <module>mod_auth_basic</module> ve |
| <module>mod_authz_host</module> modüllerinin belgelerine bakınız. |
| <directive module="mod_authn_core">AuthnProviderAlias</directive> |
| yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p> |
| |
| <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a |
| href="../misc/password_encryptions.html">Parola Biçemleri</a> |
| belgesine bakınız.</p> |
| |
| <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de |
| bazı bilgiler edinebilirsiniz.</p> |
| </section> |
| </manualpage> |