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バックエンドに実行時情報が送信されます。