ちょっと話題の記事

Fin-JAWS 第11回 最近の金融AWS事情 ~2020春〜レポート #finjaws11 #finjaws #jawsug

Fin-JAWS 第11回 最近の金融AWS事情 ~2020春〜のレポートです。
2020.04.14

こんにちは、臼田です。

Fin-JAWS 第11回 最近の金融AWS事情 ~2020春〜 が開催されましたのでレポート致します。

Fin-JAWS 第11回 最近の金融AWS事情 ~2020春〜 - connpass

今回はChimeのリモート配信に参加しました。

レポート

株式会社Finatext 田島 悟史さん『金融スタートアップにおける、セキュアなAWSの運用』

  • Finatext Holdings
    • 「金融をサービスとして再発明する」
    • 証券ビジネスプラットフォーム(BaaS)を展開している
  • 今回はビジネスよりはテック寄り、深めに話す
  •  目指すべきセキュアとは
    • リスクをゼロにすればいい?
      • リスクゼロがセキュアではない
      • 通常ゼロになるのはありえない
    • FISCに求められる要件
      • FISCではリスクベースアプローチが取り入れられている
      • リスクゼロを追求することは必ずしも合理的ではない
      • バランスを取ることが大事
    • Finatextが置かれた状況
      • 金融サービスを提供している
      • お客様の情報・資産を守ることは最大の優先事項
      • 同時にスタートアップのため潤沢なリソースはなく、生産性を犠牲に出来ない
      • AWSアカウントは50個管理している
    • 目指すべきセキュア
      • バランスの取れたセキュリティの統制の実現
      • 実際にやっていることを紹介する
      • ベストプラクティスかどうかはわからない
  • ガードレール戦略
    • ガードレールとは
      • ここ数年AWSが提唱している概念
      • 予防的統制より発見的統制を
        • ガードレールは本当に危険なところ以外は自由にやっていいようにする
      • バランスの取れたセキュリティの統制を実現する上ですごく大事
    • ガードレール戦略の例
      • AWSアカウントの分離
        • AWS Organizationsを活用して積極的に分ける
        • サービス単位、環境単位
        • 新規AWSアカウントの作成の手間はできる限り低く
      • オペレーションの制限
        • AWS OrganizationsのSCPsを活用
        • 強い権限での活動を制限
          • ログや監視の設定変更を禁止など
          • 海外リージョンの利用を制限
      • オペレーションの監視
        • AWS Lambdaを利用して多くのログをリアルタイムに監視
        • 問題があればSlackに通知される
    • ブログもあるよ
  • ルートアカウント管理
    • ルートアカウントはAWSで一番強い権限を持つ
    • よくある課題
      • 使うなと言われていても日常的に使っている
      • 複数のAWSアカウントで同一のパスワード
      • エンジニアや社員が誰でもパスワードリセット出来てしまう
      • 不正に使われても気づけないかも
    • Finatextにおける管理方法
      • パスワード管理
        • 1Password Businessを契約している
        • すべてのアカウントで推測不可能なパスワード設定
      • メールアドレス
        • エイリアスを使って管理
        • パスワードリセットのメールだけはフィルタで弾く
          • タイトルベースでフィルターかけると言語設定でバイパスできる
          • アドレスベースがいい
      • MFA
        • 重要度に応じて2種類の管理を実施
          • 重要度低
            • 1Passwordで管理
          • 重要度高
            • YubiKeyで管理
            • 安全な場所に保管
      • アクティビティの監視
        • CloudTrailをリアルタイムで監視
        • ルートアカウントでのAPIコールがあったらすぐにSlackで通知
        • G Suiteのログインも監視
      • YubiKeyによるMFAの管理
        • YubiKeyはU2Fとして利用が一般的
        • 現状AWSの使用上U2Fは1つしか登録できない
        • YubiKeyが壊れたらおしまい
        • 実はYubiKeyを仮想MFAデバイスとして使うこともできる
        • これにより複数台のYubiKeyにMFAの設定ができるようになる
  • Atlantisによる変更管理
    • 変更管理とは
      • AWS上にリソースを構築したり更新すること
      • いわゆるIaC
      • terraformを使っている
    • AtlantisとはTerraformの運用をサポートするツール
    • 統制の効いた使い方ができる
    • 構成イメージ
      • GitHubにPRするとAtlantisにWebhookしてplanが走る
      • plan結果をGitHubにコメント
      • Applyすると実際に反映
    • Finatextにおける使い所
      • 全社的に統一しておきたいリソースの管理に使っている
    • 導入前のフロー
      • PR誰でも
      • レビュー
      • ローカルでPlan
    • 導入後フロー
      • PR誰でも
      • レビューした後はAtlantisで実行される
    • 導入によって
      • 情報の共有が簡単
      • terraform applyが失敗することがあるのを前提にしたフローになっているのはすごくいい
      • ボトルネックになりがちなレビュアーの負荷が下がった

