This documentation is for a release that is no longer maintained
See documentation for the latest supported version.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 リポジトリーと連携できるようにするには、以下を実行します。
- GitHub OAuth アプリ (OAuth 2.0) をセットアップします。
- GitHub OAuth アプリケーションシークレットを適用します。
3.9.1.1.1. GitHub OAuth アプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Set up a GitHub OAuth App using OAuth 2.0.
前提条件
- GitHub にログインしている。
-
base64が使用しているオペレーティングシステムにインストールされている。
手順
- https://github.com/settings/applications/new にアクセスします。
以下の値を設定します。
-
アプリケーション 名: <
;アプリケーション名> -
ホームページ URL:
https://<openshift_dev_spaces_fqdn>/ -
Authorization callback URL:
https://<openshift_dev_spaces_fqdn>/api/oauth/callback
-
アプリケーション 名: <
- Register application をクリックします。
- Generate new client secret をクリックします。
GitHub OAuth アプリケーションシークレットを適用する際に使用する GitHub OAuth クライアント ID をコピーし、これを Base64 にエンコードします。
echo -n '<github_oauth_client_id>' | base64
$ echo -n '<github_oauth_client_id>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitHub OAuth クライアントシークレットをコピーし、GitHub OAuth App Secret を適用する際に使用する Base64 にエンコードします。
echo -n '<github_oauth_client_secret>' | base64
$ echo -n '<github_oauth_client_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 の使用方法 を参照。
手順
Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OpenShift Dev Spaces namespace。デフォルトは
openshift-devspacesです。 - 2
- これは、組織が使用している GitHub 製品によって異なります。GitHub.com または GitHub Enterprise Cloud でリポジトリーをホストする場合は、この行を省略するか、デフォルトの
https://github.comを入力します。GitHub Enterprise Server でリポジトリーをホストする場合は、GitHub Enterprise Server の URL を入力します。 - 3
- この行は GitHub Enterprise Server に対してのみ追加されます。サブドメイン分離を無効にするには、これを
"true"に設定します。サブドメイン分離を有効にするには、これを"false"に設定します。 - 4
- Base64 でエンコードされた GitHubOAuth クライアント ID。
- 5
- base64 でエンコードされた GitHub OAuth クライアントシークレット。
シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
3.9.1.2. GitLab の OAuth 2.0 の設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが GitLab インスタンスを使用してホストされるリモート Git リポジトリーと連携できるようにするには、以下を実行します。
- GitLab 認定アプリケーション (OAuth 2.0) をセットアップします。
- GitLab で承認されたアプリケーションシークレットを適用します。
3.9.1.2.1. GitLab で承認されたアプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2.0 を使用して GitLab で承認されたアプリケーションを設定します。
前提条件
- GitLab にログインしている。
-
base64が使用しているオペレーティングシステムにインストールされている。
手順
-
アバターをクリックして、
の編集に移動します。 - Name に OpenShift Dev Spaces を入力します。
-
Redirect URI として
https://<openshift_dev_spaces_fqdn>/api/oauth/callbackを入力します。 - Confidential および Expire access tokens のチェックボックスを選択します。
-
Scopes の下で、
api、write_repository、およびopenidのチェックボックスにチェックを入れます。 - Save application をクリックします。
GitLab アプリケーション ID をコピーし、GitLab で承認されたアプリケーションシークレットを適用するときに使用する Base64 にエンコードします。
echo -n '<gitlab_application_id>' | base64
$ echo -n '<gitlab_application_id>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitLab クライアントシークレット をコピーし、GitLab で承認されたアプリケーションシークレットを適用するときに使用する Base64 にエンコードします。
echo -n '<gitlab_client_secret>' | base64
$ echo -n '<gitlab_client_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.2.2. GitLab で承認されるアプリケーションシークレットの適用 リンクのコピーリンクがクリップボードにコピーされました!
GitLab で承認されるアプリケーションシークレットを準備し、これを適用します。
前提条件
- GitLab 認証アプリケーションの設定が完了します。
GitLab で承認されるアプリケーションの設定時に生成された Base64 でエンコードされた値が作成されます。
- GitLab Application ID
- GitLab Client Secret
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照。
手順
Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
3.9.1.3. Bitbucket サーバーの OAuth 2.0 の設定 リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2.0 を使用すると、ユーザーが Bitbucket Server でホストされているリモート Git リポジトリーを操作できるようになります。
- Bitbucket Server で OAuth 2.0 アプリケーションリンクをセットアップします。
- Bitbucket Server のアプリケーションリンクシークレットを適用します。
3.9.1.3.1. Bitbucket Server での OAuth 2.0 アプリケーションリンクのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server で OAuth 2.0 アプリケーションリンクをセットアップします。
前提条件
- Bitbucket Server にログインしている。
-
base64が使用しているオペレーティングシステムにインストールされている。
手順
- Administration > Applications > Application links に移動します。
- Creae List を選択します。
- External application および Incoming を選択します。
-
Redirect URL フィールドに
https://<openshift_dev_spaces_fqdn>/api/oauth/callbackを入力します。 - Application permissions で Admin - Write チェックボックスを選択します。
- Save をクリックします。
Client ID をコピーし、Bitbucket アプリケーションリンクのシークレットを適用するときに使用できるように Base64 にエンコードします。
echo -n '<Bitbucket_Client_ID>' | base64
$ echo -n '<Bitbucket_Client_ID>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow Client secret をコピーし、Bitbucket アプリケーションリンクシークレットを適用するときに使用できるように Base64 にエンコードします。
echo -n '<Bitbucket_Client_secret>' | base64
$ echo -n '<Bitbucket_Client_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.3.2. Bitbucket Server の OAuth 2.0 アプリケーションリンクシークレットの適用 リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server の OAuth 2.0 アプリケーションリンクシークレットを準備して適用します。
前提条件
- アプリケーションリンクが Bitbucket Server にセットアップされている。
Bitbucket アプリケーションリンクの設定時に生成された Base64 エンコードされた値が準備されています。
- Bitbucket Client ID
- Bitbucket Client secret
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照。
手順
Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
3.9.1.4. Bitbucket Cloud 向け OAuth 2.0 の設定 リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Cloud でホストされているリモート Git リポジトリーをユーザーが操作できるようにすることができます。
- Bitbucket Cloud で OAuth コンシューマー (OAuth 2.0) をセットアップします。
- Bitbucket Cloud に OAuth コンシューマーシークレットを適用します。
3.9.1.4.1. Bitbucket Cloud で OAuth コンシューマーを設定する リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Cloud で OAuth 2.0 の OAuth コンシューマーをセットアップします。
前提条件
- Bitbucket Cloud にログインしている。
-
base64が使用しているオペレーティングシステムにインストールされている。
手順
- アバターをクリックして、All workspaces ページに移動します。
- ワークスペースを選択してクリックします。
-
に移動します。 - Name に OpenShift Dev Spaces を入力します。
-
Callback URL として
https://<openshift_dev_spaces_fqdn>/api/oauth/callbackと入力します。 - Permissions で、Account と Repositories のすべてのチェックボックスをオンにして、Save をクリックします。
追加したコンシューマーをデプロイメントしてから、キー 値をコピーして Base64 にエンコードし、Bitbucket OAuth コンシューマーシークレットを適用するときに使用します。
echo -n '<bitbucket_oauth_consumer_key>' | base64
$ echo -n '<bitbucket_oauth_consumer_key>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow Bitbucket OAuth コンシューマーシークレットを適用するときに使用するために、Secret 値をコピーして Base64 にエンコードします。
echo -n '<bitbucket_oauth_consumer_secret>' | base64
$ echo -n '<bitbucket_oauth_consumer_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.4.2. Bitbucket Cloud に OAuth コンシューマーシークレットを適用する リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Cloud の OAuth コンシューマーシークレットを準備して適用します。
前提条件
- OAuth コンシューマーは Bitbucket Cloud でセットアップされます。
Bitbucket OAuth コンシューマーのセットアップ時に生成された Base64 でエンコードされた値が準備されます。
- Bitbucket OAuth コンシューマーキー
- Bitbucket OAuth コンシューマーシークレット
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照。
手順
Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
3.9.1.5. Bitbucket サーバー向け OAuth 1.0 の設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが Bitbucket サーバーでホストされるリモート Git リポジトリーと連携できるようにするには、以下を実行します。
- Bitbucket Server でアプリケーションリンク (OAuth 1.0) を設定します。
- Bitbucket Server のアプリケーションリンクシークレットを適用します。
3.9.1.5.1. Bitbucket Server でのアプリケーションリンクの設定 リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server で OAuth 1.0 のアプリケーションリンクをセットアップします。
前提条件
手順
コマンドラインでコマンドを実行して、次の手順に必要なファイルを作成し、アプリケーションリンクシークレットを適用するときに使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
に移動します。 -
URL フィールドに
https://<openshift_dev_spaces_fqdn>/と入力し、Create new link をクリックします。 - 提供されたアプリケーション URL が一度リダイレクトされました で、この URL を使用する チェックボックスをオンにして、続行 をクリックします。
- Application Name に OpenShift Dev Spaces を入力します。
- Application Type として Generic Application を選択します。
- OpenShift Dev Spaces を Service Provider Name として入力します。
-
bitbucket-consumer-keyファイルの内容を Consumer キー として貼り付けます。 -
bitbucket-shared-secretファイルの内容を Shared シークレット として貼り付けます。 -
リクエストトークンの 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/authorizeと入力します。 - 受信リンクの作成 チェックボックスをオンにして、続行 をクリックします。
-
bitbucket-consumer-keyファイルの内容を Consumer Key として貼り付けます。 - コンシューマー名 として OpenShift Dev Spaces を入力します。
-
public-stripped.pubファイルの内容を 公開鍵 として貼り付け、Continue をクリックします。
3.9.1.5.2. Bitbucket Server 用にアプリケーションリンクシークレットを適用する リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server のアプリケーションリンクシークレットを準備して適用します。
前提条件
- アプリケーションリンクが Bitbucket Server にセットアップされている。
アプリケーション連携の設定時に作成された以下のファイルが用意されています。
-
privatepkcs8-stripped.pem -
bitbucket-consumer-key -
bitbucket-shared-secret
-
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照。
手順
bitbucket-consumer-keyファイルの内容を Base64 にエンコードします。echo -n '<bitbucket-consumer-key file content>' | base64
$ echo -n '<bitbucket-consumer-key file content>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow bitbucket-shared-secretファイルの内容を Base64 にエンコードします。echo -n '<bitbucket-shared-secret file content>' | base64
$ echo -n '<bitbucket-shared-secret file content>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
3.9.1.6. Microsoft Azure DevOps サービス用の OAuth 2.0 の設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが Microsoft Azure Repos でホスティングされているリモート Git リポジトリーを操作できるようにするには:
- Microsoft Azure DevOps Services OAuth アプリケーション (OAuth 2.0) をセットアップします。
- Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用します。
3.9.1.6.1. Microsoft Azure DevOps Services OAuth アプリケーションのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2.0 を使用して、Microsoft Azure DevOps Services OAuth アプリケーションをセットアップします。
前提条件
Microsoft Azure DevOps Services にログインしています。
重要組織
では、OAuth を使用したサードパーティーアプリケーションのアクセスが有効になっています。組織のアプリケーション接続とセキュリティーポリシーの変更 を 参照してください。-
base64が使用しているオペレーティングシステムにインストールされている。
手順
- https://app.vsaex.visualstudio.com/app/register/ にアクセスしてください。
以下の値を設定します。
-
会社名:
OpenShift Dev Spaces -
アプリケーション名:
OpenShift Dev Spaces -
Application website:
https://<openshift_dev_spaces_fqdn>/ -
Authorization callback URL:
https://<openshift_dev_spaces_fqdn>/api/oauth/callback
-
会社名:
- Select Authorized scopes で、Code (read and write) を選択します。
- Create application をクリックします。
Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用する際に使用するために、アプリケーション ID をコピーし、Base64 にエンコードします。
echo -n '<microsoft_azure_devops_services_oauth_app_id>' | base64
$ echo -n '<microsoft_azure_devops_services_oauth_app_id>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Show をクリックして、Client Secret を表示します。
Microsoft Azure DevOps Services OAuth アプリケーションシークレットを適用する際に使用するために、クライアントシークレット をコピーし、Base64 にエンコードします。
echo -n '<microsoft_azure_devops_services_oauth_client_secret>' | base64 -w 0
$ echo -n '<microsoft_azure_devops_services_oauth_client_secret>' | base64 -w 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.6.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 の使用方法 を参照。
手順
Secret を準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを適用します。
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力に Secret が作成されたことを確認します。
- OpenShift Dev Spaces サーバーコンポーネントのロールアウトが完了するまで待ちます。
3.9.2. Dev Spaces ユーザーのクラスターロールの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dev Spaces ユーザーにクラスターロールを追加することで、より多くのクラスター権限を付与できます。
前提条件
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照。
手順
ユーザーロール名を定義します。
USER_ROLES=<name>
$ USER_ROLES=<name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 一意のリソース名。
OpenShift Dev Spaces Operator がデプロイされている namespace を見つけます。
OPERATOR_NAMESPACE=$(oc get pods -l app.kubernetes.io/component=devspaces-operator -o jsonpath={".items[0].metadata.namespace"} --all-namespaces)$ OPERATOR_NAMESPACE=$(oc get pods -l app.kubernetes.io/component=devspaces-operator -o jsonpath={".items[0].metadata.namespace"} --all-namespaces)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールを OpenShift Dev Spaces Operator に委譲します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールを
cheサービスアカウントに委譲するように OpenShift Dev Spaces Operator を設定します。kubectl patch checluster devspaces \ --patch '{"spec": {"components": {"cheServer": {"clusterRoles": ["'${USER_ROLES}'"]}}}}' \ --type=merge -n openshift-devspaces$ kubectl patch checluster devspaces \ --patch '{"spec": {"components": {"cheServer": {"clusterRoles": ["'${USER_ROLES}'"]}}}}' \ --type=merge -n openshift-devspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロールをユーザーに委譲するように OpenShift Dev Spaces サーバーを設定します。
kubectl patch checluster devspaces \ --patch '{"spec": {"devEnvironments": {"user": {"clusterRoles": ["'${USER_ROLES}'"]}}}}' \ --type=merge -n openshift-devspaces$ kubectl patch checluster devspaces \ --patch '{"spec": {"devEnvironments": {"user": {"clusterRoles": ["'${USER_ROLES}'"]}}}}' \ --type=merge -n openshift-devspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenShift Dev Spaces サーバーコンポーネントのロールアウトが完了するまで待ちます。
- ログアウトして、新しいロールを適用するようにユーザーに依頼します。
3.9.3. GDPR に準拠したユーザーデータの削除 リンクのコピーリンクがクリップボードにコピーされました!
個人データを消去する権利を個人に強制する General Data Protection Regulation (GDPR) に従って、OpenShift Container Platform 上のユーザーのデータを削除できます。他の Kubernetes インフラストラクチャーのプロセスは異なる場合があります。Red Hat OpenShift Dev Spaces のインストールに使用しているプロバイダーのユーザー管理のベストプラクティスに従ってください。
次のようにユーザーデータを削除すると、元に戻すことはできません。削除されたデータはすべて削除され、復元できなくなります。
前提条件
-
OpenShift Container Platform クラスターの管理権限を持つアクティブな
ocセッション。Getting started with the OpenShift CLI を参照してください。
手順
次のコマンドを使用して、OpenShift クラスター内のすべてのユーザーをリスト表示します。
oc get users
$ oc get usersCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーエントリーを削除します。
ユーザーに関連するリソース (プロジェクト、ロール、サービスアカウントなど) がある場合は、ユーザーを削除する前に、まずそれらを削除する必要があります。
oc delete user <username>
$ oc delete user <username>