Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.2.3. 設定とカスタマイズ

4.2.3.1. 認証

Jenkins 認証は、以下の 2 つの方法で管理できます。

  • OpenShift ログインプラグインが提供する OpenShift Container Platform OAuth 認証
  • Jenkins が提供する標準認証。
4.2.3.1.1. OpenShift Container Platform OAuth 認証

OAuth 認証 は、Jenkins UI の Configure Global Security パネルを設定するか、Jenkins Deployment ConfigOPENSHIFT_ENABLE_OAUTH 環境変数を false 以外に設定して、有効にします。これにより、OpenShift ログインプラグインが有効になり、Pod データから、または OpenShift Container Platform API サーバーと対話して、設定情報を取得します。

有効な認証情報は、OpenShift Container Platform アイデンティティープロバイダーが制御します。たとえば、Allow All がデフォルトのアイデンティティープロバイダーの場合には、ユーザー名とパスワードの両方に、空でない文字列を指定できます。

Jenkins は ブラウザー および ブラウザー以外 のアクセスの両方をサポートします。

有効なユーザーは、ログイン時に自動的に Jenkins 承認マトリックスに追加されます。ここで、OpenShift Container Platform Roles は、ユーザーに割り当てられる固有の Jenkins パーミッションを指定します。

admin ロールを持つユーザーには、従来の Jenkins 管理ユーザーパーミッションがあります。edit または view ロールを持つユーザーのパーミッションは徐々に少なくなります。OpenShift ロールや Jenkins パーミッションのマッピングに関する詳細は、Jenkins image source repository README を参照してください。

注記

OpenShift Container Platform クラスター管理者が OpenShift Container Platform ID プロバイダーでそのユーザーを明示的に定義し、admin ロールをユーザーに割り当てない限り、OpenShift Container Platform OAuth が使用される場合、管理者特権を持つ OpenShift Container Platform Jenkins イメージに事前入力された admin ユーザーには、それらの特権は与えられません。

Jenkins のユーザーパーミッションは、初回のユーザー作成後に変更できます。OpenShift ログインプラグインは、OpenShift Container Platform API サーバーをポーリングしてパーミッションを取得し、ユーザーごとに Jenkins に保存されているパーミッションを、OpenShift Container Platform から取得したパーミッションに更新します。Jenkins UI を使用して Jenkins ユーザーのパーミッションを更新する場合には、プラグインが次回に OpenShift Container Platform をポーリングするタイミングで、パーミッションの変更が上書きされます。

ポーリングの頻度は OPENSHIFT_PERMISSIONS_POLL_INTERVAL 環境変数で制御できます。デフォルトのポーリングの間隔は 5 分です。

OAuth 認証を使用して新しい Jenkins サービスを作成する最も簡単な方法は、以下で説明するように テンプレートを使用 することです。

4.2.3.1.2. Jenkins 標準認証

テンプレートを使用せず、イメージが直接実行される場合には、デフォルトで Jenkins 認証が使用されます。

Jenkins の初回起動時には、設定、管理ユーザーおよびパスワードが作成されます。デフォルトのユーザー認証情報は、admin および password です。標準の Jenkins 認証を使用する場合のみ、JENKINS_PASSWORD 環境変数を設定して、デフォルトのパスワードを設定します。

標準の Jenkins 認証を使用して、新しい Jenkins アプリケーションを作成するには、以下を実行します。

$ oc new-app -e \
    JENKINS_PASSWORD=<password> \
    openshift/jenkins-2-centos7