9.3.5.2. Bitbucket Server OAuth 1 の設定


この手順では、Bitbucket Server の OAuth 1 をアクティベートして以下を実行する方法を説明します。

これは CodeReady Workspaces が Bitbucket Server Personal アクセストークンを取得し、更新できるようにします。

前提条件

  • oc ツールが利用可能である。
  • Bitbucket サーバーは、CodeReady Workspaces サーバーから利用できます。

手順

  1. RSA キーペアと公開鍵の省略バージョンを生成します。

    openssl genrsa -out <private.pem> 2048
    openssl rsa -in <private.pem> -pubout > <public.pub>
    openssl pkcs8 -topk8 -inform pem -outform pem -nocrypt -in <private.pem> -out <privatepkcs8.pem>
    cat <public.pub> | sed 's/-----BEGIN PUBLIC KEY-----//g' | sed 's/-----END PUBLIC KEY-----//g' | tr -d '\n' > <public-stripped.pub>
    Copy to Clipboard Toggle word wrap
  2. コンシューマーキーと共有シークレットを生成します。

    openssl rand -base64 24 > <bitbucket_server_consumer_key>
    openssl rand -base64 24 > <bitbucket_shared_secret>
    Copy to Clipboard Toggle word wrap
  3. コンシューマーおよびプライベートキーを含む Kubernetes シークレットを CodeReady Workspaces namespace に作成します。

    $ oc apply -f - <<EOF
    kind: Secret
    apiVersion: v1
    metadata:
      name: bitbucket-oauth-config
      namespace: <...> 
    1
    
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: bitbucket
        che.eclipse.org/scm-server-endpoint: <...> 
    2
    
    type: Opaque
    data:
      private.key: <...> 
    3
    
      consumer.key: <...> 
    4
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    CodeReady Workspaces namespace。デフォルトは openshift-workspaces です。
    2
    Bitbucket サーバー URL
    3
    最初の行と最後の行のない <privatepkcs8.pem> ファイルの base64 でエンコードされたコンテンツ。
    4
    <bitbucket_server_consumer_key> ファイルの base64 でエンコードされたコンテンツ。
  4. Bitbucket でアプリケーションリンクを設定し、CodeReady Workspaces から Bitbucket サーバーへの通信を有効にします。

    1. Bitbucket Server で上部のナビゲーションバーをクリックし、Administration > Application Links に移動します。

<<<<<<< HEAD ..アプリケーション URL: <{prod-url-secure}/dashboard/> を入力し、Create new link ボタンをクリックします。

  1. アプリケーション URL: \https://codeready-<openshift_deployment_name>.<domain_name> を入力し、Create new link ボタンをクリックします。>>>>>>> 6dd3fd4d…​ Fix leftover of prod-url-secure attribute (#1897)

  1. 「No response was received from the URL」という警告メッセージが表示されたら Continue ボタンをクリックします。

  1. Link Applications フォームを入力し、Continue ボタンをクリックします。

    Application Name
    <CodeReady Workspaces>
    Application Type
    Generic Application
    Service Provider Name
    <CodeReady Workspaces>
    Consumer Key
    <bitbucket_server_consumer_key> ファイルの内容を貼り付けます。
    Shared secret
    <bitbucket_shared_secret> ファイルの内容を貼り付けます。
    Request Token URL
    <Bitbucket Server URL>/plugins/servlet/oauth/request-token
    アクセストークン URL
    <Bitbucket Server URL>/plugins/servlet/oauth/access-token
    Authorize URL
    <Bitbucket Server URL>/plugins/servlet/oauth/access-token
    Create incoming link
    Enabled
  2. Link Applications フォームを入力し、Continue ボタンをクリックします。

    Consumer Key
    <bitbucket_server_consumer_key> ファイルの内容を貼り付けます。
    Consumer name
    <CodeReady Workspaces>
    Public Key
    <public-stripped.pub> ファイルの内容を貼り付けます。

= プロトコルベースのプロバイダーの使用

RH-SSO は SAML v2.0 プロトコルおよび OpenID Connect v1.0 プロトコルをサポートします。

= RH-SSO を使用したユーザーの管理

ユーザーインターフェースでユーザーを追加し、削除し、編集できます。詳細は、RH-SSO ユーザー管理について参照してください。

= 外部 RH-SSO インストールを使用するように CodeReady Workspaces を設定する

