AWS Audit Manager でサポートされている AWS API コール - AWS Audit Manager

AWS Audit Manager でサポートされている AWS API コール

Audit Manager を使用して、監査の証拠として AWS 環境のスナップショットをキャプチャできます。カスタムコントロールを作成または編集する際、証拠収集のデータソースマッピングとして 1 つまたは複数の AWS API コールを指定できます。その後、Audit Manager は、関連する AWS のサービス への API コールを実行して、AWS リソースの設定の詳細のスナップショットを収集します。

API コールの範囲内にあるすべてのリソースについて、 Audit Manager は設定スナップショットをキャプチャし、それを証拠に変換します。これにより、(API コールではなく) リソースごとに 1 つの証拠が得られます。

例えば、ec2_DescribeRouteTables API コールが 5 つのルートテーブルから設定スナップショットをキャプチャする場合、その 1 つの API コールで合計 5 つの証拠が得られます。各証拠は、個々のルートテーブルの設定のスナップショットです。

重要ポイント

ページ分割された API コール

多くAWS のサービスが大量のデータを収集して保存します。そのため、listdescribe、または getAPI コールでデータを返そうとすると、多くの結果が得られる可能性があります。データ量が多すぎて1 回のレスポンスでは返せない場合、ページ分割を使用すれば、結果を分割して管理しやすい大きさにすることができます。これにより、結果がデータの「ページ」に分割され、レスポンスが処理しやすくなります。

カスタムコントロールデータソースでサポートされる API コール の一部はページ分割されています。つまり、最初は部分的な結果を返し、それ以降のリクエストでは結果セット全体を返すのです。例えば、Amazon RDS DescribeDBInstances オペレーションで一度に最大 100 個のインスタンスを返し、結果の次のページを返すにはそれ以降のリクエストが必要になります。

2023 年 3 月 8 日以降、Audit Manager は証拠収集のデータソースとしてページ分割された API コールをサポートしています。以前は、ページ分割されたAPI コールをデータソースとして使用すると、APIレスポンスではリソースのサブセットのみが返されていました (最大 100 件の結果)。現在では、Audit Manager はページ分割されたAPIオペレーションを複数回呼び出し、すべてのリソースが返されるまで結果の各ページを取得します。次に、Audit Manager はリソースごとに構成スナップショットをキャプチャし、証拠として保存します。API レスポンスでリソースがすべてキャプチャされるため、2023 年 3 月 8 日以降は、収集される証拠の量が増えることになります。

Audit Manager はAPI コールのページ分割を自動的に処理します。データ ソースとしてページ分割されたAPI コールを使用するカスタムコントロールを作成する場合は、ページ分割パラメータを指定する必要はありません。

カスタムコントロールデータソースでサポートされる API コール

カスタムコントロールでは、次の API コールのいずれかをデータソースとして使用できます。その後 Audit Manager でこれらの API コールを使用して、AWS の使用状況に関する証拠を収集できます。

サポートされるAPI コール Audit Manager でこの API を使用して証拠を収集する方法
acm_GetAccountConfiguration AWS アカウント に関連付けられているアカウント設定オプションのスナップショットを収集します。
acm_ListCertificates 証明書の ARN とドメイン名のリストを取得します。
autoscaling_DescribeAutoScalingGroups AWS アカウント 内の Auto Scaling グループに関するスナップショットを収集します。
backup_ListBackupPlans AWS アカウント 内のすべてのアクティブなバックアッププランのリストを取得します。
bedrock_GetModelInvocationLoggingConfiguration AWS アカウント 内のモデルのモデル呼び出しログ記録の現在の設定値のスナップショットを収集します。
cloudfront_ListDistributions

AWS アカウント 内のすべてのディストリビューションのリストを取得します。

cloudtrail_DescribeTrails

AWS アカウント の現在のリージョンに関連する 1 つ以上の証跡おける設定のスナップショットを収集します。
cloudtrail_ListTrails AWS アカウント にある証跡のリストを取得します。

cloudwatch_DescribeAlarms

AWS アカウント に使用されているアラームの設定スナップショットを収集します。
config_DescribeConfigRules AWS Config のルールに関する詳細を取得します。
config_DescribeDeliveryChannels AWS アカウント 内の配信チャネルの設定スナップショットを収集します。
directconnect_DescribeDirectConnectGateways すべての AWS Direct Connect ゲートウェイのリストを取得します。
directconnect_DescribeVirtualGateways AWS アカウント が所有する仮想プライベートゲートウェイのリストを取得します。
docdb_DescribeCertificates AWS アカウント に関する証明書のリストを収集します。
docdb_DescribeDBClusterParameterGroups AWS アカウント における DBCLusterParameterGroup の説明のリストを収集します。
docdb_DescribeDBInstances AWS アカウント のプロビジョニングされた Amazon DynamoDB インスタンスに関する情報を収集します。

