12.3.5.3. OAuth1 を使用するように Bitbucket および CodeReady Workspaces 統合を設定
以下のセクションでは、Bitbucket (BB)リポジトリーで読み取りおよび書き込み操作を実行するのに必要な OAuth 1 認証の設定を説明します。clone
、push
などの許可された Git 操作で BB リポジトリーを使用するには、最初に CodeReady Workspaces で BB エンドポイントを登録し、OAuth 1 認証を設定します。
この手順では、以下が必要です。
- RSA 鍵ペアの生成
- コンシューマーのキーペアの生成
- BB 側でのアプリケーションリンクの作成
- CodeReady Workspaces サーバー側での BB の設定
この手順では、Bitbucket Server の OAuth 1 をアクティベートして以下を実行する方法を説明します。
- Bitbucket Server でホストされる devfile を使用します。
- これは CodeReady Workspaces が Bitbucket Server Personal アクセストークンを取得し、更新できるようにします。
前提条件
-
oc
ツールが利用できる。 - Bitbucket サーバーは、CodeReady Workspaces サーバーから利用できます。
- CodeReady Workspaces のインスタンス
手順
RSA キーペアと公開鍵の省略バージョンを生成します。
openssl genrsa -out <private.pem> 2048
$ openssl genrsa -out <private.pem> 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openssl rsa -in <private.pem> -pubout > <public.pub>
$ openssl rsa -in <private.pem> -pubout > <public.pub>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openssl pkcs8 -topk8 -inform pem -outform pem -nocrypt -in <private.pem> -out <privatepkcs8.pem>
$ openssl pkcs8 -topk8 -inform pem -outform pem -nocrypt -in <private.pem> -out <privatepkcs8.pem>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat <public.pub> | sed 's/-----BEGIN PUBLIC KEY-----//g' | sed 's/-----END PUBLIC KEY-----//g' | tr -d '\n' > <public-stripped.pub>
$ cat <public.pub> | sed 's/-----BEGIN PUBLIC KEY-----//g' | sed 's/-----END PUBLIC KEY-----//g' | tr -d '\n' > <public-stripped.pub>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンシューマーキーと共有シークレットを生成します。
openssl rand -base64 24 > <bitbucket_server_consumer_key>
$ openssl rand -base64 24 > <bitbucket_server_consumer_key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openssl rand -base64 24 > <bitbucket_shared_secret>
$ openssl rand -base64 24 > <bitbucket_shared_secret>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Bitbucket でアプリケーションリンクを設定し、CodeReady Workspaces から Bitbucket サーバーへの通信を有効にします。
- Bitbucket Server で上部のナビゲーションバーをクリックし、Administration > Application Links に移動します。
-
アプリケーション URL:
\https://codeready-<openshift_deployment_name>.<domain_name>
を入力し、 ボタンをクリックします。 -
No response was received from the URL
という警告メッセージが表示されたら ボタンをクリックします。 Link Applications フォームを入力し、 ボタンをクリックします。
- 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
Link Applications フォームを入力し、 ボタンをクリックします。
- Consumer Key
-
<bitbucket_server_consumer_key>
ファイルの内容を貼り付けます。 - Consumer name
-
<CodeReady Workspaces>
- Public Key
-
<public-stripped.pub>
ファイルの内容を貼り付けます。
コンシューマーおよびプライベートキーが含まれる OpenShift シークレットを CodeReady Workspaces プロジェクトに作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この GitHub サンプル のスクリプト全体を参照してください。
関連情報
- Bitbucket Server overview
- Download Bitbucket Server
- Bitbucket Server Personal access tokens
- How to generate public key to application link 3rd party applications
- Using AppLinks to link to other applications
- https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.14/html-single/end-user_guide/index#authenticating-on-scm-server-with-a-personal-access-token.adoc