前回はCortex CloudとAWSの環境を接続してアラートを取得してみました。
今回はCortexCloudにAWSアカウントを接続したときにAWS側に作成される権限とその権限の差異について調査してみました。
この記事を見るとどういった権限が付与されて作成されたリソースがどのような用途に使われているのかがわかりますので、参考にしてみてください。
Cortex CloudにはVM(Virtual Machine)のスキャン方法が以下2種類あります。
・Cloud Scan
・Scan with Outpost
今回はCloud Scanを使用して権限の調査を行っています。
※Cortex Cloudとクラウド環境を接続後にスキャン方法は設定変更はできませんでした。
作成される権限に差異が出そうな2種類の設定を取り上げ、設定値を変更したときの権限の差異を調査しました。
今回差異を調査する2種類の設定値と説明は以下です。
| 設定値 | 説明 |
| Additional Security Capabilities | セキュリティアドオンを追加 |
| Log Collection Configuration | ログの収集方法の機能 |
今回作成される権限の一覧は以下公式ドキュメントから参照できます。
Cloud service provider permissions
機能がすべてオフのパターン
はじめに先ほど説明した2種類の設定をオフにした状態で権限どのようなものが作成されるのか確認します。
機能をすべてオフにしても以下機能はデフォルトで有効化されています。
・Discovery engine
・Cloud security posture management
・Cloud infrastructure entitlement management
・AI security posture management
まずは機能をすべてオフのパターンの新規作成をしていきます。
Settings > Data Sources > 右上の「Add Data Source」を押下します。

接続したいサービスを選択し、Connect Another Instanceを押下します。
今回はAWSを指定します。

「Additional Security Capabilities」「Log collection configuration」のチェックをすべて外します。
左下の「Save」を押下します。


以下画像の様に遷移したら「Automated」か「Manual」CloudFormationを実行します。
Automatedは「Excute in AWS」を押下するとログイン済みのAWSアカウントに遷移し、CloudFormationスタック作成画面に遷移します。
Manualは「Download CloudFormation」をダウンロードし手動でCloudFormationスタックを作成します。
※どちらを選択しても作成される権限に違いはありません。

