BTPのContent Agent Service(CAS)を利用して、Role Collectionを移送する検証を行ったため、その際の具体的なシナリオ、および構築手順を記載する。
目次
構成図とシナリオ
構成図
シナリオ
- DEV(開発環境)のSubaccountに作成したRole CollectionをPRD(本番環境)のSubaccountに移送する。
- 移送は、CTMを利用して行う。(CTMは、管理用のSubaccount[COM]にあるものとする)
移送環境の構築
構築のポイント
- CASは、CTMとの連携、および、Role Collectionへのアクセスを行うためにDestinationが必要。
- CASからDestinationを指定する設定が無いが、Destinationを指定の名前で作成することでCASはそれらを参照できるようになる仕組み。
- Role Collectionの移送には、XSUAAのインスタンスとそのサービスキーを利用したDestinationが必要。
- CASのfree planは、UIを持つ。application planは、CTMと連携する際の宛先エンドポイントとして利用する。
- CASのUIからRole Collectionのエクスポート、インポートを行う場合にはAdmin権限に加えて、Content Agent Secure Content Operatorの権限も必要。
前提条件
- Subaccount(DEV、COM、PRD)が作成済であること。
- 構成図の水色で記載された有効化するサービス(CTM、CAS、XSUAA)のエンティティが、各Subaccountに対して割り当てられていること。
- DEV ⇒ CAS free plan, XSUAA apiaccess plan
- COM ⇒ CTM lite plan, CTM standard plan
- PRD ⇒ CAS application plan, XSUAA apiaccess plan
- 全てのSubaccountにインスタンス作成先の領域として、予めCloud Foundryの有効化と領域作成が実施済であること。
構築手順
- サービスキーの有効化&サービスキーの作成
- DEV環境
- CAS有効化 (free plan)
- xsuaaを有効化 (apiaccess plan)
- xsuaa サービスキーを作成
- COM
- CTM有効化(lite plan, standard plan)
- CTM standard planからサービスキーを作成
- PRD
- CAS インスタンス有効化 (application plan) ※Adminと、Security Operatorの権限が必要。
- CASサービスキー作成
- xsuaaを有効化 (apiaccess plan)
- xsuaa サービスキーを作成
- DEV環境
- ロールコレクションの割り当て
- DEV
- CASのロールコレクションを操作対象ユーザに割り当てる
- Content Agent Admin(UI操作権限)
- Content Agent Secure Content Operator(Role Collectionエクスポート/インポートに必要な権限)
- CASのロールコレクションを操作対象ユーザに割り当てる
- COM
- CTM(lite)ロールコレクションを操作対象ユーザに割り当てる
- ロールコレクションを新規に作成して、CTM関連ロールを全て適用(本来はもう少し必要なロールを選定した方が良い)
- CTM(lite)ロールコレクションを操作対象ユーザに割り当てる
- DEV
- Destination作成
- CTMノード及びルート作成
- COM
- CTMの管理画面から、DEV_Nodeと、PRD_Nodeの2つのノードを作成しルートでそれらを繋ぐ。
- DEV_Nodeは、Allow Upload To NodeをON、Content Typeと、Destinationは空白とする。(下図参考)
- PRD_Nodeは、Allow Upload To NodeをOFF、Content TypeはMulti-Target Application、DestinationはPRDのCAS宛に作成したDestinationを使用する。
- CTMの管理画面から、DEV_Nodeと、PRD_Nodeの2つのノードを作成しルートでそれらを繋ぐ。
- COM
移送の実行
- DEV環境のCAS free plan のUIから、「Export」を選択し、対象のRoleCollectionを移送する。
※エクスポート先で、CTMを選択するとCTMに連携できる。
注意事項
- 移送するロールコレクションに紐づくロールが移送先Subaccountに存在しない場合
移送に失敗する。そのため、移送先のSubaccountには移送するロールコレクションに紐づくロールを予め作成する必要がある。つまり、ロール自体を移送できるのではなくロールコレクションと、ロールの紐づきのみを移送してくれるものと理解。
- 移送するロールコレクションに紐づくユーザが移送先Subaccountに存在しない場合
ユーザが移送先に自動作成され、移送に成功する。(厳密にはユーザを作成した旨の警告が発生する。)
そのため、上記ロールの動作と異なり、ユーザについては、ロールコレクションとの紐づきだけでなく、ユーザ自体が移送対象となる理解。
- 移送対象にユーザを選択しない場合
移送したロールコレクションには、ユーザの割り当てが無い状態になる。移送を行う前に割り当てていたユーザがあったとしても、その設定が消える動作となる。
- 一度移送したロールコレクションに紐づくロールの設定(説明文など)を変更して再度移送した場合
移送元でのロールの設定変更は、移送先に反映されない。ロールについては、あくまでもロールそのものの移送ではなく、ロールコレクションとの紐づきのみを移送するという理解。