感想

ガードレールをしっかり実践していて、いいノウハウでした!Atlantisを使ってみたいですね!

アマゾンウェブサービスジャパン株式会社 飯田 哲夫さん『最近の金融AWS事情~2020春 〜』

聞けなかったので共有された資料を載せておきます(´;ω;`)

株式会社野村総合研究所 吉竹 直樹さん『金融アプリエンジニアが始めるAWS』

聞けなかったので共有された資料を載せておきます(´;ω;`)

株式会社QUICK フィンテック事業室 関 一朗さん『ブロックチェーン向け金融・経済情報サービス(オラクル)について』

  • あんまりAWSAWSしてない話
  • QUICKの暗号資産・ブロックチェーン分野での取り組み
    • bitFlyerへ出資
    • 日本ブロックチェーン協会加入
    • などなど
    • ブロックチェーン向け金融・経済情報サービスをCryptactと共同開発
    • ティザーサイトでのデータ配信や指標の試験算出を行った
  • ブロックチェーン利用形態の整理
    • 証跡記録
      • トレーサビリティ
    • 価値移転
      • 地域通貨、デジタル証券等
      • 一番イメージしやすいかも
    • 自動契約執行
      • プライベートエクイティ、デリバティブ、保険など
      • 執行のトリガーをもとに条件判定と契約執行
      • 結果もブロックチェーンに記録
  • スマートコントラクト(広義)
    • コントラクト(契約)を情報技術で最適化して解決する考え
      • 古典的な例
        • 自動販売機
        • 商品売買の自動化
        • ICカードのオートチャージ
        • 残高が設定を下回ると自動でチャージする契約行為
    • 取引のプロセスを自動化できるので期間の短縮やコスト削減が期待できる
  • スマートコントラクト(狭義)
    • Ethereum等のブロックチェーン上でプログラム化して自動的に動作する契約
    • ブロックチェーンの特徴
      • 不特定多数の参加者に支えられる分散型大腸
      • 誰かがコントロールすることが難しくトラストレスなシステムの実現が期待される
    • ブロックチェーンのメリット
      • インターネットでは二重支払いなどの不正が簡単
      • それらを防げる
    • 流れ
      • 契約を事前定義
      • イベント発生
      • 契約執行
      • 決済
      • ブロックチェーン上に記録されるため改ざんは実質的に不可能
  • スマートコントラクトの課題
    • 信頼できる外部情報をどう取得するか
      • ブロックチェーン外部の情報をブロックチェーンに提供するエンティティが必要となる
      • オラクルと呼ばれる
    • オラクルの役割: なぜ必要なのか
      • スマートコントラクトの入力と異なる外部情報をブロックチェーンに記録
        • ブロックの積み重ねでデータが追加されている
        • 途中で書き換えたらハッシュが正しくなくなるのでそれ以降のブロックが正しいことを証明できない
        • スマートコントラクトはブロックチェーンに記録されたプログラム
        • スマートコントラクトを実行するとブロックチェーンに記録される
        • 入力データはブロックチェーンに記録されたものしか使えない
        • Webから取得みたいなことはできない
          • 後から参照できなくなるため
  • Ethereumノードの24.6%はAWSで稼働している
  • QUICKでも各ブロックチェーンのノードをAWSで構築
    • Bitcoin / Bitcoin Cash / Ethereumを立てた
    • ブロックチェーンの同期はどれも概ね2-3日かかる
  • Amazon Managed Blockchain
    • スケーラブルなブロックチェーンネットワークを構築できる
    • まだ使ったことはない
    • わかりやすい図!
  • ブロックチェーン向け金融・経済情報サービス(β版)
    • EthereumのTestNetの情報を提供
    • ブロックチェーンのノードにEC2を利用している
    • コード作成からコントラクト生成までの流れ
      • コード作成、コンパイル
      • トランザクションの送信
      • ノード上で作成される
    • データ記録
      • データをトランザクション
      • ノードで記録
    • データ応答
      • 外部利用者が外部ノードに参照トランザクション
      • QUICKコントラクトが応答
    • 利用例
      • オプション取引の実証実験をした
      • オプション売り手が生成して売る
      • QUICKのコントラクトが価格情報の応答をしてペイオフ

感想

実際に金融機関でブロックチェーンを利用している例が聞けて面白かったです。どのように実用化されていくか楽しみですね。

まとめ

AWSアカウントの管理はある程度大きくなってくるとしっかりガバナンス効かせる必要があるのでFinatextさんの例は非常に参考になると思いました。他にもControl Towerを使う方法もあると思うのでどんどん事例が出てきてほしいですね。

ブロックチェーンの活用事例は貴重なので興味深かったです。バージョンアップへの追随とかも大変そうなので、そのあたりも気になりました。

半分しかレポートできなくてすいません。資料をお待ち下さい!