cloudwatch_DescribeAlarms

AWS アカウント のアラームに関する情報を収集します。

cloudtrail_DescribeTrails

AWS アカウント と関連付けられている 1 つまたは複数の証跡の設定のスナップショットを収集します。

dynamodb_DescribeTable

AWS アカウント 内の DynamoDB テーブルの設定スナップショットを収集します。

このAPIをデータソースとして使用する場合、特定の DynamoDB テーブルの名前を指定する必要はありません。代わりに、Audit Manager はListTablesオペレーションを使用してすべてのテーブルを一覧表示します。一覧表示されているすべてのテーブルに対して、Audit Manager は DescribeTable のオペレーションを実行して、そのリソースの証拠を生成します。

dynamodb_ListBackups AWS アカウント に関連付けられている DynamoDB バックアップのリストを取得します。

dynamodb_ListTables

AWS アカウント と現在のエンドポイントに関連付けられているすべてのテーブル名のリストを取得します。
ec2_DescribeAddresses Elastic IP アドレスのスナップショットを収集します。
ec2_DescribeCustomerGateways VPN カスタマーゲートウェイのスナップショットを収集します。
ec2_DescribeEgressOnlyInternetGateways egress-only インターネットゲートウェイのスナップショットを収集します。

ec2_DescribeFlowLogs

フローログのスナップショットを収集します。

ec2_DescribeInstances

インスタンスのスナップショットを収集します。
ec2_DescribeInternetGateways インターネットゲートウェイのスナップショットを収集します。
ec2_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations AWS アカウント 内の仮想インターフェイスグループとローカルゲートウェイルートテーブル間の関連付けについての説明を収集します。
ec2_DescribeLocalGateways ローカルゲートウェイのスナップショットを収集します。
ec2_DescribeLocalGatewayVirtualInterfaces ローカルゲートウェイの仮想インターフェースのスナップショットを収集します。
ec2_DescribeNatGateways NAT ゲートウェイのスナップショットを収集します。

ec2_DescribeNetworkAcls

ネットワーク ACL のスナップショットを収集します。

ec2_DescribeRouteTables

ルートテーブルのスナップショットを収集します。

ec2_DescribeSecurityGroups

セキュリティグループのスナップショットを収集します。
ec2_DescribeSecurityGroupRules 1 つまたは複数のセキュリティグループルールのスナップショットを収集します。
ec2_DescribeTransitGateways トランジットゲートウェイのスナップショットを収集します。

ec2_DescribeVolumes

VPC エンドポイントのスナップショットを収集します。

ec2_DescribeVpcs

VPC のスナップショットを収集します。

ec2_DescribeVpcEndpoints

VPC エンドポイントのスナップショットを収集します。
ec2_DescribeVpcEndpointConnections 承認待ちのエンドポイントを含む、VPC エンドポイントサービスへの VPC エンドポイント接続のスナップショットを収集します。
ec2_DescribeVpcEndpointServiceConfigurations AWS アカウント の VPC エンドポイントサービス設定のスナップショットを収集します。
ec2_DescribeVpcPeeringConnections VPN 接続のスナップショットを収集します。
ec2_DescribeVpnConnections VPN 接続のスナップショットを収集します。
ec2_DescribeVpnGateways 仮想プライベートゲートウェイのスナップショットを収集します。
ec2_GetEbsDefaultKmsKeyId 現在のリージョンでの AWS アカウント における EBS 暗号化用のデフォルト AWS KMS key のスナップショットを収集します。
ec2_GetEbsEncryptionByDefault 現在のリージョンの AWS アカウント に対してデフォルトでの EBS 暗号化が有効になっているかどうかを示します。
ecs_DescribeClusters ECS クラスターのスナップショットを収集します。
eks_DescribeAddonVersions アドオンバージョンのスナップショットを収集します。
elasticache_DescribeCacheClusters プロビジョニングされたクラスターのスナップショットを収集します。
elasticache_DescribeServiceUpdates Amazon ElastiCache のサービスアップデートのスナップショットを収集します。
elasticfilesystem_DescribeAccessPoints AWS アカウント 内の Amazon EFS アクセスポイントのスナップショットを収集します。

elasticfilesystem_DescribeFileSystems

Amazon EFS ファイルシステムのスナップショットを収集します。
elasticloadbalancingv2_DescribeLoadBalancers

AWS アカウント 内のロードバランサーのスナップショットを収集します。

