web-dev-qa-db-ja.com

LDAP認証を使用したGit

GitリポジトリのLDAPを介してユーザーを承認する方法はありますか?または少し違う言い方をします:特定のLDAPグループに属していない場合、プル/プッシュを拒否する方法はありますか?

編集:はい、PAMおよび/またはフックを使用する素晴らしいアイデアです。 gitをpam_ldapと組み合わせて使用​​した経験のある人はいますか?

15
Tobias Hertkorn

動作するはずです:

  • 標準のログインを使用してSSH経由でgitリポジトリにアクセスします(ここでは珍しいことはありません)。

  • Gitリポジトリに、特定のログインがメンバーシップを持っている特定のグループへのアクセス許可を持たせます。

  • Pam-ldapを使用して、標準のログインシステムをLDAPで機能させます。

より具体的な方法がある場合、システムの他の部分に影響を与えることなくLDAPをチェックするだけですか?わかりませんが、pre-commitフックなどで可能です。

5
Lee B

updateまたはpre-receivehook を使用して、additionalアクセス制御を行うことができます。例については、contrib/hooks/の-​​ pdate-paranoid (Perl)を参照してください(LDAPは使用しませんが、たとえばDBIを介して使用するようにいつでも変更できます DBD :: LDAP 権限構成を保存するか、 Authen :: Simple :: LDAP 直接)。

gitosis (Pythonの場合)や gitolite などのツールを拡張できる可能性があります。これらのツールはSSH経由でgitリポジトリにアクセスするために使用され、個別に設定する必要はありません(おそらく制限されています)。認証にLDAPを使用するための各ユーザーのシェルアカウント。

3
Jakub Narębski

私が経験した簡単な解決策は次のとおりです。

  1. セットアップ CentrifyDC Express pam-ldapを提供します。
  2. SSH経由のGITリポジトリ にアクセスします。

Etvoilà!

2
rdarrudas

Craig AndrewsLDAPプラグインを使用してGitoriousを調べることをお勧めします。

Gitoriousは、リポジトリへのWebおよびSSHアクセスを提供する企業環境向けの評判の高い(オープンソース)ソリューションです。

コードベースへのCraigの追加により、LDAPは承認と認証のソースになります。

https://gitorious.org

https://gitorious.org/gitorious/mainline/merge_requests/138 <-LDAPサポートにマージ

うまくいけば、コードはすぐにGitoriousのメインラインにマージされるので、自分でパッチを適用する必要はありません。

1
Eddie

考えられる解決策は、git over smart-http を使用することです。このプロトコルを使用する場合は、 LDAPを介して認証するApacheサーバー を設定し、gitにhttp経由でデータを転送させることができます。

0
Diego