デフォルトでは、CodeReady Workspaces インストールには、専用の RH-SSO インスタンスのデプロイメントが含まれます。ただし、外部の RH-SSO を使用することも可能です。このオプションは、すでに定義されたユーザーを含む既存の RH-SSO インスタンス (複数のアプリケーションが使用する会社全体の RH-SSO サーバーなど) がある場合に役立ちます。

Expand
表9.3 サンプルで使用されるプレースホルダー

<provider-realm-name>

CodeReady Workspaces で使用することが意図されたアイデンティティープロバイダーのレルム名

<oidc-client-name>

<provider-realm-name> で定義される oidc クライアントの名前

<auth-base-url>

外部 RH-SSO サーバーのベース URL

前提条件

  • RH-SSO の外部インストールの管理コンソールで、CodeReady Workspaces に接続することが意図されたユーザーが含まれるレルムを定義します。

  • この realm では、CodeReady Workspaces がユーザーの認証に使用する OIDC クライアントを定義します。以下は、正しい設定のあるクライアントの例です。

    注記
    • Client Protocolopenid-connect である必要があります。
    • Access Typepublic である必要があります。CodeReady Workspaces は public アクセスタイプのみをサポートします。
    • Valid Redirect URIs には、http プロトコルを使用する URL と https を使用する URL の 2 つ以上の CodeReady Workspaces サーバーに関連する URI が含まれる必要があります。これらの URI には CodeReady Workspaces サーバーのベース URL (この後に /* ワイルドカードが続く) が含まれる必要があります。
    • Web Origins には、http プロトコルを使用する URI と https を使用する URI の 2 つ以上の CodeReady Workspaces サーバーに関連する URI が含まれる必要があります。これらの URI には、CodeReady Workspaces サーバーのベース URL (ホストの後はパスがない) が含まれる必要があります。

      URI の数は、インストールされている製品ツールの数によって異なります。

  • デフォルトの OpenShift OAuth サポートを使用する CodeReady Workspaces では、ユーザー認証は、OpenShift OAuth と RH-SSO の統合に依存します。これにより、ユーザーは OpenShift ログインで CodeReady Workspaces にログインでき、独自のワークスペースを個人の OpenShift プロジェクトに作成することができます。

    これには、OpenShift アイデンティティープロバイダーを RH-SSO で設定する必要があります。外部 RH-SSO を使用する場合は、アイデンティティープロバイダーを手動で設定します。手順については、以下のいずれかのリンクについての該当する RH-SSO ドキュメントを参照してください:OpenShift 3[OpenShift 3] または OpenShift 4[OpenShift 4]

  • 設定済みのアイデンティティープロバイダーでは、Store Tokens および Stored Tokens Readable オプションが有効にされている必要があります。

手順

  1. CheCluster カスタムリソース (CR) に以下のプロパティーを設定します。

    spec:
      auth:
        externalIdentityProvider: true
        identityProviderURL: <auth-base-url>
        identityProviderRealm: <provider-realm-name>
        identityProviderClientId: <oidc-client-name>
    Copy to Clipboard Toggle word wrap
  2. OpenShift OAuth サポートを有効にして CodeReady Workspaces をインストールする場合は、CheCluster カスタムリソース (CR) に以下のプロパティーを設定します。

    spec:
      auth:
        openShiftoAuth: true
    # Note: only if the OpenShift identity provider alias is different from 'openshift-v3' or 'openshift-v4'
    server:
      customCheProperties:
        CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER: <OpenShift identity provider alias>
    Copy to Clipboard Toggle word wrap

= SMTP およびメール通知の設定

Red Hat CodeReady Workspaces は事前に設定された MTP サーバーを提供しません。

RH-SSO で SMTP サーバーを有効にするには、以下を実行します。

  1. che realm settings > Email にアクセスします。
  2. ホスト、ポート、ユーザー名、およびパスワードを指定します。

Red Hat CodeReady Workspaces は、登録、メールの確認、パスワードの復旧、およびログインの失敗についてのデフォルトのテーマを使用します。

= 自己登録の有効化

自己登録により、ユーザーは CodeReady Workspaces サーバー URL にアクセスして、CodeReady Workspaces インスタンスに自己登録できます。

OpenShift OAuth サポートなしでインストールされた CodeReady Workspaces では、自己登録はデフォルトで無効にされるため、ログインページで新規ユーザーを登録するオプションは利用できません。

前提条件

  • 管理者としてログインしている。

手順

ユーザーの自己登録を有効にするには、以下を実行します。

  1. 左側の Realm Settings メニューに移動し、Login タブを開きます。
  2. User registration オプションを On に設定します。

= OpenShift OAuth の設定

ユーザーが OpenShift と対話できるようにするには、まず OpenShift クラスターに対して認証する必要があります。OpenShift OAuth は、ユーザーが取得された OAuth アクセストークンを使って API 経由でクラスターに対して自らを証明するプロセスです。

https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.7/html-single/end-user_guide/index#openshift-connector-overview_crw に基づく認証は、CodeReady Workspaces ユーザーが OpenShift クラスターで認証するために使用できる 1 つの方法です。

以下のセクションでは、OpenShift OAuth 設定オプションと、CodeReady Workspaces での使用方法について説明します。

= 初期ユーザーでの OpenShift OAuth の設定

前提条件

手順

  • クラスターで OpenShift アイデンティティープロバイダーを設定します。アイデンティティープロバイダー設定について参照してください。

    ユーザーが OpenShift アイデンティティープロバイダーの設定ステップを省略し、OpenShift クラスターに設定済みのアイデンティティープロバイダーが含まれていない場合、CodeReady Workspaces は HTPasswd アイデンティティープロバイダーの初期 OpenShift ユーザーを作成します。このユーザーの認証情報は、openshift-workspaces namespace にある openshift-oauth-user-credentials シークレットに保存されます。

    OpenShift クラスターおよび CodeReady Workspaces インスタンスにログインするための認証情報を取得します。

    1. OpenShift ユーザー名を取得します。

      $ oc get secret openshift-oauth-user-credentials -n openshift-workspaces -o json | jq -r '.data.user' | base64 -d
      Copy to Clipboard Toggle word wrap
    2. OpenShift ユーザーパスワードを取得します。

      $ oc get secret openshift-oauth-user-credentials -n openshift-workspaces -o json | jq -r '.data.password' | base64 -d
      Copy to Clipboard Toggle word wrap
  • OperatorHub または crwctl を使用して CodeReady Workspaces をデプロイする場合は、crwctl server:deploy 仕様についての章を参照してください。OpenShift OAuth はデフォルトで有効にされます。

= OpenShift の初期 OAuth ユーザーをプロビジョニングせずに OpenShift OAuth を設定する

以下の手順では、OpenShift の初期 OAuth ユーザーをプロビジョニングせずに OpenShift OAuth を設定する方法を説明します。

手順

  1. OperatorHub を使用して CodeReady Workspaces インスタンスをデプロイおよび更新し、プロセスが完了するのを待機します。

    $ crwctl server:deploy --che-operator-cr-patch-yaml=patch.yaml ...
    Copy to Clipboard Toggle word wrap

    patch.yaml には、以下を含める必要があります。

    spec:
      auth:
        openShiftoAuth: true
        initialOpenShiftOAuthUser: ''
    Copy to Clipboard Toggle word wrap
  2. 以下の値を codeready-workspaces カスタムリソース(CR)に設定します。

    spec:
      auth:
        openShiftoAuth: true
        initialOpenShiftOAuthUser: ''
    Copy to Clipboard Toggle word wrap

= OpenShift 初期 OAuth ユーザーの削除

以下の手順では、Red Hat CodeReady Workspaces がプロビジョニングする OpenShift の初期の OAuth ユーザーを削除する方法を説明します。

前提条件

  • oc ツールがインストールされている。
  • OpenShift で実行している Red Hat CodeReady Workspaces のインスタンス。
  • oc ツールを使用して OpenShift クラスターにログインしている。

手順

  1. codeready-workspaces カスタムリソースを更新します。

    $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
    '[{"op": "replace", "path": "/spec/auth/initialOpenShiftOAuthUser", "value": false}]'
    Copy to Clipboard Toggle word wrap

= ユーザーデータの削除

== GDPR に準拠したユーザーデータの削除

一般データ保護規則 (GDPR: General Data Protection Regulation) では、個人データの消去を求める個人の権利が施行されています。

以下の手順では、クラスターおよび RH-SSO データベースからユーザーのデータを削除する方法を説明します。

注記

以下のコマンドは、-n オプションのユーザー例として、デフォルトの OpenShift プロジェクト openshift-workspaces を使用します。

前提条件

  • ユーザーまたは管理者の認証トークン。ユーザーアカウントにバインドされているデータ以外のデータを削除する場合は、admin 権限が必要になります。admin は、CHE_SYSTEM_ADMIN__NAME および CHE_SYSTEM_SUPER__PRIVILEGED__MODE = true カスタムリソース定義を使用して事前に作成され、有効にされる特別な CodeReady Workspaces 管理者アカウントです。

    spec:
     server:
       customCheProperties:
         CHE_SYSTEM_SUPER__PRIVILEGED__MODE: 'true'
         CHE_SYSTEM_ADMIN__NAME: '<admin-name>'
    Copy to Clipboard Toggle word wrap

    必要に応じて、以下のコマンドを使用して admin ユーザーを作成します。

    $ oc patch checluster codeready-workspaces \
      --type merge \
      -p '{ "spec": { "server": {"customCheProperties": {"CHE_SYSTEM_SUPER__PRIVILEGED__MODE": "true"} } }}' \
      -n openshift-workspaces
    Copy to Clipboard Toggle word wrap
    $ oc patch checluster codeready-workspaces \
      --type merge \
      -p '{ "spec": { "server": {"customCheProperties": {"CHE_SYSTEM_ADMIN__NAME": "<admin-name>"} } }}' \
      -n openshift-workspaces
    Copy to Clipboard Toggle word wrap
    注記

    すべてのシステムパーミッションは、CHE_SYSTEM_ADMIN__NAME プロパティーで設定した管理ユーザーに付与されます (デフォルトは admin です)。システムのパーミッションは CodeReady Workspaces サーバーの起動時に付与されます。ユーザーが CodeReady Workspaces ユーザーデータベースにない場合は、最初のユーザーのログイン後に表示されます。

    認証トークンの権限:

    • admin: すべてのユーザーのすべての個人データを削除できます。
    • user: ユーザーに関連するデータのみを削除できます。
  • ユーザーまたは管理者が、CodeReady Workspaces がデプロイされた状態で OpenShift クラスターにログインしている。
  • ユーザー ID が取得されます。以下のコマンドを使用してユーザー ID を取得します。

    • 現行ユーザーの場合:

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user'
      Copy to Clipboard Toggle word wrap
    • 名前でユーザーを検索するには、以下を実行します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/find?name=<username>'
      Copy to Clipboard Toggle word wrap
    • メールでユーザーを検索するには、以下を実行します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/find?email=<email>'
      Copy to Clipboard Toggle word wrap

      ユーザー ID を取得する例

      この例では、ローカルユーザーの名前として vparfono を使用します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://che-vp-che.apps.che-dev.x6e0.p1.openshiftapps.com/api/user/find?name=vparfono'
      Copy to Clipboard Toggle word wrap

      ユーザー ID は、curl コマンド出力の下部にあります。

      {
       "name": "vparfono",
       "links": [
         {
      .
      .
      .
         }
       ],
       "email": "vparfono@redhat.com",
       "id": "921b6f33-2657-407e-93a6-fb14cf2329ce"
      }
      Copy to Clipboard Toggle word wrap

手順

  1. codeready-workspaces CheCluster Custom リソース (CR) 定義を更新して、RH-SSO データベースからユーザーのデータの削除を許可します。

    $ oc patch checluster/codeready-workspaces \
      --patch "{\"spec\":{\"server\":{\"customCheProperties\": {\"CHE_KEYCLOAK_CASCADE__USER__REMOVAL__ENABLED\": \"true\"}}}}" \
      --type=merge -n openshift-workspaces
    Copy to Clipboard Toggle word wrap
  2. API を使用してデータを削除します。

    $ curl -i -X DELETE \
      --header 'Authorization: Bearer <user-token>' \
      https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/<user-id>
    Copy to Clipboard Toggle word wrap

検証

以下のコマンドを実行すると、コード 204 が API 応答として返されます。

$ curl -i -X DELETE \
  --header 'Authorization: Bearer <user-token>' \
  https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/<user-id>
Copy to Clipboard Toggle word wrap

関連情報

すべてのユーザーのデータを削除するには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.7/html-single/installation_guide/index#uninstalling-codeready-workspaces_crw の手順に従います。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat