AWS サーバ レスプロテクションのリソースとアクセス許可
AWS アカウントの lambda 関数に サーバ より少ない保護が適用されると、特定のリソースが AWS アカウントに作成され、CloudGuard にはリソースにアクセスするためのアクセス権限が付与されます。これは、アクセスされる情報に加えて、アカウントがオンボードされたときにCloudGuard に付与される権限です。
CloudGuard からユーザ AWS アカウントにダウンロードされる CFT (CloudFormation Template) スタックを起動することで、特定のユーザ AWS アカウントに対して サーバ レスプロテクションが有効になります。このスタックは、CloudGuard が使用するリソースとアクセス許可を作成します。
さらに、アカウント内の特定の機能に対してServerless Runtime Protectionが有効になっている場合は、機能ごとにServerless Runtime ProtectionLambda Layer が展開されます。
CloudFormationテンプレート
各データセンターには、YAML 形式の独自の CloudFormation テンプレートがあり、指定されたデータセンターの場所からダウンロードできます。
データセンター | 地域 | CloudFormationテンプレートリンク |
---|---|---|
米国 | us-east-1 | https://magnatar-protego.s3.amazonaws.com/magnatar-unified-cross-account-template.yaml |
アイルランド | eu-west-1 | https://723885542676-protego.s3.amazonaws.com/723885542676-unified-cross-account-template.yaml |
インド | ap-south-1 | https://guru-protego.s3.amazonaws.com/guru-unified-cross-account-template.yaml |
シンガポール | ap-southeast-1 | https://uranus-protego.s3.amazonaws.com/uranus-unified-cross-account-template.yaml |
オーストラリア | ap-southeast-2 | https://neptune-protego.s3.amazonaws.com/neptune-unified-cross-account-template.yaml |
デプロイ済みリソース
このセクションでは、AWS アカウントに対してサーバより少ない保護を有効にした場合、および特定の機能に対してサーバより少ないランタイム保護を適用した場合にCloudGuard がデプロイするリソースについて説明します。
CFTスタックリソース
CloudGuard は、サーバレス機能にCFT スタックを使用してプロテクションを適用します。CloudGuard は、AWS アカウントで実行されるこのスタックをデプロイします。
このスタックはアカウントにリソースを作成し、CloudGuard は関数の問題をスキャンして関数の実行時アクティビティを監視するときにリソースを使用します。
関数
コードスキャン機能-これらはサポートされるランタイム環境ごとにデプロイされます。
IAM ロールとポリシー
クロスアカウントロール - CloudGuardは、AWSアカウントにアクセスし、機能に関する情報を読み取ることができます。具体的な権限を以下の表に示します。
IAMアクセス許可
用途
cloudwatch:GetMetricData
呼び出し回数、実行時間、エラーなどの統計情報を収集します。
cloudwatch:GetMetricStatistics
Serverless Runtime Protectionの使用に関するサブスクリプションフィルタとロググループの詳細を取得する
ログ:DescribeSubscriptionFilters
-
ログ:DescribeLogGroups
-
ログ:FilterLogEvents
Serverless Runtime Protection機能からログイベントを取得する
lambda:ListVersionsByFunction
関数に関するデータの取得
lambda:ListAliases
アカウント内の関数の探索
lambda:ListFunctions
-
lambda:ListTags
-
lambda:GetLayerVersion
関数コード解析: 関数が使用する任意のレイヤをスキャンします。
lambda:ListLayers
-
lambda:ListLayerVersions
-
cloudformation:ListStacks
アカウントリソースを探索します(クラウド形成テンプレートからリソースリストを取得します)。
cloudformation:
ListStackResources
iam:ListRolePolicies
セキュリティを提供するために使用される、関数に設定された権限のセットを説明します。
iam:ListAttachedRolePolicies の洞察。
-
iam:GetRolePolicy
-
iam:GetPolicyVersion
-
s3:GetBucketLocation
アカウントバケットの探索 - 既存のバケット、その場所(リージョン)、およびそのポリシーに関する情報を収集します。
s3:GetBucketPolicy
-
s3:ListBucket
-
コードスキャン機能の実行ロール
実行ロール - Serverless Runtime Protectionログセンダ機能の場合、Serverless Runtime Protectionに使用されます。
ロググループ
ロググループ- コードスキャンlambda関数ごと- 結果をCloudGuardバックエンドに転送するために使用されます。
S3 バケット
S3 バケット - ランタイムプロテクション監視のために、機能のServerless Runtime Protectionポリシーを保存し、Serverless Runtime Protectionレイヤと通信するために使用されます。
Lambdaレイヤー
CloudGuard は、このプロテクションが有効になっている機能ごとに、Serverless Runtime Protectionにlambdaレイヤーを展開します。
リソースのスキャン
CloudGuard は、サーバレス関数をスキャンするときに、ユーザAWSアカウントでこれらのリソースを使用します。
リソース | 説明 |
---|---|
関数 | コード分析関数は、サポートされているランタイムごとにデプロイされます(Python、Java、C#、Node.js)。 |
ロググループ | ロググループは、コードスキャン機能ごとに作成される |
IAM ロール | CodeAnalysis実行ロール - 関数で使用されます。これらのロールには、Allow権限があります。 logs:CreateLogStream, logs:PutLogEvents, lambda:GetFunction, lambda:ListLayers, lambda:GetLayerVersion, lambda:ListLayerVersions |
Serverless Runtime Protectionリソース
CloudGuardは、AWSアカウントでこれらのリソースを使用して、サーバレス関数のアクティビティの実行時間を監視します(関数で実行時保護が有効になっている場合)。
リソース | 説明 |
---|---|
Lambdaレイヤー | Serverless Runtime Protectionが有効になっているAWSアカウントの機能ごとに、CloudGuardはレイヤーをデプロイします。このレイヤは、関数アクティビティを監視し、実行時ポリシーを適用します。 |
関数 | Serverless Runtime Protectionログ送信者-この機能は、ユーザAWSアカウントの特定のリージョンのCloudGuardからオンデマンドで展開されます。CFTスタックによってデプロイされません。 |
IAM ロール | IAM ロールは、サーバ レスランタイムプロテクションログ送信機能によって使用され、ロググループをCloudGuardバックエンドに送信します。これらのロールには、次の操作に対するAllow権限があります。 lambda:CreateFunction, lambda:DeleteFunction, lambda:AddPermission, logs:CreateLogGroup, logs:PutRetentionPolicy, logs:DeleteLogGroup, logs:CreateLogStream, logs:PutLogEvents |
S3 バケット | S3 バケットは、アカウントごとにCFT スタックによって作成されます。Serverless Runtime Protectionが有効になっている機能ごとに、バケットにフォルダが作成されます。 |
ロググループ | ログ送信機能のロググループが作成され、CloudGuardバックエンドに実行時情報が送信されます。 |