Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenShiftの認証を既存の認証基盤でおこなう / openshift-identity-providers

4924e08c88a442edbffd87b91cb45131?s=47 zaki-lknr
December 10, 2020

OpenShiftの認証を既存の認証基盤でおこなう / openshift-identity-providers

4924e08c88a442edbffd87b91cb45131?s=128

zaki-lknr

December 10, 2020
Tweet

Transcript

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

    2020 #openshiftjp 1
  2. 自己紹介 Twitter: zaki_hmkc Qiita / GitHub: zaki-lknr OpenShift.Run Winter 2020

    #openshiftjp 2 お仕事?→ 趣味からお仕事へ→ ・・・→
  3. agenda OpenShift.Run Winter 2020 #openshiftjp 3 ▹ OpenShiftのログイン ▹ アイデンティティプロバイダ設定

    最新のOpenShift情報などはありません
  4. kubectl get node kubectl logs ... : : OpenShiftのCLIコマンド Kubernetes環境

    OpenShift.Run Winter 2020 #openshiftjp 4 OpenShift環境 kubectlコマンド ocコマンド oc get node oc logs ... : : oc login 拡張されている
  5. 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作成
  6. 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 更新
  7. webコンソールへのログイン OpenShift.Run Winter 2020 #openshiftjp 7 ユーザー名・パスワードは webのログインにも使用

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

    2020 #openshiftjp 8
  9. アイデンティティプロバイダ設定 ▹ 実際の認証処理を行うプロバイダを設定 ▸ 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)
  10. ▹ htpasswdコマンドでパスワードファイル作成 ▹ パスワードファイルの内容のSecretを作成 (参考) HTPasswd OpenShift.Run Winter 2020 #openshiftjp

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

    11 oc login HTTPS
  12. GitLab認証 ▹ GitLab上のアカウント(ユーザ名・パスワード)で OpenShiftにログインできる ▹ Gitはそもそも使うはず ▸ GitLabならコンテナレジストリも付属 ▸ Docker

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

    ▹ Gitを使っている OpenShift.Run Winter 2020 #openshiftjp 13
  14. 複数ユーザ・複数クラスタのGitLab認証 OpenShift.Run Winter 2020 #openshiftjp 14 oc login 認証API (HTTPS)

  15. GitLabアイデンティティプロバイダ設定 ▹ GitLab設定 ▸ GitLabのAPIトークン作成 ▹ OpenShift設定 ▸ トークンのSecret作成 ▸

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

  17. GitLabアイデンティティプロバイダ設定 ▹ 注意点 ▸ ユーザーのRole設定は別途必要 ▸ 連携するのはあくまで認証処理のため、パイプラ インビルドなどのGitアクセスやGit上のコンテナレ ジストリからのpull用の認証は別途必要 ▸

    パブリッククラウドのマネージドサービスは認証処 理をクラウドのアカウントと紐づけてる場合有り OpenShift.Run Winter 2020 #openshiftjp 17
  18. まとめ ▹ OpenShiftはoc loginでKUBECONFIGを作成 ▹ OAuthリソースでアイデンティティプロバイダ設定が定 義される ▸ オンプレ環境で複数クラスタ利用の場合はGitLab は便利

    OpenShift.Run Winter 2020 #openshiftjp 18