O’REILLY Learning「Mastering API Architecture」6〜10

https://learning.oreilly.com/library/view/mastering-api-architecture/9781492090625/

Chapter 6. Operational Security: Threat Modeling for APIs

Open Web Application Security Project(OWASP)
ソフトウェアのセキュリティ向上に取り組む非営利財団
OWASP API Security Top 10
https://owasp.org/www-project-api-security/

Threat Modeling 101
「アプリケーションに影響を及ぼす可能性のある脅威、攻撃、脆弱性、および対策を特定するために使用できる手法」
ソフトウェア開発ライフサイクル全体に組み込むべきプロセスです。
理想的には、プロジェクトの開始時に実施し、システムやアーキテクチャの進化に合わせて継続的に見直します。
アプローチ
・目的を特定する
・正しい情報を集める
・システムを分解する
・脅威の特定
・脅威のリスクを評価する
・検証

STRIDE:Spoofing、Tampering、Repudiation、Information disclosure、Denial of Service、Elevation of privilege

DREAD:Damage、Reproducibility、Exploitability、Affected Users、Discoverability

Chapter 7. API Authentication and Authorization

OAuth2
OAuth2 specification:https://datatracker.ietf.org/doc/html/rfc6749
役割定義
・Resource Owner
・Authorization Server
・Client
・Resource Server

Multi-Factor Authentication (MFA)

JavaScript Object Notation (JSON) Web Tokens:JWT、ジョット
OAuth2の事実上の標準トークン
エンコード機構
・JSON Web Signatures (JWS):https://datatracker.ietf.org/doc/html/rfc7515
・JSON Web Encryption (JWE):https://datatracker.ietf.org/doc/html/rfc7516

Authorization Code Grant:https://datatracker.ietf.org/doc/html/rfc6749#section-4.1

Part IV. Evolutionary Architecture with APIs

Chapter 8. Redesigning Applications to API-Driven Architectures

APIはモジュールやコンポーネントの境界となり得るため、システムを高度に結合させ、疎結合にしようとする場合、APIは自然に活用できるポイントになる。

For example, systems can be coupled in a number of ways:
・Functional cohesion
・Sequential cohesion
・Communicational cohesion
・Procedural cohesion
・Temporal cohesion
・Logical cohesion
・Coincidental cohesion
→Joseph Ingeno’s Software Architect’s Handbook

Using Fitness Functions
・Code Quality
・Resiliency
・Observability
・Performance
・Compliance
・Security
・Operability

APIへの移行を支援するアーキテクチャパターン
・Strangler Fig
・Facade and Adapter
・API Layer Cake

Chapter 9. Using API Infrastructure to Evolve Toward Cloud Platforms

クラウド移行の「6つのR」
・Retain or Revisit
・Rehost(lift-and-shift)
・Replatform(lift-tinker-and-shift)
・Repurchase
・Refactor/Re-architect
・Retire

Zero Trust Architecture

Chapter 10. Wrap-up

未来への準備
・Async Communication
・HTTP/3
・Platform-based Mesh

memoO'REILLY Learning

Posted by shi-n