GitリポジトリのLDAPを介してユーザーを承認する方法はありますか?または少し違う言い方をします:特定のLDAPグループに属していない場合、プル/プッシュを拒否する方法はありますか?
編集:はい、PAMおよび/またはフックを使用する素晴らしいアイデアです。 gitをpam_ldapと組み合わせて使用した経験のある人はいますか?
動作するはずです:
標準のログインを使用してSSH経由でgitリポジトリにアクセスします(ここでは珍しいことはありません)。
Gitリポジトリに、特定のログインがメンバーシップを持っている特定のグループへのアクセス許可を持たせます。
Pam-ldapを使用して、標準のログインシステムをLDAPで機能させます。
より具体的な方法がある場合、システムの他の部分に影響を与えることなくLDAPをチェックするだけですか?わかりませんが、pre-commitフックなどで可能です。
update
またはpre-receive
hook を使用して、additionalアクセス制御を行うことができます。例については、contrib/hooks/
の- pdate-paranoid (Perl)を参照してください(LDAPは使用しませんが、たとえばDBIを介して使用するようにいつでも変更できます DBD :: LDAP 権限構成を保存するか、 Authen :: Simple :: LDAP 直接)。
gitosis (Pythonの場合)や gitolite などのツールを拡張できる可能性があります。これらのツールはSSH経由でgitリポジトリにアクセスするために使用され、個別に設定する必要はありません(おそらく制限されています)。認証にLDAPを使用するための各ユーザーのシェルアカウント。
Craig AndrewsLDAPプラグインを使用してGitoriousを調べることをお勧めします。
Gitoriousは、リポジトリへのWebおよびSSHアクセスを提供する企業環境向けの評判の高い(オープンソース)ソリューションです。
コードベースへのCraigの追加により、LDAPは承認と認証のソースになります。
https://gitorious.org/gitorious/mainline/merge_requests/138 <-LDAPサポートにマージ
うまくいけば、コードはすぐにGitoriousのメインラインにマージされるので、自分でパッチを適用する必要はありません。
考えられる解決策は、git over smart-http を使用することです。このプロトコルを使用する場合は、 LDAPを介して認証するApacheサーバー を設定し、gitにhttp経由でデータを転送させることができます。