作成後、以下権限とリソースが作成されます
なおリソース名に含まれる CortexCloudProject ID とはCortex Cloudのテナント識別番号を表しています。
| AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
IAMPolicy
|
CortexDISCOVERYPolicy
|
arn:aws:iam::{アカウントID}:policy/Cortex-DISCOVERY-Policy-m-a-{CortexCloudProject ID}
|
AWS環境のリソース情報を取得する機能用(Discovery Engine)のIAMポリシー このポリシーの権限は以下です。 |
|
IAMRole
|
CortexPlatformRole
|
CortexPlatformRole-m-a-{CortexCloudProject ID}
|
AWS環境のリソース情報を取得する機能(Discovery Engine)がAssumeRoleするためのロール この許可ポリシーは以下です。 |
|
IAMRole
|
CortexTemplateCustom
LambdaExecutionRole
|
{CFnスタック名}-{数字}-CortexTemplateCustomLambd-{ランダム英数字}
|
AWS Lambda関数が実行されるために最低限必要な権限です。 以下許可ポリシーです。 |
|
Lambda
Function |
CortexTemplateCustom
LambdaFunction
|
{CFnスタック名}-{数字}-CortexTemplateCustomLamb-{ランダム英数字}
|
CloudFormationの作成/更新/削除時に呼び出されます。 このLambdaには以下機能があります。 ・Cortex Cloudに認証情報を渡し、今後AssumeRoleで継続的にリソースの状態を監視できるようにする
・カスタムリソースで呼び出されたLambda関数処理が成功したか失敗したかをCloudFormationに伝える
|
|
Custom
Resource |
MyCustomResource
|
{yyyy}/{mm}/{dd}/[$LATEST]{英数字}
|
Cortex Cloudにスタックの作成/更新/削除時にCortexTemplateCustomLambdaFunctionを呼び出すカスタムリソースです。 以下の機能があります。 ・Cortex Cloudの継続的なリソースの監視に必要な認証情報やリソースの情報を渡す
|
Additional Security Capabilitiesで作成される権限と用途
「Additional Security Capabilities」のチェックリストの機能ごとに作成される権限を確認していきます。
※チェックリスト機能がすべてオフのパターンからの更新を行って比較しています。
以下機能名とその用途です。
| 機能名 | 用途 |
| XSIAM analytics | エンドポイントのデータを分析して異常や悪意のある動作が検出された場合に、アラートを発します。 |
| Data security posture management | エージェントレスのデータセキュリティスキャナーで、機密データを発見、分類、保護、管理することができます。 |
| Registry scanning | レジストリイメージをスキャンし、脆弱性、マルウェア、機密情報を検出することができます。 |
| Serverless functions scanning | サーバーレススキャンを導入し、サーバーレス関数内の脆弱性を検出・修正します。 CI/CDパイプラインに統合することで、セキュリティスキャンが自動化されます。 |
| Automation | 事前に設定された連携機能とコマンドのリストを使い、セキュリティインシデントへの対応を自動化します。 コマンドは、問題修正のために個別に実行したり、カスタムプレイブックに組み込んで使用したりすることが可能です。 |
| Agentless disk scanning | (推奨) エージェントレスのディスクスキャンを導入し、開発ライフサイクル中に脆弱性をリモートで検出・修正します。 |
XSIAM analyticsにチェックを入れるパターン
「Additional Security Capabilities」のXSIAM analyticsにチェックを入れるパターンですが、機能がすべてオフのパターンから変更点はありませんでした。
※左下の「Save」を押下するとそのままCloudformationのダウンロード画面に行かず保存が完了します。

