メインコンテンツへ
Section 16第3部 Implementation Layer

SSP の実装を書く

受発注システムの SSP に、システム実装を書いてみましょう。部品、利用者、機器台帳の 3 つのリストをそろえます。

  • components に、自システム(this-system)と外部サービスの部品を書ける。
  • 利用者の種類を users と role-ids で書ける。
  • 機器と部品の関係を inventory-items で書ける。

受発注システムの SSP に、3 つ目のブロック system-implementation(システムの実装)を書きます。監査でシステム構成の説明を求められて、構成図や機器の一覧を出したことのある方もいるはずです。あの説明にあたる内容を、部品(components)、利用者(users)、機器の台帳(inventory-items)の 3 つのリストで書きます。

部品の一覧:components

最初は部品です。IFA の実物で読んだとおり、SSP の components には type: this-system の部品を必ず 1 件置きます。システム自身、ここでは受発注システムの Web アプリケーション本体です。

そこに、このシステムのセキュリティを支える外部サービスや設備を並べていきます。受発注システムの部品は 3 つです。

部品type役割
受発注システムthis-systemWeb アプリケーション本体
アオバドライブserviceバックアップの保管先
入退室管理システムserviceサーバー室への入室の管理

SSP の components では、部品ごとに status(稼働状態)が必須になります。書き方は system-characteristics の status と同じで、動いている部品は state: operational です。

  system-implementation:
    components:
      - uuid: 180b8d1f-fe98-4762-9ea5-f661db3859ec
        type: this-system
        title: 受発注システム
        description: ミナト精機が内製した、受発注の Web アプリケーション本体。
        status:
          state: operational
      # …アオバドライブ、入退室管理システムと続く…
クイズ(コードを書く)

components の 2 件目に、アオバドライブを書き足してください。type は上記の表を参照してください。description は「アオバクラウド株式会社が提供するファイル保管のクラウドサービス。バックアップの保管先として利用する。」、稼働状態は運用中です。

3 件目の入退室管理システムも同じ形です(type: service。description は、第 13 セクションの共通部品定義に書いた説明を流用して構いません)。完成形は章末にまとめて示します。

利用者の種類:users

users は、このシステムを使う人の種類分けです。個人名の一覧ではなく、「どんな立場の人がいるか」を書きます。受発注システムの利用者は 2 種類です。

種類誰か
受発注システムの利用者取引先との受発注データを登録し、参照する従業員
受発注システムの管理者情報システム部の担当者。アカウントの発行と削除、設定変更を行う

1 件の users には role-ids という項目があり、metadata に定義した役割(roles)の id を指します。SSP の metadata には、これまでの必須 4 項目に加えて、次のように roles を書いておきます。

  metadata:
    title: ミナト精機 受発注システム セキュリティ計画書
    # …略…
    roles:
      - id: system-user
        title: 受発注システムの利用者
      - id: system-admin
        title: 受発注システムの管理者

役割を metadata に一度定義し、users からは id で参照する。少しまどろっこしい感じもしますが、この形に慣れるようにしましょう。

クイズ(コードを書く)

users の 2 件目に、受発注システムの管理者を書き足してください。説明は「情報システム部の担当者。アカウントの発行と削除、システムの設定変更を行う。」、役割の id は metadata の roles に定義した 2 つから適切なものを選んでください。

機器の台帳:inventory-items

最後のリストは inventory-items、機器や構成物の台帳です。components が「セキュリティの説明の単位」なら、inventory-items は「実際に存在するモノの一覧」で、資産管理台帳に近い粒度です。

1 件には uuid と description を書き、props で管理番号などの属性を添えます。props は Catalog の章で覚えた「機械向けの補足情報」で、ここでは資産番号(asset-id)を持たせます。そして implemented-components で、この機器がどの部品の一部かを示します。書き方は次のとおりです。component-uuid に、部品の uuid を書きます。

    inventory-items:
      - uuid: 
        description: 
        props:
          - name: asset-id
            value: 
        implemented-components:
          - component-uuid: (この機器が属する部品の uuid)

受発注システムの台帳には、本社サーバー室の Web サーバーを 1 件載せます。資産番号は mk-sv-012 です。参照に使う部品の uuid は、ここまでで次の 3 つが決まっています。

部品uuid
受発注システム(this-system)180b8d1f-fe98-4762-9ea5-f661db3859ec
アオバドライブada2d11f-c849-475c-ac1b-c1b65cd2e083
入退室管理システムbbaf7ee5-2512-40f2-b9e2-94b7cb8ebec6
クイズ(コードを書く)

下記の Web サーバーが、上の 3 つのどの部品の一部かを、implemented-components で書き足してください。Web サーバーは受発注システム本体が動いている機器です。

この章の完成形

system-implementation の全体です。roles を書き足した metadata は省略しています。

  system-implementation:
    users:
      - uuid: d97cf281-1819-4072-b90d-936f617b1c88
        title: 受発注システムの利用者
        description: 取引先との受発注データを登録し、参照する従業員。
        role-ids:
          - system-user
      - uuid: 04e7fa27-1739-44d9-9713-edf65b4ec62f
        title: 受発注システムの管理者
        description: 情報システム部の担当者。アカウントの発行と削除、システムの設定変更を行う。
        role-ids:
          - system-admin
    components:
      - uuid: 180b8d1f-fe98-4762-9ea5-f661db3859ec
        type: this-system
        title: 受発注システム
        description: ミナト精機が内製した、受発注の Web アプリケーション本体。
        status:
          state: operational
      - uuid: ada2d11f-c849-475c-ac1b-c1b65cd2e083
        type: service
        title: アオバドライブ
        description: アオバクラウド株式会社が提供するファイル保管のクラウドサービス。バックアップの保管先として利用する。
        status:
          state: operational
      - uuid: bbaf7ee5-2512-40f2-b9e2-94b7cb8ebec6
        type: service
        title: 入退室管理システム
        description: 本社サーバー室の入退室を IC カードで管理する仕組み。受発注システムのサーバーが置かれたサーバー室への入室を管理する。
        status:
          state: operational
    inventory-items:
      - uuid: b4bcb7fc-1a22-4606-b81d-5d9f9b0fd395
        description: 受発注システムが稼働する、本社サーバー室の Web サーバー。
        props:
          - name: asset-id
            value: mk-sv-012
        implemented-components:
          - component-uuid: 180b8d1f-fe98-4762-9ea5-f661db3859ec

理解の確認

クイズ

components と inventory-items は、どちらもシステムの構成を書く場所です。書き分けとして正しいものはどれですか。

クイズ

SSP の components に置く type: this-system の部品は、何を表していますか。

次へ

システムの実装まで書けました。残るブロックは 1 つ、管理策の実装の control-implementation です。Profile で選んだ 4 件の管理策を、この章で定義した部品と 1 件ずつ対応させます。SSP が完成し、Catalog から始まった文書の連なりがつながります。

このセクションは OSCAL 1.2.2 系の仕様に基づいて執筆しています。