3.9. ID および承認の管理


このセクションでは、Red Hat OpenShift Dev Spaces の ID および承認の管理のさまざまな側面について説明します。

3.9.1. Git プロバイダーの OAuth の設定

OpenShift Dev Spaces と Git プロバイダーの間で OAuth を設定して、ユーザーがリモート Git リポジトリーを操作できるようにすることができます。

3.9.1.1. Configuring OAuth 2.0 for GitHub

ユーザーが GitHub でホストされるリモート Git リポジトリーと連携できるようにするには、以下を実行します。

  1. GitHub OAuth アプリ (OAuth 2.0) をセットアップします。
  2. GitHub OAuth アプリケーションシークレットを適用します。
3.9.1.1.1. GitHub OAuth アプリケーションの設定

Set up a GitHub OAuth App using OAuth 2.0.

前提条件

  • GitHub にログインしている。
  • base64 が使用しているオペレーティングシステムにインストールされている。

手順

  1. https://github.com/settings/applications/new にアクセスします。
  2. 以下の値を設定します。

    1. アプリケーション名: OpenShift Dev Spaces
    2. ホームページの URL: https://devspaces-<openshift_deployment_name>.<domain_name>/
    3. 認証コールバック URL: https://devspaces-<openshift_deployment_name>.<domain_name>/api/oauth/callback
  3. Register application をクリックします。
  4. Generate new client secret をクリックします。
  5. GitHub OAuth アプリケーションシークレットを適用する際に使用する GitHub OAuth クライアント ID をコピーし、これを Base64 にエンコードします。

    $ echo -n '<github_oauth_client_id>' | base64
  6. GitHub OAuth クライアントシークレットをコピーし、GitHub OAuth App Secret を適用する際に使用する Base64 にエンコードします。

    $ echo -n '<github_oauth_client_secret>' | base64
3.9.1.1.2. GitHub OAuth アプリケーションシークレットの適用

GitHub OAuth App Secret を準備し、これを適用します。

前提条件

  • GitHub OAuth アプリケーションの設定が完了します。
  • GitHub OAuth アプリケーションの設定時に生成された Base64 でエンコードされた値が作成されます。

    • GitHub OAuth Client ID
    • GitHub OAuth Client Secret
  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照。

手順

  1. Secret を準備します。

    kind: Secret
    apiVersion: v1
    metadata:
      name: github-oauth-config
      namespace: openshift-devspaces 1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: github
        che.eclipse.org/scm-server-endpoint: <github_server_url> 2
    type: Opaque
    data:
      id: <Base64_GitHub_OAuth_Client_ID> 3
      secret: <Base64_GitHub_OAuth_Client_Secret> 4
    1
    OpenShift Dev Spaces 名前空間。デフォルトは openshift-devspaces です。
    2
    GitHub Enterprise Server URL。デフォルトでは、https://github.comSAAS バージョンに使用されます。
    3
    Base64 でエンコードされた GitHubOAuth クライアント ID
    4
    base64 でエンコードされた GitHub OAuth クライアントシークレット
  2. シークレットを適用します。

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 出力に Secret が作成されたことを確認します。

3.9.1.2. GitLab の OAuth 2.0 の設定

ユーザーが GitLab インスタンスを使用してホストされるリモート Git リポジトリーと連携できるようにするには、以下を実行します。

  1. GitLab 認定アプリケーション (OAuth 2.0) をセットアップします。
  2. GitLab で承認されたアプリケーションシークレットを適用します。
3.9.1.2.1. GitLab で承認されたアプリケーションの設定

OAuth 2.0 を使用して GitLab で承認されたアプリケーションを設定します。

前提条件

  • GitLab にログインしている。
  • base64 が使用しているオペレーティングシステムにインストールされている。

手順

  1. アバターをクリックして、プロファイル アプリケーション の編集に移動します。
  2. NameOpenShift Dev Spaces を入力します。
  3. https://devspaces-<openshift_deployment_name>.<domain_name>/api/oauth/callbackリダイレクト URI として指定します。
  4. Confidential および Expire access tokens のチェックボックスを選択します。
  5. Scopes の下で、apiwrite_repository、および openid のチェックボックスにチェックを入れます。
  6. Save application をクリックします。
  7. GitLab アプリケーション ID をコピーし、GitLab で承認されたアプリケーションシークレットを適用するときに使用する Base64 にエンコードします。

    $ echo -n '<gitlab_application_id>' | base64
  8. GitLab クライアントシークレット をコピーし、GitLab で承認されたアプリケーションシークレットを適用するときに使用する Base64 にエンコードします。

    $ echo -n '<gitlab_client_secret>' | base64
