コンテナ化、CI / CD、オーケストレーション、マイクロサービス、およびアジャイルプロセスは、現在セキュリティエンジニアの語彙に含まれているタグクラウドです。マイクロサービスモデルと関連技術は、最新のソリューションのセキュリティアーキテクチャの実装にさまざまなアプローチをもたらしましたが、その構築に対する単一のアプローチはまだ見られていません。しかし、マイクロサービス開発の分野にはテクノロジーリーダーがおり、さまざまなアーキテクチャアプローチの実装には既知の構成上の欠陥と脆弱性があり、信頼性の高いアーキテクチャを構築するための「ベストプラクティス」は数多くあります。この資料では、Denis Makrushinと共同で公開された研究記事に基づいて作成されています(マクルシン)Huawei Advanced Software TechnologyLabのAdvancedSecurity Researchチームから、マイクロサービスシステムに認証と承認を実装するための典型的なアーキテクチャアプローチ、それらの長所と短所を分析します。また、セキュリティアーキテクトが、必要な情報を何時間も検索するのではなく、必要なモデルの実装に集中できるようにするために、これを行います。
調査目的
マイクロサービスアーキテクチャは、クラウドとオンプレミスの両方のインフラストラクチャ、大規模なアプリケーションとサービスのアプリケーションシステムの設計と実装にますます使用されています。マイクロサービスモデルの広範な実装を確認するには、分散型で障害耐性のあるシステムの開発に関連するさまざまなプラクティスについてHabrを研究するだけで十分です。
. , a (Application Security Architect – , Security Engineer'a, , ) , ( , ). , . , .
:
- ?
- ?
- ?
, , (, OWASP Moscow Meetup).
:
( , – , ) ( 1): (edge-level authorization), (service-level authorization), (external entity identity propagation), (service-to-service authentication). , .
1.
.
(edge-level authorization)
( API). API , . NIST , , API.
:
- API- ( « »);
- API , " " (defense-in-depth);
- , API (operations), , , (, , - ).
: API . , (reference- (self-contained) , HTTP (, "Cookie" "Authorization"), mTLS.
( 2), NIST. :
- Policy Administration Point (PAP) , , ;
- Policy Decision Point (PDP) , ;
- Policy Enforcement Point (PEP) , ;
- Policy Information Point (PIP) , , , PDP .
2.
. , , :
- ;
- ;
- .
PDP PEP (. 3). , , , ( 1). ( 2) (, ), ( 3) , , (enforce) ( 4).
3.
. , , .
, :
- ( « , »);
- /, , ;
- - ( « , »);
- .
, , .
, ( 4). PAP ( 1) PDP , ( 2). ( 3), PDP , PDP , ( 4). PDP ( 5).
4. PDP
:
- , , ;
- , , , , ;
- , , , API, .
DevOps- . Extensible Access Control Markup Language (XACML) Next Generation Access Control (NGAC), . , XACML , , , DevOps-.
- PDP; .
, PDP - . (, API), " ".
, ( 5). PAP ( 1) PDP , ( 2). ( 3), PDP, PDP , ( 4). PDP ( 5).
5 PDP
PDP «sidecar-». Sidecar , , , , .
PDP sidecar . PDP , . " " , , . .
“How Netflix Is Solving Authorization Across Their Cloud” " PDP" ( 6):
- — , ;
- , , ;
- ( Policy) , ( Aggregator), PDP;
- PDP () PEP.
6. PDP ()
, " PDP". , - PDP .
, :
- , , — ;
- (, ), " ";
- , — " ";
- , PAP (, PAP -);
- , , — " " .
:
- (mTLS);
- , , JSON Web Tokens.
mTLS , , . / , mTLS. mTLS . mTLS , .
. (microservice id) (scopes). , , , , , HTTP . TLS, .
(, Overcoming Security Challenges in Microservice Architectures) (, A Pragmatic Approach for Internal Security Partnerships), mTLS .
, .
, : « ?». , , , .
, , « ?» : «, . -». , «best practice» — pull requests OWASP.