Access Analyzer・Trusted Advisor・Audit Manager
IAM Access Analyzerの外部/未使用アクセス分析、Trusted Advisorセキュリティチェック、Audit Manager監査を徹底解説
Access Analyzer・Trusted Advisor・Audit Manager
本章ではIAMアクセス分析・信頼されたアドバイザー・監査マネージャーの3つのセキュリティサービスを徹底解説します。これらはセキュリティポスチャーの可視化と継続的な改善を実現する重要なツールです。
Access Analyzer Zone of Trust 概念図
Loading diagram...
Access Analyzer ポリシー自動生成フロー
Loading diagram...
1. IAM Access Analyzer 深掘り
1.1 概要と基本機能
IAM Access Analyzerは、AWSリソースへのアクセスパーミッションを包括的に分析し、セキュリティリスクを検出するサービスです。
IAM Access Analyzer の役割
├─ 外部アクセス検出 (Zone of Trust外からのアクセスを可視化)
├─ 未使用アクセス分析 (CloudTrailベースの使用状況追跡)
├─ ポリシー自動生成 (CloudTrailから最小権限ポリシーを学習)
├─ ポリシー検証 (文法チェック・セキュリティ警告)
└─ カスタムポリシーチェック (新規ポリシーの安全性確認)
1.2 Zone of Trust 概念
Zone of Trust はAccess Analyzerの中核概念です。
Zone of Trust の定義:
- デフォルト: 自AWSアカウント
- 組織モード: 組織全体のアカウント群
Zone外(外部)からのアクセス:
- 他のAWSアカウント ✗
- 外部のプリンシパル(ルートユーザー)✗
- Federated ユーザー ✗
例: S3バケットのクロスアカウントアクセス
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::EXTERNAL-ACCOUNT-ID:root"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
このバケットポリシーはZone of Trust外のアカウントにアクセスを許可しているため、Findingが生成されます。
1.3 外部アクセス分析(External Access)
Finding の種類と重要度
| Finding種別 | 説明 | 対象リソース |
|---|---|---|
| Public | インターネット全体にアクセス許可 | S3, KMS, Lambda等 |
| Cross-Account | Zone外のAWSアカウントにアクセス許可 | IAM Role, S3, SQS等 |
| AWS Service | AWSサービスプリンシパルへのアクセス許可 | KMS, S3, Lambda等 |
| Federated | フェデレーション IDPへのアクセス許可 | IAM Role (AssumeRole) |
対応リソースタイプ
Access Analyzerが分析可能なリソース:
- S3 Bucket(バケットポリシー)
- IAM Role(信頼ポリシー・インラインポリシー)
- KMS Key(キーポリシー)
- Lambda Function(リソースベースドポリシー)
- SQS Queue(キューポリシー)
- SNS Topic(トピックポリシー)
- Secrets Manager Secret(リソースベースドポリシー)
- EC2 Image(公開AMI)
- RDS DB Cluster(パブリックアクセシビリティ)
- EBS Volume(パブリック共有)
制限事項:
- VPC関連 (SG, NACLは分析不可)
- CloudFront(分析対象外)
- API Gateway(分析対象外)
検出例:S3 Public Access
# Access Analyzerでパブリックアクセスを検出
aws accessanalyzer list-findings \
--analyzer-arn arn:aws:access-analyzer:ap-northeast-1:111122223333:analyzer/MyAnalyzer \
--filter '[
{
"property": "resourceType",
"contains": ["S3"]
},
{
"property": "status",
"eq": ["ACTIVE"]
}
]'
# 結果例
{
"findings": [
{
"id": "finding-xxx",
"resourceType": "AWS::S3::Bucket",
"resourceName": "my-public-bucket",
"findingType": "ExternalAccess",
"status": "ACTIVE",
"principal": {
"AWS": "*"
},
"action": ["s3:GetObject"],
"condition": {},
"createdAt": "2026-04-27T10:00:00Z",
"analyzerArn": "..."
}
]
}
1.4 未使用アクセス分析(Unused Access)
CloudTrailの過去90日間のログをベースに、使用されていないアクセスを検出します。
追跡対象
未使用アクセス検出の対象:
1. 未使用IAMロール
- 過去90日間にAssumeされていないロール
- 信頼ポリシーで許可されているが使用なし
2. 未使用権限(Unused Permissions)
- ロールに付与されているが実行されていない権限
- CloudTrailで実行ログが見当たらない
3. 未使用アクセスキー
- 過去90日間にAPI呼び出しがないキー
- IAMユーザーの認証情報ローテーションの目安
4. 未使用セッション(ConsoleLogin)
- マネジメントコンソール未ログイン期間
API 例
# Unused IAM Rolesを検出
aws accessanalyzer list-findings \
--analyzer-arn arn:aws:access-analyzer:ap-northeast-1:111122223333:analyzer/MyAnalyzer \
--filter '[
{
"property": "findingType",
"eq": ["UnusedIamRole"]
}
]'
# 結果フォーマット
{
"findings": [
{
"id": "finding-yyy",
"resourceType": "AWS::IAM::Role",
"resourceName": "old-lambda-execution-role",
"findingType": "UnusedIamRole",
"status": "ACTIVE",
"lastAccessedTime": "2026-01-15T08:30:00Z",
"analyzedAt": "2026-04-27T10:00:00Z"
}
]
}
1.5 ポリシー生成(Policy Generation)
CloudTrailログから学習し、実際に使用されたアクション群から最小権限ポリシーを自動生成します。
プロセス
-
CloudTrailログ分析
- 指定期間内の全APIコール記録
- ユーザー/ロール単位での実行アクション抽出
-
アクション集約
- 重複排除
- リソースタイプの特定
- 条件の抽出(IP制限など)
-
ポリシー生成
- JSON形式で出力
- Deny文は含まず
- コメント行で分析対象期間を表示
実装例
# ロールを指定してポリシー生成開始
aws accessanalyzer validate-policy \
--policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}' \
--policy-type IDENTITY_POLICY
# 結果:セキュリティワーニングが返される
{
"findings": [
{
"findingType": "ERROR",
"issueCode": "MISSING_REQUIRED_ATTRIBUTE",
"message": "Principal is required"
},
{
"findingType": "SECURITY_WARNING",
"issueCode": "RESOURCE_WILDCARD_WITH_ADMINISTRATIVE_ACTION",
"message": "Allow with Resource: * grants excessive permissions"
}
]
}
1.6 ポリシー検証(Policy Validation)
新しいポリシーをデプロイする前に、セキュリティ問題や文法エラーを検出します。
チェック内容
ポリシー検証の項目:
文法チェック (ERROR):
- 必須フィールドの欠落
- JSONのシンタックスエラー
- 無効なアクション/リソースARN
セキュリティ警告 (SECURITY_WARNING):
- ワイルドカード (*) の過度な使用
- 管理アクション(IAM, STS等)へのワイルドカード許可
- 未使用条件キー
- "Principal: *" の使用
情報 (INFORMATION):
- deprecated アクションの使用
- 推奨事項
CLI例
# カスタムポリシーをチェック
aws accessanalyzer validate-policy \
--policy-document file://my-policy.json \
--policy-type IDENTITY_POLICY
# 出力
{
"findings": [
{
"findingType": "SECURITY_WARNING",
"issueCode": "RESOURCE_WILDCARD_WITH_ADMINISTRATIVE_ACTION",
"message": "iam:CreateRole with Resource: * is overly permissive",
"locations": [
{
"path": ["/Statement/0/Action"],
"span": {"start": 100, "end": 120}
}
]
}
],
"result": "MANUAL_REVIEW_REQUIRED"
}
1.7 カスタムポリシーチェック(Custom Policy Check)
新しいポリシーをアタッチしたときに、期待しない権限が付与されないかを検証します。
# ロールに新ポリシーを追加しようとしている
# 期待: S3読み取りのみ
# 検証: EC2への権限がないか確認
aws accessanalyzer validate-policy \
--policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": ["arn:aws:s3:::mybucket/*"]
}
]
}' \
--policy-type IDENTITY_POLICY \
--validate-policy-resource-type IAM_ROLE
1.8 アーカイブルール(Archive Rules)
Findingを自動的にアーカイブ(非表示化)するルールを設定できます。これにより、既知・許容可能なアクセスパターンをノイズから除外できます。
# 特定のクロスアカウントアクセスをアーカイブ
aws accessanalyzer create-archive-rule \
--analyzer-arn arn:aws:access-analyzer:ap-northeast-1:111122223333:analyzer/MyAnalyzer \
--rule-name AllowPartnerCrossAccount \
--filter '[
{
"property": "findingType",
"eq": ["CrossAccountAccess"]
},
{
"property": "principal.AWS",
"eq": ["arn:aws:iam::222233334444:root"]
}
]'
# リストアップ
aws accessanalyzer list-archive-rules \
--analyzer-arn arn:aws:access-analyzer:ap-northeast-1:111122223333:analyzer/MyAnalyzer
# アーカイブルール削除
aws accessanalyzer delete-archive-rule \
--analyzer-arn arn:aws:access-analyzer:ap-northeast-1:111122223333:analyzer/MyAnalyzer \
--rule-name AllowPartnerCrossAccount
1.9 組織での委任管理者(Organization Delegated Admin)
Organizations環境では、管理アカウントから委任管理者を指定し、一元的にアクセス分析を行えます。
# 管理アカウントから委任管理者を登録
aws organizations register-delegated-administrator \
--account-id 111122223333 \
--service-principal access-analyzer.amazonaws.com
# 委任管理者側でアナライザー作成(複数アカウント対象)
aws accessanalyzer create-analyzer \
--analyzer-name OrgAnalyzer \
--type ORGANIZATION \
--tags "Environment=Prod,Team=Security"
# 結果: 組織全体のリソースアクセス分析が可能
1.10 制約・できないこと
Access Analyzer の制約:
リアルタイム性:
- CloudTrailの取り込みに遅延(数時間)
- Findingの更新頻度は最大1日1回
- 即座の脅威検出には不向き
対応リソース制限:
- VPC Security Group 未対応
- Network ACL 未対応
- CloudFront Distribution 未対応
- API Gateway 一部未対応
- Route 53 未対応
分析範囲:
- リソースベースドポリシーのみ
- IAM ユーザーのアクセスキー順位は簡易
- アクション実行の成功/失敗は区別しない
修復:
- Findingの自動修復なし
- 管理者が手動対応の必要
2. AWS Trusted Advisor 深掘り
2.1 概要と役割
Trusted Advisorはセキュリティ、コスト最適化、パフォーマンス、耐障害性、サービスのクォータを総合的にチェックするサービスです。本章ではセキュリティカテゴリを中心に解説します。
Trusted Advisor のカテゴリ構成
├─ セキュリティ (Security) ← SCS-C03出題範囲
├─ 費用最適化 (Cost Optimization)
├─ パフォーマンス (Performance)
├─ 耐障害性 (Fault Tolerance)
└─ サービスクォータ (Service Limits)
2.2 セキュリティチェック項目
2.2.1 Core Checks(すべてのプランで利用可)
Core Security Checks:
1. MFA on AWS Account Root User
チェック: ルートユーザーにMFAが有効か
重要度: ★★★★★
修復方法: IAM > セキュリティ認証情報 > MFA有効化
2. Security Groups - Specific Ports Unrestricted
チェック: SGのインバウンドルールが危険なポートを開いているか
対象ポート:
- 3306 (MySQL)
- 5432 (PostgreSQL)
- 1433 (SQL Server)
- 3389 (RDP)
- 22 (SSH)
重要度: ★★★★
3. IAM Access Key Rotation
チェック: アクセスキーが90日以上未ローテーション
重要度: ★★★★
ベストプラクティス: 90日ごとにローテーション
4. CloudTrail Logging
チェック: CloudTrailが有効か
重要度: ★★★★★
必須: 監査証跡の確保
5. AWS Lambda Security
チェック: Lambda関数が未使用か、死コード混在か
重要度: ★★★
2.2.2 Full Checks(Business/Enterprise Support限定)
Full Security Checks (Business/Enterprise Support必須):
6. IAM Policy Check
- 過度にPermissiveなポリシー検出
- ワイルドカード(*) 過度使用
- 廃止予定のアクション
7. Security Groups - Specific Ports Unrestricted (詳細版)
- 全リージョン対象
- カスタムポート対応
8. Exposed Access Keys
- Public Repositories での漏洩検出
- GitHub/GitLabスキャン連携
9. ElastiCache Security
- キャッシュセキュリティグループの確認
10. EBS Encryption
- 暗号化されていないボリュームの検出
11. RDS Encryption
- DB インスタンスの暗号化確認
12. S3 Bucket Permissions
- パブリックアクセスバケット検出
- Block Public Access 設定確認
2.3 API/CLI アクセス
Trusted Advisorチェック結果をプログラム的に取得できます。
# Trusted Advisorチェックのリスト取得
aws support describe-trusted-advisor-checks \
--region us-east-1
# 結果例
{
"checks": [
{
"id": "u1f5Bf20",
"name": "MFA on AWS Account Root User",
"description": "Checks whether your root account is using MFA",
"category": "security",
"metadata": ["Account ID"],
"source": "AWS Trusted Advisor"
},
{
"id": "xF52q7q0",
"name": "Security Groups - Specific Ports Unrestricted",
"description": "Checks for security groups allowing unrestricted access to port 22 (SSH)...",
"category": "security",
"metadata": ["Region", "Group ID", "Port", "Protocol"],
"source": "AWS Trusted Advisor"
}
]
}
# 特定チェックの結果取得
aws support describe-trusted-advisor-check-result \
--check-id u1f5Bf20 \
--language en \
--region us-east-1
# 結果例
{
"checkResult": {
"checkId": "u1f5Bf20",
"timestamp": "2026-04-27T10:00:00Z",
"status": "ok",
"resourcesSummary": {
"resourcesProcessed": 1,
"resourcesFlagged": 0,
"resourcesSuppressed": 0,
"resourcesException": 0
},
"categorySpecificSummary": {
"costOptimizing": {}
},
"flaggedResources": []
}
}
2.4 EventBridge との連携
Trusted Advisorの結果変化をEventBridgeで検知し、自動アクションをトリガーできます。
# EventBridge ルール例
# Trusted Advisor チェック完了時に Lambda実行
Name: TrustedAdvisorCheckCompleted
EventBusName: default
EventPattern:
source:
- aws.support
detail-type:
- Trusted Advisor Check Item Refresh Completed
detail:
status:
- WARN
- ERROR
checkName:
- MFA on AWS Account Root User
Targets:
- Arn: arn:aws:lambda:ap-northeast-1:111122223333:function:SecurityAlertHandler
RoleArn: arn:aws:iam::111122223333:role/EventBridgeInvokeRole
// Lambda 処理例
exports.handler = async (event) => {
const detail = event.detail;
// 検査ID別に処理を分岐
const checkId = detail.checkId;
const status = detail.status;
if (checkId === 'u1f5Bf20' && status === 'WARN') {
// Root MFA 警告
await sendSlackNotification(
`[Critical] Root account MFA is not enabled!`
);
}
return {
statusCode: 200,
body: 'Alert sent'
};
};
2.5 Trusted Advisor の制約・できないこと
Trusted Advisor の制約:
機能制限:
- 自動修復機能なし(手動対応のみ)
- Core Checks: リージョン限定(一部のみ)
- Full Checks: Business/Enterprise Support必須
- チェック実行頻度: 最大1日1回(手動実行可)
カバレッジ制限:
- 非AWS サービス対象外
- アプリケーションレベルの脅威検知不可
- リアルタイム性低い(数時間の遅延)
API 制限:
- AWS Support API 必須
- Trusted Advisor API は非公開
- describe-trusted-advisor-check-result のみ可能
3. AWS Audit Manager 深掘り
3.1 概要と価値提案
Audit Managerは監査業務を自動化し、継続的なコンプライアンス評価を実現するサービスです。
Audit Manager の役割
├─ フレームワーク管理(CIS, PCI DSS, GDPR等の標準化)
├─ 証拠自動収集(Config Rules, CloudTrail, Security Hub)
├─ 評価実施(手動/自動による監査実施)
└─ レポート生成(監査結果を法的文書に変換)
3.2 対応フレームワーク
Audit Managerはあらかじめ検証済みのフレームワークテンプレートを提供します。
AWS 提供フレームワーク(プリセット)
AWS Provided Frameworks:
CIS AWS Foundations Benchmark
- 対象: General Security
- コントロール数: 43
- 難易度: ★★★
- 用途: AWS環境の最小セキュリティ基準
PCI DSS v3.2.1
- 対象: Payment Card Industry
- コントロール数: 98
- 難易度: ★★★★★
- 用途: クレジットカード決済環境
GDPR
- 対象: Data Protection (EU)
- コントロール数: 84
- 難易度: ★★★★★
- 用途: EU顧客データ保護
SOC 2
- 対象: Service Organization Control
- コントロール数: 70以上
- 難易度: ★★★★
- 用途: SaaS/サービス提供者
HIPAA
- 対象: Healthcare
- コントロール数: 55
- 難易度: ★★★★★
- 用途: 医療従事者・医療保険
FedRAMP Moderate
- 対象: US Government
- コントロール数: 110+
- 難易度: ★★★★★
- 用途: 連邦政府契約企業
3.3 評価の自動化(Automated Evidence Collection)
Audit Managerは複数のAWSサービスから自動的にエビデンス(証拠)を収集します。
エビデンス取得元
Auto-collected Evidence Sources:
1. AWS Config Rules
- コンプライアンスルール評価結果
- リソース設定変更履歴
- コンプライアンス状態 (COMPLIANT/NON_COMPLIANT)
2. CloudTrail
- API呼び出し履歴
- 操作ユーザー・タイムスタンプ
- アクション結果(成功/失敗)
3. AWS Security Hub
- セキュリティ調査結果(findings)
- コンプライアンスステータス
4. CloudWatch Logs
- ログイベント
- エラーログ
5. Manual Evidence
- スクリーンショット
- ドキュメント
- 外部監査結果
6. AWS Systems Manager
- パッチコンプライアンス状態
CloudTrail エビデンス例
{
"eventVersion": "1.08",
"eventTime": "2026-04-27T10:30:45Z",
"eventSource": "iam.amazonaws.com",
"eventName": "CreateAccessKey",
"userAgent": "aws-cli/2.13.0",
"sourceIPAddress": "203.0.113.45",
"userIdentity": {
"type": "IAMUser",
"principalId": "AIDAI23HXD2W7EXAMPLE",
"arn": "arn:aws:iam::111122223333:user/audit-user",
"accountId": "111122223333",
"userName": "audit-user"
},
"requestParameters": {
"userName": "app-user"
},
"responseElements": {
"accessKey": {
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"createDate": "2026-04-27T10:30:45Z"
}
}
}
3.4 カスタムフレームワーク
プリセットだけでなく、業界・組織固有のフレームワークをカスタム定義できます。
# カスタムフレームワーク作成
aws auditmanager create-assessment-framework \
--name "MyCompanySecurityStandard" \
--framework-type Custom \
--control-sources "[\"AWS_CONTROL_LIBRARY\"]" \
--control-sets '[
{
"name": "Access Control",
"controls": [
{
"arn": "arn:aws:auditmanager:ap-northeast-1::control/aws/iam-policy-no-statements-with-admin-access"
},
{
"arn": "arn:aws:auditmanager:ap-northeast-1::control/aws/mfa-enabled-for-iam-console-access"
}
]
}
]'
# フレームワーク一覧
aws auditmanager list-assessment-frameworks \
--framework-type Custom
# フレームワーク詳細取得
aws auditmanager get-assessment-framework \
--framework-id abc-123-def
3.5 評価レポート生成
Audit Managerは評価結果から法的に有効な監査レポートを自動生成します。
# 評価作成
aws auditmanager create-assessment \
--name "Q2-2026-PCI-DSS-Audit" \
--assessment-framework-id pci-dss-v3-2-1 \
--scope '{
"awsAccounts": [
{
"id": "111122223333",
"emailAddress": "security@company.com"
}
],
"awsServices": [
{
"serviceName": "Amazon S3",
"serviceCategory": "STORAGE"
},
{
"serviceName": "AWS Lambda",
"serviceCategory": "COMPUTE"
}
]
}'
# 評価実行
aws auditmanager start-assessment \
--assessment-id abc-123
# レポート生成
aws auditmanager generate-assessment-report \
--assessment-id abc-123 \
--description "Final Q2 Audit Report" \
--report-type COMPLETE
# 結果
{
"assessmentReport": {
"id": "report-xyz",
"assessmentId": "abc-123",
"status": "COMPLETE",
"creationTime": "2026-04-27T15:00:00Z",
"name": "Final Q2 Audit Report",
"downloadUrl": "https://..."
}
}
3.6 制約・できないこと
Audit Manager の制約:
機能限界:
- 自動修復機能なし(評価のみ)
- エビデンス収集の遅延(最大24時間)
- Manual Evidence追加は手作業必須
- リアルタイム監査評価不可
対応リージョン:
- 米国 (us-east-1), 欧州限定
- 日本リージョン未対応(2026年4月時点)
運用負荷:
- カスタムコントロール定義は手作業
- フレームワーク構築に専門知識必須
- 継続的な評価運用に人的リソース必要
設定制限:
- 1 AWS アカウント = 最大 10 評価
- 評価スコープ: 1 アカウント = 1 評価
4. 3サービスの連携パターン
4.1 統合アーキテクチャ
Slack/SNS Alert
[定期監査(月次/四半期)] Config Rules + CloudTrail + Security Hub → Audit Manager ↓ 自動エビデンス収集 ↓ 評価レポート生成 ↓ 経営層報告
### 4.2 実装例:統合セキュリティダッシュボード
```javascript
// Lambda: Unified Security Dashboard
// Access Analyzer + Trusted Advisor + Audit Manager の結果を統合
const AWS = require('aws-sdk');
const analyzer = new AWS.AccessAnalyzer();
const support = new AWS.Support({ region: 'us-east-1' });
const auditMgr = new AWS.AuditManager();
exports.handler = async (event) => {
const results = {};
// 1. Access Analyzer Findings 取得
const analyzerArn = process.env.ANALYZER_ARN;
const findings = await analyzer.listFindings({
analyzerArn: analyzerArn,
filter: [
{
property: 'status',
eq: ['ACTIVE']
}
]
}).promise();
results.externalAccess = findings.findings.filter(f =>
f.findingType === 'ExternalAccess'
).length;
results.unusedAccess = findings.findings.filter(f =>
f.findingType.startsWith('Unused')
).length;
// 2. Trusted Advisor Core Checks 取得
const trustedChecks = await support.describeTrustedAdvisorCheckResult({
checkId: 'u1f5Bf20', // MFA Check
language: 'en'
}).promise();
results.rootMfaEnabled =
trustedChecks.checkResult.resourcesSummary.resourcesFlagged === 0;
// 3. Audit Manager 評価進捗 取得
const assessments = await auditMgr.listAssessments({}).promise();
results.activeAssessments = assessments.assessmentMetadata.filter(a =>
a.status === 'IN_PROGRESS'
).length;
// ダッシュボード用JSON返却
return {
statusCode: 200,
body: JSON.stringify({
timestamp: new Date().toISOString(),
summary: results
})
};
};
4.3 修復フロー(Remediation Workflow)
発見 → 分類 → 修復 → 検証 のサイクル
Step 1: Access Analyzer が S3パブリックバケット検出
Finding ID: finding-xxx
Resource: my-bucket
Type: ExternalAccess (Public)
Step 2: 組織で分類
分類: High Risk
所有者: Data Team
期限: 3営業日以内
Step 3: 修復実施
# バケットポリシー削除 or Deny公開アクセス追加
aws s3api put-bucket-policy \
--bucket my-bucket \
--policy file://block-public.json
Step 4: 検証
再度 Access Analyzer スキャン
Finding ステータス → ARCHIVED(修復確認)
Step 5: Audit Manager で証拠記録
修復日時、実施者、変更内容をレコード
5. 試験で狙われるポイント
5.1 Access Analyzer (出題頻度: 高)
★★★★★ 最頻出
- Zone of Trust の定義と外部アクセス検出
- CloudTrail ベースの未使用アクセス分析
- ポリシー生成の動作(何ができるか、何ができないか)
- 対応リソースタイプ(S3, IAM Role, KMS, Lambda等)
- Organization モード vs Single Account
★★★★ よく出題
- Finding種別(Public, Cross-Account, AWS Service, Federated)
- ポリシー検証とセキュリティ警告の例
- アーカイブルール(既知リスクの除外)
- 制約: VPC/CloudFront 非対応
★★★ 出題可能性あり
- API コマンド(list-findings, create-analyzer等)
- CloudTrail 遅延とリアルタイム性の限界
- カスタムポリシーチェック使用例
出題パターン
Q1: S3バケットにクロスアカウントアクセスを許可するバケットポリシー
を配置した。Access Analyzerはどの Finding を生成するか?
→ A) ExternalAccess - CrossAccountAccess
Q2: IAM ロールに付与された権限のうち、過去90日間使用されていない
ものはどのように検出されるか?
→ A) UnusedPermissions Finding を生成
Q3: CloudTrailログからポリシーを生成する場合、生成されたポリシーに
含まれるのは?
→ A) 過去X日間で実行されたアクションのみ
→ B) Deny は含まない
→ C) リソースワイルドカード(*)も推奨では含まれる
5.2 Trusted Advisor (出題頻度: 中)
★★★★ よく出題
- セキュリティカテゴリの全チェック項目
- Core Checks vs Full Checks(サポートプラン依存)
- MFA, IAM Key Rotation, SG ポート開放の検出
★★★ 出題可能性あり
- API アクセス(Support APIが必須)
- EventBridge との連携
- チェック実行頻度(1日1回)
★★ 低確度
- 費用最適化・パフォーマンス領域(SCS-C03外)
出題パターン
Q1: Trusted Advisor の Full Checks を実行するのに必須な
サポートプランはどれ?
→ A) Business or Enterprise Support
Q2: IAM アクセスキーが90日間未ローテーションの場合、
どの Trusted Advisor チェックで警告されるか?
→ A) IAM Access Key Rotation Check
Q3: EventBridge で Trusted Advisor チェック完了を検知し、
Lambda を自動実行するには何が必要か?
→ A) EventPattern で source=aws.support を指定
→ B) detail-type=Trusted Advisor Check Item Refresh Completed
5.3 Audit Manager (出題頻度: 中~低)
★★★ 出題可能性あり
- 対応フレームワーク(CIS, PCI DSS, GDPR, SOC 2等)
- 自動エビデンス収集元(Config, CloudTrail, Security Hub)
- レポート生成フロー
★★ 低確度
- カスタムフレームワーク設定
- 評価実行の詳細手順
出題パターン
Q1: Audit Manager で PCI DSS コンプライアンス評価を行う場合、
エビデンスが自動取得される主要ソースは?
→ A) AWS Config Rules
→ B) CloudTrail API logs
→ C) Security Hub findings
→ D) すべて正解
Q2: Audit Manager のフレームワークが日本リージョンで
フルサポートされているか?
→ A) 未対応(2026年4月時点)
Q3: Audit Manager は自動修復を実行するか?
→ A) No(評価のみ、修復は手動)
5.4 統合シナリオ問題(実務的)
★★★★★ 最頻出パターン
組織はセキュリティポスチャーを継続的に改善したい。
以下の要件を満たす構成をすべて選べ:
A) CloudTrail で全API呼び出しを記録
B) Access Analyzer で外部アクセスを検出
C) Trusted Advisor で Core Checks を毎日実行
D) Audit Manager で月次 PCI DSS 評価を実施
E) EventBridge で Trusted Advisor アラートを Slack 送信
答え: A, B, C, D, E すべて
6. ベストプラクティス・推奨設定
6.1 Access Analyzer 運用
推奨設定:
1. アナライザー作成時
- Organization モード推奨(複数アカウント対象)
- タグ: Environment=Prod, Team=Security
2. Finding 管理
- ステータス: Active (未修復) と Archived (既知) を分離
- 定期的に Active Finding を集計(週次)
3. アーカイブルール
- 社内信頼できるアカウント ID をルール化
- パートナー企業のクロスアクセスも例外登録
4. ポリシー検証の活用
- 新規ポリシー deploy 前に全て検証
- CI/CD パイプラインに validation step を組み込み
例:
aws accessanalyzer validate-policy \
--policy-document file://new-policy.json \
--policy-type IDENTITY_POLICY > validation.json
if grep -q 'SECURITY_WARNING' validation.json; then
echo "Policy has warnings - review required"
exit 1
fi
6.2 Trusted Advisor 運用
推奨設定:
1. Core Checks(日常)
- 最重要: MFA on Root User
- 次点: IAM Access Key Rotation, CloudTrail Logging
2. EventBridge 統合
- Core Checks が WARNING/ERROR 状態に変わったら即座にアラート
- Slack/PagerDuty 連携で即応体制構築
3. Full Checks(組織規模)
- Business Support 契約企業は必須
- EBS/RDS 暗号化、IAM Policy Check を月次実行
4. 修復追跡
- Trusted Advisor 結果を JIRA/Backlog に自動チケット化
- SLA: Critical は24時間以内に修復
6.3 Audit Manager 運用
推奨設定:
1. フレームワーク選定
- 業界標準から最小限のセット選択
- PCI DSS → 決済を扱う企業
- SOC 2 → SaaS提供企業
- GDPR → EU顧客データ取得企業
2. 評価スケジュール
- 月次: GDPR/PCI DSS チェックポイント
- 四半期: 全体監査
- 年次: 外部監査対応ドキュメント生成
3. エビデンス管理
- Manual Evidence は Security チームで厳格管理
- バージョン管理・署名の実装
- 2年間の保持期間設定
4. レポート配布
- 月次 → Security Team
- 四半期 → 経営層へのサマリー
- 年次 → 監査法人への正式報告
7. よくある質問(FAQ)
Q1: Access Analyzer と Security Hub の違いは?
Access Analyzer:
- ✓ リソースベースドポリシーの分析専門
- ✓ 外部アクセス可視化
- ✓ ポリシー検証・自動生成
- ✗ マルウェア検知は不可
Security Hub:
- ✓ 複数サービス統合(GuardDuty, Macie, Inspector等)
- ✓ マルウェア検知・異常検知
- ✓ コンプライアンススコア
- ✗ ポリシー生成は不可
→ 使い分け: Access Analyzer で IAM 権限管理
Security Hub で統合セキュリティ監視
Q2: Trusted Advisor チェック結果が古い場合は?
Trusted Advisor チェック実行頻度:
- Core Checks: 無料で実行可
- Full Checks: 自動実行は1日1回
- 手動リフレッシュ: AWS Console から "Refresh" ボタン
→ 最新結果を数分で取得
推奨:
- クリティカルチェックは手動リフレッシュ習慣付け
- 開発環境では手動実行で即座に確認
Q3: Audit Manager で修復レコードを残すには?
Audit Manager は評価・レポートまでが責務。
修復実施履歴は以下で記録:
1. CloudTrail
- API 呼び出し履歴で自動記録
2. AWS Config
- リソース設定変更履歴
3. Manual Evidence (推奨)
- Audit Manager の評価画面に
修復日時・実施者・承認者を手動記録
- スクリーンショット添付で証拠化
例:
修復: S3 バケットポリシーから Public アクセス削除
実施日: 2026-04-27 14:30 UTC
実施者: security-team@company.com
CloudTrail Log ID: xxxxx(リンク)
スクリーンショット: (添付)
8. まとめ表
| サービス | 主要機能 | 対象 | 出題頻度 | 難易度 |
|---|---|---|---|---|
| Access Analyzer | 外部アクセス検出・未使用権限分析・ポリシー生成 | IAM/リソース権限 | ★★★★★ | 高 |
| Trusted Advisor | セキュリティチェック・ベストプラクティス検査 | 総合セキュリティ | ★★★★ | 中 |
| Audit Manager | コンプライアンス評価・監査レポート生成 | 監査・証拠管理 | ★★★ | 高 |
関連リソース
- AWS Access Analyzer ドキュメント
- AWS Trusted Advisor ベストプラクティス
- AWS Audit Manager ユーザーガイド
- SCS-C03 出題形式: 複数選択、複数項目選択式
- 試験時間配分: 1問あたり1~2分を想定