概要
受託開発企業で働くfussasyといいます。普段は、SAP BTP(PaaS)上でSAP Fioriアプリケーション開発をしています。SAP Fioriアプリケーションを開発する際、大抵はソース管理にGithubを利用すると思います。SAP社も標準構成として推奨しています。また、Github社ではGithubでMFA対応することを 強制 推奨しています。今回、SAP社の標準WebIDEであるSAP Business Application Studioと、MFA設定済のGithubを接続するときの手順について簡単に説明します。
SAP Business Application Studioから、MFA設定済のGithubに接続する
GithubでMFAを設定する
1.まずはGitHubにログイン(1Password)
2.右上隅にあるプロファイルの画像をクリックし、次に[設定/Settings]をクリック
3.サイドバーの [Access] セクションで、 [Password and authentication] をクリック
4.[2 要素認証] で、 [2 要素認証を有効にする] をクリック
ワンタイムパスワード (TOTP) アプリケーション(Google Authenticator等です)で設定することが推奨されています。設定した際には、リカバリ コードの保存で、 ダウンロードして保管しておきましょう。
また、Githubモバイルアプリケーションを使った2要素認証も可能です。
SAP Business Application Studio(SAP BAS)と接続する
GithubでsapというPrivateリポジトリを作成しました。こちらにSAP BASから接続してみたいと思います。SAP BASで左上のハンバーガメニューから「File」→「Open Folder...」を選択し、「/home/user/projects/」で開きます。開いた先で、左上のハンバーガメニューから「Terminal」→「New Terminal」で、Terminalを開きます。現在地がprojectになっているはずなので、ここでGit Clone(Clone先は、作成したPrivateリポジトリ)をしてみます。すると、Githubの初回接続時に認証メッセージが表示されるので、コードを控えて、「Copy and Open Github」を押下します。
Githubにログイン(Sign in to Github)します。MFA設定している場合は、そちらでも認証します(Two-factor authentication)。TOTPアプリケーション、もしくはGithubモバイルアプリ等で認証できます。なお既にGithubにログイン済の場合には、この画面は割愛されます。
SAP BASとGithubを接続を許可するか確認されますので、「Authorize SAP」で許可しましょう。(ここでのアウトバウンドIPアドレスは固定です。後述。)
SAP BASに戻ると、Githubを常時接続するか、今回のセッションのみに限るかを選択するメッセージが出ます。(これ以後、通常のGit利用方法と同様です。)
補足事項
企業Gitリポジトリ、証明書が必要なGitリポジトリへの接続
今回はパブリックGithubへ接続しました。オンプレミス版のGitリポジトリに接続する場合は、SAP Cloud Connectorを利用して接続します。証明書が必要なパブリック Git サーバへの接続には、SAP BTP CockpitでDestination設定が必要となります。
SAP Business Application StudioのIPアドレスについて
SAP Business Application StudioのみIPアドレスを許可したい場合、以下の公式ドキュメントにアウトバウンドIP情報が記載されています。
https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability
日本国内で利用されるSAP BTPの場合、主に東京リージョンのAWS IaaSが選択される(それ以外を選択する理由が特別にない)ため、多くは以下のアウトバウンドIPとなっていることでしょう。(今回の検証で接続した際も、52.198.200.83からのGithub接続でした。)
52.198.200.83
52.68.68.77
54.64.113.216
13.113.231.142
35.76.193.116
35.76.58.2
おわりに
SAP Business Application Studioで開発したことがなければ、実際にどういう手順なのか、そもそも接続できるのか、気になるところだと思うので、今回の記事を作成させていただきました。手順自体は簡単なので、一度試してみれば理解は深まるものと思います。