Data security posture managementにチェックを入れるパターン
次はData Security posture management(DSPM)にチェックを入れます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 更新内容 | AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
IAMPolicy
|
CortexDSPMPolicy
|
arn:aws:iam::{アカウントID}:policy/Cortex-DSPM-Policy-m-a-{CortexCloudProject ID}
|
DSPM用のIAMポリシー
以下許可されている権限です。
|
|
設定値変更
|
IAMRole
|
CortexPlatformRole
|
CortexPlatformRole-m-a-{CortexCloudProject ID}
|
AWS環境のリソース情報を取得する機能(Discovery Engine)がAssumeRoleするためのロール
以下許可ポリシーが追加になりました。 |
|
新規追加
|
IAMRole
|
CortexPlatformScannerRole
|
CortexPlatformScannerRole-m-a-{CortexCloudProject ID}
|
Cortex CloudのAWS環境にAssumeRoleするためのロール
許可ポリシーは以下です。 |
Registry scanning にチェックを入れるパターン
Registry scanningにチェックを入れます。左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 更新内容 | AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
IAMRole
|
CortexPlatformScannerRole
|
CortexPlatformScannerRole-m-a-{CortexCloudProject ID}
|
Cortex CloudのAWS環境にAssumeRoleするためのロール
以下許可ポリシーです。 |
|
新規追加
|
IAMPolicy
|
ECRAccessPolicy
|
ECRAccessPolicy
|
CortexPlatformScannerRoleにアタッチする用のポリシーロールです。
以下権限がこのポリシーに付与されています。 |
Serverless scanningにチェックを入れるパターン
Serverless scanningにチェックを入れます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 更新内容 | AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
IAMRole
|
CortexPlatformScannerRole
|
CortexPlatformScannerRole-m-a-{CortexCloudProject ID}
|
Cortex CloudのAWS環境にAssumeRoleするためのロール
以下許可ポリシーです。 |
|
新規追加
|
IAMPolicy
|
LAMBDAAccessPolicy
|
LAMBDAAccessPolicy
|
CortexPlatformScannerRoleにアタッチする用のポリシーロールです。
以下権限がこのポリシーに付与されています。 |
Automationにチェックを入れるパターン
Automationにチェックを入れます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 変更内容 | AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
IAMPolicy
|
CortexAutomationPolicy
|
arn:aws:iam::{アカウントID}:policy/Cortex-Automation-Policy-m-a-{CortexCloudProject ID}
|
CortexPlatformRoleにアタッチするためのポリシー 以下ポリシーの権限です。 ・Certificate Manager: 書き込み ・CloudTrail: 読み取り, 書き込み ・Cost Explorer Service: 読み取り ・EC2: リスト, 許可の管理, 読み取り, 書き込み, タグ付け ・EKS: 読み取り, 書き込み ・Elastic Container Service: 書き込み ・ELB: 書き込み ・ELB v2: 書き込み ・IAM: 許可の管理, 読み取り, 書き込み ・KMS: 許可の管理, 読み取り, 書き込み ・Lambda: 読み取り, 書き込み ・RDS: 書き込み, タグ付け ・S3: 許可の管理, 読み取り, 書き込み ・Secrets Manager: 書き込み, タグ付け |
|
設定値変更
|
IAMRole
|
CortexPlatformRole
|
CortexPlatformRole-m-a-{CortexCloudProject ID}
|
AWS環境のリソース情報を取得する機能(Discovery Engine)がAssumeRoleするためのロール
以下が許可ポリシーに追加されています。 |
Agentless disk scanningにチェックを入れるパターン
Agentless disk scanning(ADS)にチェックを入れます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 変更内容 | AWSサービス名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
IAMPolicy
|
CortexADSPolicy
|
arn:aws:iam::{アカウントID}:policy/Cortex-ADS-Policy-m-a-{CortexCloudProject ID}
|
CortexPlatformRoleにアタッチするためのポリシー
以下ポリシーの権限です。 |
|
設定値変更
|
IAMRole
|
CortexPlatformRole
|
CortexPlatformRole-m-a-{CortexCloudProject ID}
|
AWS環境のリソース情報を取得する機能(Discovery Engine)がAssumeRoleするためのロール
以下が許可ポリシーに追加されています。 |
Log Collection Configurationで作成される権限と用途
次にLog Collection Configurationの各設定でどのような権限が作られるか確認していきます。
機能がすべてオフのパターンと比較していきます。
| 機能名 | 用途 |
| Use Automated collection | CloudTrailを使用して監査ログを収集することができます。 |
| Collect data events (currently support lambda & S3) | この設定でデータイベント(Lambda, S3)の収集も選択できます。 |
| Custom (user defined) | 既存のAmazon S3バケットやCloudTrailを使用してCloudTrailの監査ログを保存したい場合は、このオプションを選択します。 このオプションを選択する際、CloudFormationを実行する際に、CloudTrailに必要なS3バケット名、SNS ARN、そしてCloudTrailを暗号化する場合はKMS ARNを入力する必要があります。 |
Use Automated colletionのみオンのパターン
Log Collection ConfigurationのUse Automated colletionにチェックを入れます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 変更内容 | AWSリソース名 | CFn内の名前 | リソース名 | 用途 |
|
新規追加
|
CloudTrail
|
CloudTrail
|
cortex-trail-{アカウントID}-m-a-{CortexCloudProject ID}
|
監査ログを記録し、S3(CloudTrailLogsBucket)に保管します。
ログを「CloudTrailSNSTopic」で作成されたSNSに送信します。
|
|
新規追加
|
KMS
|
CloudTrailKMSKey
|
{ランダムな英数字}
|
CloudTrailとS3を暗号化し、CloudTrailの監査ログを格納してあるS3バケットを復号するためのKMSキー
|
|
新規追加
|
S3
|
CloudTrailLogsBucket
|
cortex-ct-logs-{アカウントID}-m-a-{CortexCloudProject ID}
|
CloudTrailのログの記録を保存するS3バケット
|
|
新規追加
|
BucketPolicy
|
CloudTrailLogsBucket
Policy
|
cortex-ct-logs-{アカウントID}-m-a-{CortexCloudProject ID}
|
CloudTrail用のS3バケットのポリシー
このポリシーの権限は以下です。 |
|
新規追加
|
SQS
|
CloudTrailLogsQueue
|
https://sqs.ap-northeast-1.amazonaws.com/{アカウントID}/cortex-ct-logs-queue-{アカウントID}-m-a-{CortexCloudProject ID}
|
CloudTrailが出力した監査ログを受け取るSQS CloudTrailがSNS経由で監査ログ情報を取得し、SQSに転送する。
|
|
新規追加
|
IAMRole
|
CloudTrailReadRole
|
cortex-logs-ingestion-access-m-a-{CortexCloudProject ID}
|
Cortex CloudがAssumeRoleするためのロール 許可ポリシーは以下です。 信頼されたエンティティは以下です。 CloudTrailReadAccessPolicyには以下権限が許可されています。 |
|
新規追加
|
SNSTopic
|
CloudTrailSNSTopic
|
arn:aws:sns:ap-northeast-1:{アカウントID}:cortex-ct-logs-notification-{アカウントID}-m-a-{CortexCloudProject ID}
|
CloudTrailが新しいログファイルをS3 バケットに発行するときに通知を受け取る用のSNS
|
|
新規追加
|
SNSPolicy
|
CloudTrailSNSTopic
Policy
|
arn:aws:sns:ap-northeast-1:{アカウントID}:cortex-ct-logs-notification-{アカウントID}-m-a-{CortexCloudProject ID}
|
CloudTrail用のSNSトピックのアクセスポリシー
以下が許可されています。
・sns:Publish |
|
新規追加
|
SNSSubscription
|
CloudTrailSNSTopic
Subscription
|
arn:aws:sns:ap-northeast-1:{アカウントID}:cortex-ct-logs-notification-{アカウントID}-m-a-{CortexCloudProject ID}:{ランダムな英数字}
|
CloudTrail用のSNSトピックサブスクリプション
|
|
新規追加
|
CustomResorce
|
EmptyBucketCustom
Resource
|
{yyyy}/{mm}/{dd}/[$LATEST]{英数字}
|
CloudFormation削除時にS3バケット(CloudTrailLogsBucket)の中身を空にするLambda(EmptyBucketLambda)を呼び出すカスタムリソース
※CloudFormation削除時にS3バケットが空でないとエラーがでるため |
|
新規追加
|
Lambda
Function |
EmptyBucketLambda
|
{CFnスタック名}-{yyyymmdd}-EmptyBucketLambda-{ランダムな英数字}
|
CloudFormation削除時にS3バケット(CloudTrailLogsBucket)を削除する用のLambdaを作成します。
|
|
新規追加
|
IAMRole
|
EmptyBucketLambda
ExecutionRole
|
{CFnスタック名}-{数字}-EmptyBucketLambdaExecutio-{ランダム英数字}
|
S3バケットの中身を削除するLambda関数用のIAMロール
IAMポリシー(EmptyS3BucketPolicy)がアタッチされています アタッチされているロールの権限は以下です。 ・S3: リスト、削除
|
| 新規追加 | SNSPolicy |
SNSPolicy
|
{CFnスタック名}-{yyyymmdd}-SNSPolicy-{ランダム英数字}
|
SQS送信するためのSNS用のポリシーです 以下権限が付与されています。 |
Log Collection Configurationがオフなパターン
Log Collection Configurationをオフな時のパターンは機能が全部オフのパターンと同じなので権限などはそちらを参照ください。
Collect data eventsがオンのパターン
Log Collection ConfigurationがCollect data eventsのチェックをオンにしていきます。
※Use Automated colletionの追加機能のため比較対象はUse Automated colletionです。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 変更内容 | AWSリソース名 | CFn内の名前 | リソース名 | 用途 |
|
設定値修正
|
CloudTrail
|
CloudTrail
|
cortex-trail-{アカウントID}-m-a-{CortexCloudProject ID}
|
監査ログを記録し、S3(CloudTrailLogsBucket)に保管します。
ログを「CloudTrailSNSTopic」で作成されたSNSに送信します。 データイベントにS3とLambdaが追加されています。
|
Custom (user defined)がオンのパターン
Log Collection ConfigurationがCustom (user defined)のチェックがオンにして行っていきます。
左下の「Save」を押下します。