3.9.1.2.2. GitLab で承認されるアプリケーションシークレットの適用

GitLab で承認されるアプリケーションシークレットを準備し、これを適用します。

前提条件

  • GitLab 認証アプリケーションの設定が完了します。
  • GitLab で承認されるアプリケーションの設定時に生成された Base64 でエンコードされた値が作成されます。

    • GitLab Application ID
    • GitLab Client Secret
  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照。

手順

  1. Secret を準備します。

    kind: Secret
    apiVersion: v1
    metadata:
      name: gitlab-oauth-config
      namespace: openshift-devspaces 1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: gitlab
        che.eclipse.org/scm-server-endpoint: <gitlab_server_url> 2
    type: Opaque
    data:
      id: <Base64_GitLab_Application_ID> 3
      secret: <Base64_GitLab_Client_Secret> 4
    1
    OpenShift Dev Spaces 名前空間。デフォルトは openshift-devspaces です。
    2
    GitLab サーバーの URL です。SAAS バージョンには https://gitlab.com を使用します。
    3
    Base64 でエンコードされた GitLab アプリケーション ID
    4
    Base64 でエンコードされた GitLab クライアントシークレット
  2. シークレットを適用します。

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 出力に Secret が作成されたことを確認します。

3.9.1.3. Bitbucket サーバー向け OAuth 1.0 の設定

ユーザーが Bitbucket サーバーでホストされるリモート Git リポジトリーと連携できるようにするには、以下を実行します。

  1. Bitbucket Server でアプリケーションリンク (OAuth 1.0) を設定します。
  2. Bitbucket Server のアプリケーションリンクシークレットを適用します。

3.9.1.4. Bitbucket Cloud 向け OAuth 2.0 の設定

Bitbucket Cloud でホストされているリモート Git リポジトリーをユーザーが操作できるようにすることができます。

  1. Bitbucket Cloud で OAuth コンシューマー (OAuth 2.0) をセットアップします。
  2. Bitbucket Cloud に OAuth コンシューマーシークレットを適用します。
3.9.1.4.1. Bitbucket Cloud で OAuth コンシューマーを設定する

Bitbucket Cloud で OAuth 2.0 の OAuth コンシューマーをセットアップします。

前提条件

  • Bitbucket Cloud にログインしている。
  • base64 が使用しているオペレーティングシステムにインストールされている。

手順

  1. アバターをクリックして、All workspaces ページに移動します。
  2. ワークスペースを選択してクリックします。
  3. Settings OAuth consumers Add consumer に移動します。
  4. NameOpenShift Dev Spaces を入力します。
  5. https://devspaces-<openshift_deployment_name>.<domain_name>/api/oauth/callbackコールバック URL として入力します。
  6. Permissions で、AccountRepositories のすべてのチェックボックスをオンにして、Save をクリックします。
  7. 追加したコンシューマーを展開してから、キー 値をコピーして Base64 にエンコードし、Bitbucket OAuth コンシューマーシークレットを適用するときに使用します。

    $ echo -n '<bitbucket_oauth_consumer_key>' | base64
  8. Bitbucket OAuth コンシューマーシークレットを適用するときに使用するために、Secret 値をコピーして Base64 にエンコードします。

    $ echo -n '<bitbucket_oauth_consumer_secret>' | base64
3.9.1.4.2. Bitbucket Cloud に OAuth コンシューマーシークレットを適用する

Bitbucket Cloud の OAuth コンシューマーシークレットを準備して適用します。

前提条件

  • OAuth コンシューマーは Bitbucket Cloud でセットアップされます。
  • Bitbucket OAuth コンシューマーのセットアップ時に生成された Base64 でエンコードされた値が準備されます。

    • Bitbucket OAuth コンシューマーキー
    • Bitbucket OAuth コンシューマーシークレット
  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照。

手順

  1. Secret を準備します。

    kind: Secret
    apiVersion: v1
    metadata:
      name: bitbucket-oauth-config
      namespace: openshift-devspaces 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
    type: Opaque
    data:
      id: <Base64_Bitbucket_Oauth_Consumer_Key> 2
      secret: <Base64_Bitbucket_Oauth_Consumer_Secret> 3
    1
    OpenShift Dev Spaces 名前空間。デフォルトは openshift-devspaces です。
    2
    Base64 でエンコードされた Bitbucket OAuth コンシューマーキー
    3
    Base64 でエンコードされた Bitbucket OAuth コンシューマーシークレット
  2. シークレットを適用します。

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 出力に Secret が作成されたことを確認します。

3.9.1.5. Microsoft Azure DevOps サービス用の OAuth 2.0 の設定

