GoogleアプリでJenkinsログインを設定する方法
How Configure Jenkins Login With Google Apps
解決:
GoogleがOpenIDのサポートを廃止したため、Googleアプリで適切に機能するGoogleログインプラグインを使用できます。
OpenIDプラグインを使用して、Googleアプリでシングルサインオンを実現できます。設定は非常に簡単です。基本的にプラグインをインストールし、[Google Apps SSO(with OpenID)]を選択して、ドメインを入力します。ユーザーが 意思 その後ログインするには、GoogleAppsアカウントが必要です。
ヒント:役割戦略プラグインと組み合わせて使用することを検討してください。
Jenkinsではデフォルトで ユーザー認証が有効になっていません しかし、私たちはからユーザー認証を確立することができます グローバルセキュリティ セクション。チームメンバーのユーザーを作成する必要があり、すべてのユーザーを独自のデータベースに保持します。ただし、Jenkinsを構成することもできます Google OAuth 。したがって、Googleサービスを活用していて、すでにユーザーが利用している場合。ユーザーはJenkinsにログインして、タスクを実行できます。
Google OAuthを実装するには、jenkinsci / google-login-plugin(https://github.com/jenkinsci/google-login-plugin)これは Jenkinsプラグイン それはあなたを可能にします GoogleアカウントでJenkinsにログインします 。また、特定のGoogleAppsドメインのアカウントへのアクセスを制限することもできます。
Jenkinsサーバーが既にインストールされており、サーバーに変更を加える管理者権限があることを前提としています。構成全体は、3つの簡単なステップに分かれています。
1. GoogleOAuthクレデンシャルを取得します
このプラグインを使用するには、からOAuth2.0クレデンシャルを取得する必要がありますGoogle Developers Console(https://console.developers.google.com)。これらは、特別なアカウントに属している必要はなく、ログインを制限するドメインに関連付けられているアカウントに属している必要もありません。
クライアントIDとシークレットを作成する手順:
Google DevelopersConsoleにログインします
新しいプロジェクトを作成します。ポップアップウィンドウでプロジェクト名を指定します。プロジェクト名は、より意味のある任意の名前にすることができます。例:
JenkinsOAuth。このプロジェクトでは、OAuthAPIを有効にするための認証クレデンシャルを生成します。
左側のサイドバーの[APIとサービス(APIマネージャー)]-> [クレデンシャル]、[クレデンシャルの作成]、OAuthクライアントID(APIクレデンシャルが生成されます。これらのクレデンシャルは、最後の手順でJenkinsで構成する必要があります)。
これをJenkinsに統合する予定であり、これはWebサービスであるため、アプリケーションタイプは次のようになります。 'ウェブアプリケーション'
GoogleAPIへのアクセスを許可した場所からJenkinsURIを登録します。 Jenkinsサーバーの詳細を提供する必要があります。あなたはあなたを置き換えることができます JENKINS_ROOT_URL =
http:jenkins.mydomain.comと独自のJenkinsURI。これは、Jenkinsサーバーのランディングページになります。このページにアクセスすると、認証のためにGoogleにリダイレクトされます。
ログインに成功した後にリダイレクトするには、承認されたリダイレクトURIが必要です。これは、Jenkinsのランディングページとサフィックス文字列を組み合わせて、ログインしているユーザーであることを確認します。ユーザーをJenkinsダッシュボードに誘導したいので、前の手順で説明したのと同じURIを持ち、含めることを忘れないでください
最後にsecurityRealm / finishLogin。したがって、承認されたリダイレクトURLは次のようになります。
$ {JENKINS_ROOT_URL} / securityRealm / finishLogin。
例えば:
http://jenkins.mydoamin.com/securityRealm/finishLogin
コピーして保存 クライアントIDとクライアントシークレット 、これらのクレデンシャルは、Jenkins(セキュリティレルム構成)でGoogleAPIを有効にするために使用されます。
2.Googleログインプラグインをインストールします
Jenkinsには、OAuthを構成するメカニズムはありませんが、利用可能なプラグインが多数あり、使用しています。 Googleログインプラグイン 。このプラグインはから簡単にインストールできますJenkinsを管理する–>
プラグインの管理–>
利用可能で、Googleログインを検索します。プラグインを選択します。このプラグインをインストールするには、再起動する必要はありません。このプラグインは、Google OAuthの登録を可能にし、認証を実行します。
3.Jenkinsを構成します
このステップでは、インストールされたプラグインにGoogleセキュリティクレデンシャルを設定します。案内するJenkinsを管理する–>
グローバルセキュリティを設定し、
下のGoogleでログイン セキュリティレルム 最初のステップで生成されたクレデンシャル(クライアントIDとシークレット)を貼り付けます。最後のフィールドには、ドメイン名を入力することを忘れないでください。これにより、特定のドメイン名へのアクセスを制限できます。
変更を保存した直後に、Jenkinsはドメイン内のすべてのユーザーへのアクセスを許可します。ここで、Jenkinsにログインしてみると、Google認証ページにリダイレクトされます。すべてが適切に設定されている場合はログインしますが、それでも問題が発生する場合に備えて、戻って各手順を確認してください。ログインしたユーザーは何でもできます。ユーザーを制限したい場合は、実装できます。 役割戦略プラグイン (https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin)セキュリティ。