2012-03-14 19 views
0

WindowsのApacheを使用してリポジトリ内のパスにWindowsドメイングループを使用してアクセス制御を設定できるようにするにはどうすればよいですか?Windowsドメイングループを使用したSVNパス認証

+0

これは間違いなくServerFaultに属しています。 http://serverfault.com/questions/tagged/svn?sort=votes&pagesize=15 – abatishchev

答えて

0

認証にLDAP/ADを使用するようにApacheを設定する必要があります。path-base-authorization within SVN Repositoryを設定して、permissions withinリポジトリを定義する必要があります。

+0

私はADベースの認証を提供するためにmod_auth_sspiを使用していますが、私が知ることができた限り、アクセスの特定をサポートしていませんAuthzSVNAccessFileのドメイングループ別に、他の人が知っていることが分かっていれば、それについて聞いてみたいと思います。 – Neutrino

1

私は、mod_sspiと一連のApache Location設定ディレクティブを使ってこれを行う方法を研究したと思います。このアプローチの

<Location /svn> 
    DAV svn 
    SVNParentPath "D:/SvnRepos" 
    SVNListParentPath On 

    AuthType SSPI 
    AuthName "SVN Server" 
    SSPIAuth On 
    SSPIAuthoritative On 
    SSPIDomain MYDOMAIN 
    SSPIOfferBasic On 
    Require group MYDOMAIN\PRODUCT1_DEVS MYDOMAIN\PRODUCT2_DEVS 
</Location> 


<Location /svn/Repo/Product1> 
    AuthType SSPI 
    AuthName "SVN Product1" 
    SSPIAuth On 
    SSPIAuthoritative On 
    SSPIDomain MYDOMAIN 
    SSPIOfferBasic On 
    Require group MYDOMAIN\PRODUCT1_DEVS 
</Location> 


<Location /svn/Repo/Product2> 
    AuthType SSPI 
    AuthName "SVN Product2" 
    SSPIAuth On 
    SSPIAuthoritative On 
    SSPIDomain MYDOMAIN 
    SSPIOfferBasic On 
    Require group MYDOMAIN\PRODUCT2_DEVS 
</Location> 

欠点が、それは少し冗長だその構成賢明であり、それがwebsvnのために動作しません。私が気にしていないもののうちの最初のものと、後で修正することを見ているものがあります。

ApacheとSVNのすべての専門家のための質問です。この設定は安全で堅牢ですか?私にはうまくいくようですが、このアプローチはどこにも言及されていませんでしたので、専門家からのフィードバックなしに展開することには少し心配しています。経験豊かなApacheの社員はいません。

=== === EDIT

最終的に私はこれと同様の構成を使用して、特定のアクセス権を必要とプロジェクトごとに別々のリポジトリを設定することを決めました。

# Publishes repository 1 at url http://localhost/svn/Repo1 used mostly by team 1. 
<Location /svn/Repo1> 
    # DAV config. 
    DAV svn 

    # Config to publish single repository. 
    SVNPath "D:/SvnRepos/Repo1" 

    # Config to publish all repositories in directory. 
    #SVNParentPath "D:/SvnRepos/" 
    #SVNListParentPath On 

    # Auth config. 
    AuthName "SVN" 
    AuthType SSPI 
    SSPIAuth On 
    SSPIOfferBasic On 
    SSPIAuthoritative On 

    <RequireAny> 
     # Allows access to any user. 
     #Require valid-sspi-user 

     # Allows access to users belonging to specified domain group(s). 
     Require sspi-group DOMAIN_NAME\TEAM1 

     # Allows access to specified domain users. 
     Require sspi-user DOMAIN_NAME\user1 
    </RequireAny> 

</Location> 

# Publishes repository 2 at url http://localhost/svn/Repo2 used by several teams. 
<Location /svn/Repo2> 
    # DAV config. 
    DAV svn 

    # Config to publish single repository. 
    SVNPath "D:/SvnRepos/Repo2" 

    AuthName "SVN" 
    AuthType SSPI 
    SSPIDomain DOMAIN_NAME 
    SSPIAuth On 
    SSPIOfferBasic On 
    SSPIAuthoritative On 

    Require sspi-group DOMAIN_NAME\TEAM1 DOMAIN_NAME\TEAM2 DOMAIN_NAME\TEAM3 
</Location> 

私はちょうどルート/ SVNのディレクトリへのアクセスを与える最初の位置の要素を削除でいた場合、私はそれをテストしている必要があります確信してませんが、私の元の設定が働いている可能性があるかどうかかかわらず、不思議です今これを確認する時間があります。

関連する問題