はじめに
Kraken Hunter の村上です。
この記事はセキュリティチームの Sysdig 活用事例をテーマにした「Sysdigブログリレー」3日目の記事です。
セキュリティチームでは、本ブログリレーで紹介しているような複数の用途で Sysdig を利用しており、Sysdig アカウントも共同で利用しています。
本記事では、複数人で Sysdig 環境を利用し複数環境を管理する際に、アクセス管理を行う方法をご紹介します。
前提情報
Sysdig ライセンス
Sysdig のライセンスにはいくつか種類があります。大きく「Sysdig Secure」と「Sysdig Monitor」に分かれていますが、ここでは Sysdig Secure について簡単に紹介します。
CNAPP Enterprise
Amazon EC2 や Google Compute Engine などのインスタンス、オンプレミスのホストなど向けのライセンス。
CWPP、ホストやコンテナの脆弱性管理、CSPM、クラウド環境の脅威検知、CIEM などの機能が提供されます。
ホスト数ベースの課金になります。
Workload Security CaaS
主に ECS on Fargate 向けライセンス。CWPP機能が提供されます。
タスク数ベースの課金になります。
CNAPP Essential
CSPM、クラウド環境の脅威検知、CIEM などの機能が提供されます。
AWSアカウント内の EC2 インスタンス、Google Cloud プロジェクト内の Compute Engine インスタンス数ベースの課金になります。
利用可能な環境や機能が異なる複数のライセンスがあり、リソースの数に応じて購入が必要、という点だけ認識いただければ、以降の内容の理解には支障ありません。
※ 上記は 2024/09 時点のライセンスの種類となります。
Sysdig アカウント
Sysdig アカウントは請求の単位であり、契約したライセンスや Sysdig の設定を共有できる範囲です。
複数のクラウドアカウントや、別の種類のクラウドサービスで共有することも可能です。
異なる Sysdig アカウントで契約したライセンスを共有したり融通し合うことはできません。
また、CWPP や CSPM などの各機能で検知した結果は、同一 Sysdig アカウント内でのみ閲覧可能です。
前提情報は以上となります。
ここからは、複数チームで Sysdig を共用する場合に、どのように設定できるのか、見ていきたいと思います。
Sysdig アカウントを分ける
そもそも Sysdig アカウントを分けてしまえば、他の Sysdig アカウントの設定や情報は見ることができなくなりますので、設定を別々に行いたい、絶対に他環境に触る必要はないという場合は、この方法を取るのも手です。
ただ、異なる Sysdig アカウント同士でライセンスを融通し合うことはできないため、社内でライセンスを無駄なく利用するという点では不利かもしれません。
Sysdig の Team と Zone で閲覧・操作可能な範囲を限定する
1つの Sysdig アカウントで、複数のクラウド環境を一元管理することができます。
AWS や Google Cloud の Organization 配下にあるかどうかを問わず、同一 Sysdig アカウントに接続することも可能です。
チーム A は AWS アカウント X、チームBは AWS アカウント Y と Google Cloud プロジェクトZを担当する、というケースを考えてみます。
異なるチームの管理するアカウントの情報は見られないようにしたい という場合、Sysdig の Team や Zone を活用できます。
Team
Team は、Sysdig にログインするユーザーをまとめるグループのようなものです。
Team 内の各ユーザーに対して、どのようなアクションを許可するかを、Role (後述)を付与して定義します。
ユーザーは、複数の Team に所属させることができます。
複数の Team に所属するユーザーは、Sysdig UI 上で、どの Team として操作するかを切り替えることができます。
Zone
クラウド環境やホスト、Kubernetes 環境などをグループ化するものです。
Sysdig アカウントを作っただけの状態では、「Entire Infrastructure」というデフォルトの Zone のみが存在します。この Zone は Sysdig アカウントに登録・連携されたすべての環境を含みます。
Zone を作成する際には、AWS アカウント ID や Google Cloud プロジェクト ID、ホスト名や Kubernetes クラスター・namespace などで、環境の範囲を指定します。
Scope
Scope はホストやコンテナ環境を絞り込む Team の設定ですが、2024/09 現在、Legacy 設定と表示されており、Zone による管理が推奨されています。
Team と Zone を組み合わせる
Team と Zone を組み合わせることで、各チームの担当環境のみ Sysdig 上で扱えるようになります。
各 Team の設定で、どの Zone を利用可能にするかを指定できます。
チーム A は AWS アカウント X、チームBは AWS アカウント Y と Google Cloud プロジェクトZを担当する
というケースであれば、
AWS アカウント X を絞り込み条件(上の画像の “Scopes”)の対象とする Zone A
(AWS アカウント Y) OR (Google Cloud プロジェクト Z) を絞り込み条件とする Zone B
を作成し、
チーム A 用の Team A の使用可能な Zone として Zone A を指定
チーム B 用の Team B の使用可能な Zone として Zone B を指定
すれば OK です。
各 Team に対して Zone は複数指定可能なため、AWS アカウント Y 用の Zone と Google Cloud プロジェクト Z 用の Zone を分けるという設定も可能です。
もし、チーム A とチーム B の両方に所属する人がいる場合は、Team A と Team B の両方にユーザーを紐付けておけば、Sysdig UI 上で操作したい環境ごとに Team を切り替えて、Zone A と Zone B の両環境にアクセスすることができます。
Sysdig の Role でユーザーが実行できるアクションを制限する
他チームに閲覧はしてもらいたいけれども、設定変更などは行ってほしくない、といったケースでは、Role 機能を活用できます。
Role
Role は、実行を許可するアクションを定義するものです。
デフォルトで用意されている Role がいくつかあるほか、 Custom Role も作成可能です。
Custom Role の設定では、機能別に Read Only や Full Access など選択できるのに加えて、機能の個別のアクション単位で READ/EDIT 権限などを付与することも可能です。
Role で操作を許可されていないメニューは、Sysdig UI 上にも表示されなくなります。
ユーザーに Role を付与するには、Team Users(Team 内の User 管理画面)で、各ユーザーの Role を指定します。
Admin
Admin は、Role とは別で、Sysdig にログインするユーザー毎に付与可能な権限です。Admin 属性が true のユーザーは、Sysdig のすべての操作が可能になります。
ユーザー追加や他ユーザーへの Admin 権限付与は、Admin ユーザーのみ実施可能です。
Team, Zone, Role を組み合わせる
ここまでに見てきた Team、Zone、Role を組み合わせることで、特定チームのメンバーは特定 AWS アカウントの CSPM 検知結果の閲覧のみ可能とし、検知ポリシーの編集や他機能の利用はさせない、といった制御が可能です。
アイレット セキュリティチームにおいても、他部署の利用者に検知結果を一緒に見てもらいたい、といった場合に、Team・Zone・Custom Role による制御を行っています。
扱う Zone は共通でユーザーによって権限差異がある(編集可能/閲覧のみ など)場合、共通の Team でユーザー別に Role を変えるという方法も可能ですが、管理のしやすさから、Team 自体を分けてしまい、Team 内のユーザーの Role は統一する、という運用をしています。
おわりに
今回は、Sysdig の権限管理についてご紹介しました。
明日の記事は、しろうささんの「Google Cloud に、組織レベルで Sysdig を導入してみた」です。
組織のクラウドリソースやユーザー権限を横断的に管理する際には、環境を一括で Sysdig に登録できると楽ですが、検証用の組織がないので試しづらい、という方もいらっしゃるかもしれません。
明日の記事では、実際に Google Cloud 組織レベルで Sysdig 導入を行った際の設定方法などを紹介するとのことなので、今回紹介したアクセス制御方法と合わせて、組織レベルでの導入や複数チームでの活用を考えている方のご参考になれば幸いです。
アイレットでは、Sysdig の初期設定や運用も含めてお任せしたい、といったお客様向けに、導入・運用保守込みの「Sysdig 運用サービス」も提供しています。ぜひお気軽にお問い合わせください。