遷移したら「Download CloudFormation」を押下し、Yaml形式のCloudFormationテンプレートファイルをダウンロードします。
AWSに移動し、既存のCloudformationを更新します。
そうすると以下画像の様にパラメーターの更新が入ります。
CloudTrailに必要なKMSARN、LogBucketName、SNSARNの入力を求められるので入力します。
以下入力する必要があるパラメーターとその用途です。
| パラメーター名 | 用途 |
|
CloudTrailKmsArn
|
CloudTrailの監査ログを格納してあるS3バケットを復号するためのKMSARNを指定します。
CloudTrailの暗号化がされていない場合は入力の必要はありません。 |
|
CloudTrailLogsBucket
|
CloudTrailの監査ログを保存するためのS3バケット名を入力します。
|
|
CloudTrailSnsArn
|
ログを送信するためのSNSARNを入力します。
※SNSはFIFOではなくスタンダードで作成すること |

AWSに移動し、既存のCloudformationを更新します。
何もチェックを入れないパターンから追加されたの権限と用途は以下です。
| 変更内容 | AWSリソース名 | タイプ | リソース名 | 用途 |
|
新規追加
|
SQS
|
CloudTrailLogsQueue
|
cortex-trail-{アカウントID}-m-a-{CortexCloudProject ID}
|
Cortex CloudがCloudTrailが出した監査ログを受け取る用のSQS CloudTrailがSNS経由でログ情報を取得し、SQSに転送する。 このSQSはパラメーターで指定したSNSARNに紐づけられています。
|
|
新規追加
|
IAMRole
|
CloudTrailReadRole
|
cortex-logs-ingestion-access-m-a-{CortexCloudProject ID}
|
Cortex CloudがAssumeRoleするためのロール 許可ポリシーは以下です。 信頼されたエンティティは以下です。 CloudTrailReadAccessPolicyには以下権限が許可されています。 |
|
新規追加
|
SNS
Subscription |
CloudTrailSNSTopicSubscription
|
arn:aws:sns:ap-northeast-1:{アカウントID}:cortex-ct-logs-notification-{アカウントID}-m-a-{CortexCloudProject ID}:{ランダムな英数字} |
CloudTrail用のSNSトピックサブスクリプション
|
|
新規追加
|
SNSPolicy
|
SNSPolicy
|
{CFnスタック名}-SNSPolicy-{ランダムな英数字} |
SQS送信するためのSNS用のポリシーです 以下権限が付与されています。
|
さいごに
今回はクラウド環境接続時に作成される権限やその権限のその用途について調査してみました。
色々な権限が追加されているのでどういった権限が作成され、動作しているかをわかっておくと、どの機能をオン/オフにするか検討しやすいかと思います。
弊社では、豊富な実績をもとにお客様の状況やご要件を丁寧にヒアリングしたうえで、お客様にとって最適なCortex Cloudの導入から設計支援、運用までをトータルでサポートしております。
「自社の環境にはどちらのスキャン方式が適しているのか」「導入後の運用に不安がある」など、Cortex Cloudについてお困りごとがございましたら、ぜひ弊社へお気軽にご相談ください。
【お問い合わせご相談窓口】
Email:cloud-security-tech@scsk.jp
