Slide 1

Slide 1 text

OpenShiftの認証を 既存の認証基盤でおこなう OpenShift.Run Winter 2020 #11 2020.12.10 @zaki_hmkc OpenShift.Run Winter 2020 #openshiftjp 1

Slide 2

Slide 2 text

自己紹介 Twitter: zaki_hmkc Qiita / GitHub: zaki-lknr OpenShift.Run Winter 2020 #openshiftjp 2 お仕事?→ 趣味からお仕事へ→ ・・・→

Slide 3

Slide 3 text

agenda OpenShift.Run Winter 2020 #openshiftjp 3 ▹ OpenShiftのログイン ▹ アイデンティティプロバイダ設定 最新のOpenShift情報などはありません

Slide 4

Slide 4 text

kubectl get node kubectl logs ... : : OpenShiftのCLIコマンド Kubernetes環境 OpenShift.Run Winter 2020 #openshiftjp 4 OpenShift環境 kubectlコマンド ocコマンド oc get node oc logs ... : : oc login 拡張されている

Slide 5

Slide 5 text

Kubernetes/OpenShiftの認証情報設定 $HOME/.kube/configの作成 ▹ Kubernetesの場合 ▸ aws eks update-kubeconfig ▸ az aks get-credential ▸ kind get kubeconfig ▹ OpenShiftの場合 ▸ oc login OpenShift.Run Winter 2020 #openshiftjp 5 共通の操作で kubeconfig作成

Slide 6

Slide 6 text

oc login OpenShift.Run Winter 2020 #openshiftjp 6 $ oc login -u kubeadmin https://api.crc.testing:6443 Authentication required for https://api.crc.testing:6443 (openshift) Username: kubeadmin Password: Login successful. ユーザー名・パスワードを入 力してoc loginすると ~/.kube/config 更新

Slide 7

Slide 7 text

webコンソールへのログイン OpenShift.Run Winter 2020 #openshiftjp 7 ユーザー名・パスワードは webのログインにも使用

Slide 8

Slide 8 text

OpenShiftのログイン (まとめ) ▹ oc loginを実行して$HOME/.kube/configを生成し ocを使用可能にする ▹ webコンソール(ダッシュボード)へログインする OpenShift.Run Winter 2020 #openshiftjp 8

Slide 9

Slide 9 text

アイデンティティプロバイダ設定 ▹ 実際の認証処理を行うプロバイダを設定 ▸ HTPasswd ▸ Basic認証 ▸ GitHub ▸ GitLab ▸ Google ▸ などなど… OpenShift.Run Winter 2020 #openshiftjp 9 https:/ /access.redhat.com/documentation/ja-jp/openshift_container_platform/4.6/ht ml/authentication_and_authorization/supported-identity-providers OAuthリソースで 設定・管理(OCPv4)

Slide 10

Slide 10 text

▹ htpasswdコマンドでパスワードファイル作成 ▹ パスワードファイルの内容のSecretを作成 (参考) HTPasswd OpenShift.Run Winter 2020 #openshiftjp 10 oc login

Slide 11

Slide 11 text

(参考) Basic認証 ▹ Basic認証が必要な実際のwebサーバにアクセス ▹ レスポンスが指定書式のJSONである必要がある OpenShift.Run Winter 2020 #openshiftjp 11 oc login HTTPS

Slide 12

Slide 12 text

GitLab認証 ▹ GitLab上のアカウント(ユーザ名・パスワード)で OpenShiftにログインできる ▹ Gitはそもそも使うはず ▸ GitLabならコンテナレジストリも付属 ▸ Docker Composeなどで簡単に構築できる OpenShift.Run Winter 2020 #openshiftjp 12

Slide 13

Slide 13 text

GitLab認証 おすすめの条件 ▹ OpenShiftをオンプレで使ってる ▸ 特にインターネットへの接続に制限がある場合 ▹ 複数のOpenShiftクラスタを使ってる ▹ 複数人でOpenShiftを使ってる ▹ Gitを使っている OpenShift.Run Winter 2020 #openshiftjp 13

Slide 14

Slide 14 text

複数ユーザ・複数クラスタのGitLab認証 OpenShift.Run Winter 2020 #openshiftjp 14 oc login 認証API (HTTPS)

Slide 15

Slide 15 text

GitLabアイデンティティプロバイダ設定 ▹ GitLab設定 ▸ GitLabのAPIトークン作成 ▹ OpenShift設定 ▸ トークンのSecret作成 ▸ HTTPSの証明書のConfigMap作成 ▸ OAuthリソースの設定 OpenShift.Run Winter 2020 #openshiftjp 15 2月にブログ書きました

Slide 16

Slide 16 text

複数のアイデンティティプロバイダ設定 OpenShift.Run Winter 2020 #openshiftjp 16

Slide 17

Slide 17 text

GitLabアイデンティティプロバイダ設定 ▹ 注意点 ▸ ユーザーのRole設定は別途必要 ▸ 連携するのはあくまで認証処理のため、パイプラ インビルドなどのGitアクセスやGit上のコンテナレ ジストリからのpull用の認証は別途必要 ▸ パブリッククラウドのマネージドサービスは認証処 理をクラウドのアカウントと紐づけてる場合有り OpenShift.Run Winter 2020 #openshiftjp 17

Slide 18

Slide 18 text

まとめ ▹ OpenShiftはoc loginでKUBECONFIGを作成 ▹ OAuthリソースでアイデンティティプロバイダ設定が定 義される ▸ オンプレ環境で複数クラスタ利用の場合はGitLab は便利 OpenShift.Run Winter 2020 #openshiftjp 18