elasticloadbalancingv2_DescribeSSLPolicies SSL ネゴシエーションに使用するポリシーのスナップショットを収集します。
elasticloadbalancingv2_DescribeTargetGroups ELB ターゲットグループのスナップショットを収集します。
elasticmapreduce_ListSecurityConfigurations AWS アカウント で確認できるセキュリティ設定のリストを、その作成日時および名前とともに取得します。
events_ListConnections AWS アカウント 内の Amazon EventBridge 接続のリストを取得します。
events_ListEventBuses デフォルトのイベントバス、カスタムイベントバス、パートナーイベントバスなど、AWS アカウント 内の Amazon EventBridge イベントバスのリストを取得します。
events_ListEventSources AWS アカウント で共有されているパートナーイベントソースのリストを取得します。
events_ListRules Amazon EventBridge ルールのリストを取得します。
firehose_ListDeliveryStreams 配信ストリームのリストを取得します。
fsx_DescribeFileSystems AWS アカウント が所有するファイルシステムのスナップショットを収集します。
guardduty_ListDetectors

Amazon GuardDuty ディテクターリソース用の detectorIds のリストを取得します。

iam_GenerateCredentialReport

AWS アカウント の認証情報レポートを生成します。

iam_GetAccountPasswordPolicy

AWS アカウント のパスワードポリシーのスナップショットを収集します。

iam_GetAccountSummary

AWS アカウント 内での IAM エンティティの使用状況および IAM クォータのスナップショットを収集します。

iam_ListGroups

AWS アカウント で使用できるパスのプレフィックスに関連付けられた IAM グループのリストを取得します。
iam_ListOpenIDConnectProviders AWS アカウント で定義されている IAM OpenID Connect (OIDC) プロバイダーリソースオブジェクトのリストを取得します。

iam_ListPolicies

AWS アカウント で使用できる管理ポリシーのリストを取得します。これには、独自の顧客定義の管理ポリシーおよび AWS マネージドポリシーが含まれます。

iam_ListRoles

AWS アカウント で使用できるパスのプレフィックスに関連付けられた IAM ロールのリストを取得します。
iam_ListSAMLProviders AWS アカウント の IAM で定義されている SAML プロバイダーリソースオブジェクトのリストを取得します。

iam_ListUsers

AWS アカウント 内の IAM ユーザーのリストを取得します。
iam_ListVirtualMFADevices AWS アカウント 内で定義されている仮想 MFA デバイスのリストを取得します。
kafka_ListClusters AWS アカウント 内にある Amazon MSK クラスターのリストを取得します。
kafka_ListKafkaVersions AWS アカウント 内にある Apache Kafka バージョンのオブジェクトのリストを取得します。
kinesis_ListStreams Kinesis データストリームのリストを取得します。

kms_GetKeyPolicy

Audit Manager はこの API を使用して、AWS アカウント 内にある AWS KMS keys のキーポリシーのスナップショットを収集します。

この API をデータソースとして使用する場合、特定のAWS KMS keyの名前を指定する必要はありません。代わりに、Audit Managerは ListKeys オペレーションを使用してすべての KMS キーを一覧表示します。次に、Audit Manager は、一覧表示されているすべての KMS キーに対して GetKeyPolicy オペレーションを実行して、そのリソースの証拠を生成します。 

kms_GetKeyRotationStatus

Audit Manager はこの API を使用して、AWS アカウント で AWS KMS keys の自動ローテーションが有効になっているかを確認するスナップショットを収集します。

この API をデータソースとして使用する場合、特定のAWS KMS keyの名前を指定する必要はありません。代わりに、Audit Managerは ListKeys オペレーションを使用してすべての KMS キーを一覧表示します。次に、Audit Manager は、一覧表示されているすべての KMS キーに対して GetKeyRotationStatus オペレーションを実行して、そのリソースの証拠を生成します。 

kms_ListKeys AWS アカウント 内にある AWS KMS keys のリストを取得します。
lambda_ListFunctions 各バージョン固有の設定とともに、AWS アカウント 内の Lambda 関数のリストを取得します。
rds_DescribeDBClusters AWS アカウント 内の既存の Amazon Aurora DB クラスターおよびマルチ AZ DB クラスターのスナップショットを取得します。

rds_DescribeDBInstances

AWS アカウント 内のプロビジョニングされた RDS インスタンスのスナップショットを収集します。
rds_DescribeDbInstanceAutomatedBackups AWS アカウント の現在のインスタンスおよび削除されたインスタンスのバックアップのスナップショットを収集します。
rds_DescribeDbSecurityGroups AWS アカウント の DBSecurityGroups のスナップショットを収集します。

redshift_DescribeClusters

