MENU
category

Content Agent を利用してRole Collection を移送してみた

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の有効化と領域作成が実施済であること。

構築手順

  1. サービスキーの有効化&サービスキーの作成
    • 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 サービスキーを作成
  2. ロールコレクションの割り当て
    • DEV
      • CASのロールコレクションを操作対象ユーザに割り当てる
        • Content Agent Admin(UI操作権限)
        • Content Agent Secure Content Operator(Role Collectionエクスポート/インポートに必要な権限)
    • COM
      • CTM(lite)ロールコレクションを操作対象ユーザに割り当てる
        • ロールコレクションを新規に作成して、CTM関連ロールを全て適用(本来はもう少し必要なロールを選定した方が良い)
  3. Destination作成
    • DEV & PRD
      • 上記で作成した各Subaccountのxsuaa サービスキーを利用して、Destination(XSUAARoleCollections)を作成。詳細はこちらを参照。
      • 上記で作成したCTM standardインスタンスへのDestination(TransportManagementService)を作成。詳細はこちらを参照。
    • COM
      • 上記で作成したCAS application planのサービスキーを利用して、移送先 PRD環境のCASへのDestinationを作成する。詳細はこちらを参照。
  4. 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を使用する。

移送の実行

  1. DEV環境のCAS free plan のUIから、「Export」を選択し、対象のRoleCollectionを移送する。

※エクスポート先で、CTMを選択するとCTMに連携できる。

注意事項

  • 移送するロールコレクションに紐づくロールが移送先Subaccountに存在しない場合

移送に失敗する。そのため、移送先のSubaccountには移送するロールコレクションに紐づくロールを予め作成する必要がある。つまり、ロール自体を移送できるのではなくロールコレクションと、ロールの紐づきのみを移送してくれるものと理解。

  • 移送するロールコレクションに紐づくユーザが移送先Subaccountに存在しない場合

ユーザが移送先に自動作成され、移送に成功する。(厳密にはユーザを作成した旨の警告が発生する。)
そのため、上記ロールの動作と異なり、ユーザについては、ロールコレクションとの紐づきだけでなく、ユーザ自体が移送対象となる理解。

  • 移送対象にユーザを選択しない場合

移送したロールコレクションには、ユーザの割り当てが無い状態になる。移送を行う前に割り当てていたユーザがあったとしても、その設定が消える動作となる。

  • 一度移送したロールコレクションに紐づくロールの設定(説明文など)を変更して再度移送した場合

移送元でのロールの設定変更は、移送先に反映されない。ロールについては、あくまでもロールそのものの移送ではなく、ロールコレクションとの紐づきのみを移送するという理解。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次