ユーザーが Microsoft Azure Repos でホスティングされているリモート Git リポジトリーを操作できるようにするには:

  1. Microsoft Azure DevOps Services OAuth アプリケーション (OAuth 2.0) をセットアップします。
  2. Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用します。
3.9.1.5.1. Microsoft Azure DevOps Services OAuth アプリケーションのセットアップ

OAuth 2.0 を使用して、Microsoft Azure DevOps Services OAuth アプリケーションをセットアップします。

前提条件

手順

  1. https://app.vsaex.visualstudio.com/app/register/ にアクセスしてください。
  2. 以下の値を設定します。

    1. 会社名: OpenShift Dev Spaces
    2. アプリケーション名: OpenShift Dev Spaces
    3. アプリケーション Web サイト: "https://devspaces-<openshift_deployment_name>.<domain_name>"/
    4. 認証コールバック URL: https://devspaces-<openshift_deployment_name>.<domain_name>/api/oauth/callback
  3. Select Authorized scopes で、Code (read and write) を選択します。
  4. Create application をクリックします。
  5. Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用する際に使用するために、アプリケーション ID をコピーし、Base64 にエンコードします。

    $ echo -n '<microsoft_azure_devops_services_oauth_app_id>' | base64
  6. Show をクリックして、Client Secret を表示します。
  7. Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用する際に使用するために、クライアントシークレット をコピーし、Base64 にエンコードします。

    $ echo -n '<microsoft_azure_devops_services_oauth_client_secret>' | base64
3.9.1.5.2. Microsoft Azure DevOps Services OAuth アプリケーションシークレットの適用

Microsoft Azure DevOps Services シークレットを準備および適用します。

前提条件

  • Microsoft Azure DevOps Services OAuth アプリケーションのセットアップが完了しました。
  • Microsoft Azure DevOps Services OAuth アプリケーションのセットアップ時に生成された、Base64 エンコードされた値が準備されます。

    • アプリケーション ID
    • Client Secret
  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照。

手順

  1. Secret を準備します。

    kind: Secret
    apiVersion: v1
    metadata:
      name: azure-devops-oauth-config
      namespace: openshift-devspaces1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: azure-devops
    type: Opaque
    data:
      id: <Base64_Microsoft_Azure_DevOps_Services_OAuth_App_ID>2
      secret: <Base64_Microsoft_Azure_DevOps_Services_OAuth_Client_Secret>3
    1
    OpenShift Dev Spaces 名前空間。デフォルトは openshift-devspaces です。
    2
    Base64 エンコードされた Microsoft Azure DevOps Services OAuth アプリケーション ID
    3
    Base64 エンコードされた Microsoft Azure DevOps Services OAuth クライアントシークレット
  2. シークレットを適用します。

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 出力に Secret が作成されたことを確認します。

3.9.2. 管理ユーザーの設定

ユーザーデータの削除など、OpenShift Dev Spaces サーバーで管理者権限を必要とするアクションを実行するには、管理者権限を持つユーザーをアクティブ化します。デフォルトのインストールでは、OpenShift に存在するかどうかに関係なく、admin ユーザーの管理者権限が有効になります。

手順

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

個人が個人データを消去してもらう権利を行使する 一般データ保護規則 (GDPR) に準拠し、ユーザーのデータを削除できます。

警告

次のようにユーザーデータを削除すると、元に戻すことはできません。削除されたデータはすべて削除され、復元できなくなります。

前提条件

  • OpenShift Dev Spaces の管理権限を持つアクティブなセッション。「管理ユーザーの設定」を参照してください。
  • OpenShift クラスターの管理権限を持つアクティブな oc セッション。Getting started with the OpenShift CLI を参照してください。

手順

  1. ユーザーデータが PostgreSQL データベースに保存されていた以前のリリース以降、OpenShift Dev Spaces インスタンスがアップグレードされている場合は、最初に非推奨のエンドポイントを使用します。

    1. "https://devspaces-<openshift_deployment_name>.<domain_name>"/swagger/#/user/find_1 に移動します。
    2. Try it out name: <username> Execute を選択して、ユーザー ID を取得します。
    3. Response bodyid 値を見つけます。

      応答が 404 である、つまりユーザーがデータベースに存在しない場合は、手順 2 に進みます。

    4. "https://devspaces-<openshift_deployment_name>.<domain_name>"/swagger/#/user/remove に進みます。
    5. Try it out id: <id> Execute を選択して、OpenShift Dev Spaces サーバーによって管理されているユーザーのデータを削除します。
    6. 204 応答を受け取ったことを確認します。
  2. ユーザープロジェクトを削除して、ユーザーにバインドされているすべての OpenShift リソース (ワークスペース、シークレット、ConfigMap など) を削除します。

    $ oc delete namespace <username>-devspaces
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.