AWS アカウント 内のプロビジョニングされた Amazon Redshift クラスターのスナップショットを収集します。

s3_GetBucketEncryption

S3 バケットのデフォルトの暗号化設定を示すスナップショットを収集します。

この API をデータソースとして使用する場合、特定の S3 バケットの名前を指定する必要はありません。代わりに、Audit Manager はListBuckets オペレーションを使用してすべてのバケットを一覧表示します。一覧表示されているすべてのバケットに対して、Audit Manager は GetBucketEncryption オペレーションを実行して、そのリソースの証拠を生成します。

Audit Manager が提供できるのは、評価と同じAWS リージョン期間に作成されたバケットの暗号化ステータスのみです。複数のAWS リージョンでS3 バケットの暗号化ステータスを確認する必要がある場合は、S3 バケットがある各AWS リージョンで評価を作成することをお勧めします。

s3_ListBuckets

AWS アカウント 内にある S3 バケットのリストを取得します。
sagemaker_ListAlgorithms AWS アカウント の機械学習アルゴリズムのリストを取得します。
sagemaker_ListDomains AWS アカウント のドメインリストを取得します。
sagemaker_ListEndpoints AWS アカウント のエンドポイントリストを取得します。
sagemaker_ListEndpointConfigs AWS アカウント のエンドポイント設定のリストを取得します。
sagemaker_ListFlowDefinitions AWS アカウント のフロー定義のリストを取得します。
sagemaker_ListHumanTaskUis AWS アカウント のヒューマンタスクインターフェイスのリストを取得します。
sagemaker_ListLabelingJobs AWS アカウント のラベル付けジョブのリストを取得します。
sagemaker_ListModels AWS アカウント のモデルリストを取得します。
sagemaker_ListModelBiasJobDefinitions AWS アカウント のモデルバイアスジョブ定義のリストを取得します。
sagemaker_ListModelCards AWS アカウント のモデルカードリストを取得します。
sagemaker_ListModelQualityJobDefinitions AWS アカウント のモデル品質モニタリングジョブ定義のリストを取得します。
sagemaker_ListMonitoringAlerts 特定のモニタリングスケジュールのアラートのリストを取得します。
sagemaker_ListMonitoringSchedules AWS アカウント のすべてのモニタリングスケジュールのリストを取得します。
sagemaker_ListTrainingJobs AWS アカウント のトレーニングジョブのリストを取得します。
sagemaker_ListUserProfiles AWS アカウント のユーザープロファイルのリストを取得します。
secretsmanager_ListSecrets 削除対象としてマークされているシークレットを除き、AWS アカウント に保存されているシークレットのリストを取得します。
sns_ListTopics AWS アカウント 内にある SNS トピックのリストを取得します。
sqs_ListQueues AWS アカウント 内にある SQS キューのリストを取得します。
waf-regional_ListWebAcls AWS アカウント の WebACLSummary オブジェクトのリストを取得します。
waf-regional_ListRules AWS アカウント の RuleSummary オブジェクトのリストを取得します。
waf_ListRuleGroups AWS アカウント のルールグループの RuleGroupSummary オブジェクトのリストを取得します。
waf_ListRules AWS アカウント の RuleSummary オブジェクトのリストを取得します。
waf_ListWebAcls AWS アカウント の WebACLSummary オブジェクトのリストを取得します。

AWS License Manager 標準フレームワークで使用される API コール

AWS License Manager 標準フレームワークにおいて、Audit Manager は、証拠を収集するために GetLicenseManagerSummary と呼ばれるカスタムアクティビティを使用します。このアクティビティでは、次の 3 つのLicense Manager API を呼び出します。

返されたデータは証拠に変換され、評価の関連するコントロールにアタッチされます。

2 つのライセンス製品 (SQL Service 2017 と Oracle Database Enterprise Edition) を使用しているとします。最初に、GetLicenseManagerSummary アクティビティは、ListLicenseConfigurations API を呼び出します。これは、アカウントのライセンス設定の詳細を提供します。次に、ListUsageForLicenseConfiguration および ListAssociationsForLicenseConfiguration を呼び出して、各ライセンス設定についてコンテキストデータをさらに追加します。最後に、ライセンス設定データを証拠に変換し、フレームワークのそれぞれのコントロールにアタッチします (4.5 - SQL Server 2017 のカスタマーマネージドライセンスおよび 3.0.4 - Oracle Database Enterprise Edition のカスタマーマネージドライセンス)。

フレームワークのどのコントロールによってもカバーされていないライセンス製品を使用している場合、そのライセンス設定データは、次のコントロールの証拠としてアタッチされます: 5.0 - 他のライセンスのカスタマーマネージドライセンス

追加リソース