Netflixは先頃、AWSマルチアカウント管理サービスであるConsoleMeとそのCLIユーティリティであるWeepをオープンソース化した。これらのツールは、組織のすべてのAWSアカウントにわたるアクセス許可管理のための中央コントロールプレーンを提供し、最小の権限の原則を実装するのに役立つ。
ConsoleMeで、ユーザはAWSコンソールにアクセスし、Weepを介して短期間のAWSクレデンシャルを取得して提供したり、ステップバイステップのセルフサービスウィザードを介してIAM権限をリクエストしたり、アカウント間でIAMロールを作成または複製したり、高度なリクエストにポリシーエディタを使用できる。拡張可能でプラグイン可能なこのツールは、現在、組み込みのポリシーエディタを使用して、IAMロール、S3バケット、SQSキューおよびSNSトピックの権限をサポートしている。
2012年にリリースされたEC2インスタンスをランダムに停止するプロジェクトであるChaos Monkeyを皮切りに、Netflixは、AWSインフラストラクチャやその他の社内プロジェクトの管理に使用されるさまざまな製品をオープンソース化した。昨年のInfoQの取材にあるように、同社はDomain Graph Service Frameworkと危機管理オーケストレーションフレームワークであるDispatchをリリースしている。
チームは、Netflix Technology Blogの記事で、ConsoleMeの背後にある動機について説明している:
クラウドの成長は爆発的に拡大し、インフラストラクチャをその場で作成することがこれまでになく簡単になりました。ソフトウェアエンジニアリングチームを超えたグループが、独自のシステムと自動化を立ち上げています。これは、プロダクトのイノベーションに多くの機会を提供する驚くべきムーブメントですが、この成長を管理することで、適切なセキュリティ認証と認可、クラウドの健康状態とスケーラブルなプロセスを確保するというサポートへの負担が生じています。多くの企業では、クラウドの健康とセキュリティの管理は通常インフラストラクチャまたはセキュリティチームの下にあります。これらは、クラウドの権限とアクセスのワンストップショップです。会社の規模が拡大するにつれて、この集中型の手動管理アプローチは失敗し、運用チームとそのユーザの両方で非現実的なものになります。
NetflixのシニアクラウドセキュリティソフトウェアエンジニアであるCurtis Castrapel氏が、前回のAWS re:Inventで「ConsoleMeを使用したマルチアカウント管理の解きほぐし」を発表した。この講演では新しいツールと機能のデモについて説明している。ConsoleMeはCeleryを使用して、データ処理やキャッシュ、AWSインフラストラクチャの更新や変更などのタスクをスケジュールまたはオンデマンドで実行する。オープンソースのCeleryタスクには、IAMロール、SQSキュー、SNSトピック、S3バケットのRedis/DynamoDBへのキャッシュおよびCeleryメトリックのレポートが含まれる。
独立したクラウドインフラストラクチャアーキテクトであるVictor Grenu氏は、AWS Organizationsコンソールの不足をConsoleMeが補っていることを示唆し、Rise8のプリンシパルサイバーセキュリティエンジニアであるChristopher Hughes氏はConsoleMeの必要性を説明している:
IDとアクセス管理、およびアカウント/ロールを使用した権限管理は、クラウド環境およびAmazon Web Servicesの多くの組織にとって引き続き課題となっています。
GoogleのプロダクトソリューションエンジニアであるVictor Maevskiy氏は、次のことに同意している:
これにより、多くのDevSecOpsエンジニアの活動が大幅に改善されます! 大規模で複雑な組織が、アカウンティングと請求用途で複数の追加のAWSアカウントを作成しなければならない場合に特に役立ちます。
今後、Netflixはより簡単な権限のデバッグ、チームロールの作成と管理のサポート、強化されたクロスアカウントポリシーの生成、ポリシーのロールバック、分散型ポリシー要求管理、およびマルチクラウドサポートを追加する予定だ。