はじめに
本記事では、SecureX Orchestrationで作成いただいたWorkflowをトラブルシューティング目的でTACエンジニアにGitHubで共有する方法を説明いたします。Private Repositoryを作成をすることによって、特定のTACエンジニア/開発エンジニアのみに作成したWorkflowにアクセスさせることが可能となります。
また、本記事の趣旨とは異なりますが、TACへの共有とは別の観点で、SecureX OrchestrationのWorkflowは簡単な操作で想定外の変更がかかることがあるため、Backupという意味でもGitHubに限らないGit Repositoryを設定することをお勧めいたします。
前提条件
-
本件に記載の内容はSecureX Orchestrationのサービスやバックエンドのトラブル調査のために、お客様のWorkflowを共有いただくための手順となります。Workflowの作成方法のQAや通常動作のDebugはサポートケースの対象外となりますためご了承ください。
-
Workflowからお客様が実際に使用しているCredential(パスワードやAPI Keyなど)や個人情報などの機密情報を含めないよう編集した後でExportを実施するようご注意お願いします。GitHub側へ不適切な情報がアップロードされた場合に当社としては対応致しかねます。
- 本記事に記載されている手順はTACからの指示があった場合にのみ実施いただきますようお願いいたします。ケースオープン時には実施いただかないようお願いいたします。
- SRクローズ時は本記事に記載した「Ciscoでの解析作業が完了した後の処理」の項目に従って、CiscoエンジニアをCollaboratorから削除することを忘れないようにお願いいたします。
-
本記事は2022年9月7日時点のGitHubを前提とした動作説明となります。GitHubのアップデートによって記載している手順通りに動作しなくなる場合がございます。
手順
GitHub Accountの作成
GitHubへアクセスし、アカウントを持っていない場合はSign-upでアカウントを作成します。プランはFreeで問題ありません。すでにgithubアカウントを持っている場合はこちらの手順は飛ばしてください。
Private Repositoryの作成
作成したアカウントでGitHubにログイン後、PrivateのRepositoryを作成します。

以下の通り必要な情報を入力してRepositoryを作成します。
- Repository nameは後ほどTACにシェアするため、SR番号など問い合わせ内容がわかるように入力します。
- 必ずPrivateを選択してください。Publicを選択すると誰からでもアクセスが可能となります。
- 空のRepositoryですとSecureX Orchestration側でエラーが発生するため、Add a README fileにチェックは入れておきます。
全て入力したらCreate repositoryをクリックしてRepositoryを作成します。


作成後、以下の通りusername / 作成したRepository名が表示されPrivateとなっていることを確認します。

これでPrivate Repositoryの作成は完了です。
次にGitHubのAPIにアクセスするための、Personal Access Tokenを発行します。
Personal Access Tokenの発行
SecureX OrchestrationからのGitHubへのアクセスにはAPIを使用します。
2020年11月13日以降、GitHubではAPIアクセスにusername/passwordによるログイン認証を使えなくなったため、Personal Access Tokenを発行する必要があります。
以下の通り、ユーザの設定ページより、Settings -> Developer Settingへアクセスします。


Personal access tokensをクリックし、Generate new tokenをクリックします。

New personal access tokenに必要な情報を入力します。

以下の通り、Personal Access Tokenが発行されます。2度と表示されないため、Personal Access Tokenはどこかにコピー&ペーストして保存しておきます。

以上がPersonal Access Tokenの発行手順となります。
これからPersonal Access TokenによるAPIアクセスを用いて、SecureX OrchestrationのWorkflowをGitHubのrepositoryに連携します。
SecureX Orchestration WorkflowをGitHubと連携
まず、SecureX Orchestrationにログインします。
上記はAPJC RegionのURLになりますが、お使いいただいているリージョンに合わせてアクセスしてください。
画面左のメニューから、Admin -> Git Repositoriesをクリックし、New Git Repositoryをクリックします。

Gitの情報を以下の通り入力します。
- Display Name : Workflowで指定するGitの設定の名前となります。
- No Account Keys -> 認証なしではアクセス不可能なのでFalseを入力します
- Default Account Keys -> ADD NEWをクリックし、作成済みのGibHubのusernameと、発行したPersonal Access Tokenをパスワードとして入力します。
- Protocol: HTTPS
- REST API Repository Type: GitHub
- REST API Repository: api.github.com/repos/<GitHubユーザ名>/<作成したPrivate Repository名>
- Branch: main
- Code Path: Directoryを指定している場合は入力なければトップDirectoryとなります
入力後Submitをクリックします。
SecureX Orchestrationのトップページから連携するWorkflowの編集ページに移動します。

画面右のGit Repositoryから先ほど作成したGitの設定を選択します。

画面上部からCommitボタンをクリックします。

ファイル名とCommitのコメントを入力しCommitをクリックします。
Commitのコメントは後で参照するTACエンジニアからもわかる名前で保存するようお願いします。

Commitが成功すると以下のダイアログが表示されます。

GitHubのRepositoryを確認すると以下の通り、Workflowのフォルダと、その中にWorkflowの実態であるjsonファイルが作成されていることが確認できます。

以上でGitHubのRepositoryにWorkflowをExportすることができました。
最後にCisco担当者をCollaboratorとして追加します。
Cisco担当者をCollaboratorとして追加
Private RepositoryにCisco担当者をCollaboratorとして招待します。
必要に応じてInviteが必要なメンバーが変わってきますため、必ずどのメールアドレスにinviteを送付するか確認の上で追加をお願いいたします。
RepositoryのSettings -> Collaboratorsにアクセスし、Add peopleをクリックします。

TACエンジニアから指定されたEmail Addressを入力しRepositoryに招待します。

追加したユーザがPending inviteをなっていることを確認します。

TACエンジニアにInviteを送付した旨、ケースで連絡をします。
以上でSecureX OrchestrationのWorkflowがGitHubでTACエンジニアに共有されます。
Ciscoでの解析作業が完了した後の処理
TACによる解析作業が完了した後は必ずCollaboratorからCiscoエンジニアを削除するようお願いします。
Repositoryのページから Settings -> Collaborators -> Manage Accessにて、該当ユーザをRemoteしてください。
