AWS IAM ログを収集する

パーサーのバージョン: 1.0

以下でサポートされています。

このドキュメントでは、サードパーティ API フィードを使用して AWS Identity and Access Management(IAM)構成データを Google Security Operations に取り込む方法について説明します。

AWS IAM パーサーは、IAM エンティティ データ(ユーザー、グループ、ロール、ポリシー)を構造化された統合データモデル(UDM)に変換し、ユーザーの詳細、ロール情報、権限、タイムスタンプなどのフィールドを抽出して、一貫したセキュリティ分析を行います。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • AWS コンソールへの特権アクセス
  • IAM ユーザーとポリシーを作成する権限

Google SecOps の IP 範囲を取得する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. ページの上部に表示されている IP 範囲をメモします。
    • または、Feed Management API を使用して IP 範囲をプログラムで取得します。

必要な権限を持つ IAM ユーザーを作成する

重要: Google SecOps が API を使用して AWS IAM データを取得できるようにするには、適切な読み取り権限を持つ IAM ユーザーを作成する必要があります。

  1. IAM ユーザーの作成のガイドの手順に沿って、ユーザーを作成します。
  2. 作成したユーザーを選択します。
  3. [セキュリティ認証情報] タブを選択します。
  4. [アクセスキー] セクションで、[アクセスキーを作成] をクリックします。
  5. [ユースケース] として [サードパーティ サービス] を選択します。
  6. [Next] をクリックします。
    • (省略可)説明タグを追加します。
  7. [アクセスキーを作成] をクリックします。
  8. [.csv ファイルをダウンロード] をクリックし、[アクセスキー ID] と [シークレット アクセスキー] を保存して、今後の参照に備えます。
  9. [完了] をクリックします。
  10. [権限] タブを選択します。
  11. [権限ポリシー] セクションで、[権限を追加] をクリックします。
  12. [権限を追加] を選択します。
  13. [ポリシーを直接アタッチする] を選択します。
  14. IAMReadOnlyAccess(AWS マネージド ポリシー)を検索します。
  15. ポリシーを選択します。
  16. [次へ] をクリックします。
  17. [権限を追加] をクリックします。

重要: IAMReadOnlyAccess ポリシーには、必要な権限がすべて含まれています。

  • iam:GetUser
  • iam:ListUsers
  • iam:GetGroup
  • iam:ListGroups
  • iam:GetPolicy
  • iam:ListPolicies
  • iam:GetRole
  • iam:ListRoles
  • iam:ListAttachedUserPolicies
  • iam:ListAttachedGroupPolicies
  • iam:ListAttachedRolePolicies
  • iam:GetAccountSummary

オプション B: カスタム ポリシーを作成する(最小権限)

セキュリティ ポリシーでマネージド ポリシーではなく最小権限が必要な場合:

  1. AWS コンソールで、[IAM] > [ポリシー] > [ポリシーを作成] > [JSON] タブに移動します。
  2. 次のポリシーを貼り付けます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "iam:GetUser",
            "iam:ListUsers",
            "iam:GetGroup",
            "iam:ListGroups",
            "iam:GetPolicy",
            "iam:ListPolicies",
            "iam:GetRole",
            "iam:ListRoles",
            "iam:ListAttachedUserPolicies",
            "iam:ListAttachedGroupPolicies",
            "iam:ListAttachedRolePolicies",
            "iam:GetAccountSummary"
          ],
          "Resource": "*"
        }
      ]
    }
    
  3. [次へ] をクリックします。

  4. ポリシーに chronicle-iam-api-read-policy という名前を付けます。

  5. [ポリシーを作成] をクリックします。

  6. このガイド(IAM ユーザーの作成)の手順に沿って、ユーザーを作成します。

  7. 作成したユーザーを選択します。

  8. [セキュリティ認証情報] タブを選択します。

  9. [アクセスキー] セクションで、[アクセスキーを作成] をクリックします。

  10. [ユースケース] として [サードパーティのサービス] を選択します。

  11. [次へ] をクリックします。

    • 省略可: 説明タグを追加します。
  12. [アクセスキーを作成] をクリックします。

  13. [.csv ファイルをダウンロード] をクリックし、[アクセスキー ID] と [シークレット アクセスキー] を保存して、今後の参照に備えます。

  14. [完了] をクリックします。

  15. [権限] タブを選択します。

  16. [権限ポリシー] セクションで、[権限を追加] をクリックします。

  17. [権限を追加] を選択します。

  18. [ポリシーを直接アタッチする] を選択します。

  19. chronicle-iam-api-read-policy を検索して選択します。

  20. [次へ] をクリックします。

  21. [権限を追加] をクリックします。

IAM 構成データを取り込むように Google SecOps でフィードを構成する

AWS IAM フィードは、[API タイプ] フィールド([ユーザー]、[ロール]、[グループ])で選択された IAM エンティティ リストをフィードごとに 1 つ収集します。すべての IAM エンティティを収集するには、API タイプごとに 1 つのフィードを作成します。すべてのフィードで AWS IAM ログタイプを使用します。

  1. [コンテンツ ハブ] > [コンテンツ パック] > [開始] に移動します。
  2. [Amazon Cloud Platform] パックをクリックします。
  3. リストで AWS IAM ログタイプを見つけます。
  4. [ソースタイプ] プルダウンから [サードパーティ API] を選択します。
  5. 次の構成情報を指定します。
    • ユーザー名: 前の手順で作成した IAM ユーザーのアクセスキー ID。
    • Secret: 前の手順で作成した IAM ユーザーのシークレット アクセスキー。
    • API タイプ: 収集する IAM エンティティ リスト(ユーザー、ロール、グループ)を選択します。
    • Feed Name: フィードを識別する事前入力された値(例: AWS IAM Users)。
    • アセットの名前空間: フィードに関連付けられた名前空間。
    • 取り込みラベル: このフィードのすべてのイベントに適用されるラベル。
  6. [フィードを作成] をクリックします。

このプロダクト ファミリー内の異なるログタイプに複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。

SIEM 設定の使用

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一のフィードを構成する] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: AWS IAM API Configuration)。
  5. [ソースタイプ] として [サードパーティ API] を選択します。
  6. [Log type] で [AWS IAM] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。
    • ユーザー名: 前の手順で作成した IAM ユーザーのアクセスキー ID。
    • Secret: 前の手順で作成した IAM ユーザーのシークレット アクセスキー。
    • API タイプ: 収集する IAM エンティティのリスト(ユーザー、ロール、グループ)を選択します。
    • Asset namespace: アセットの名前空間。
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  9. [次へ] をクリックします。
  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
Group.CreateDate entity.group.attribute.creation_time ISO8601 として解析済み
Group.Path entity.group.attribute.labels.value 直接マッピングされます。
IsTruncated entity.group.attribute.labels.value 直接マッピングされます。
Marker entity.group.attribute.labels.value 直接マッピングされます。
Group.GroupName entity.group.email_addresses 統合済み
Group.GroupName entity.group.group_display_name 直接マッピングされます。
Group.GroupID entity.group.product_object_id 直接マッピングされます。
RoleLastUsed.Region entity.location.name 直接マッピングされます。
CreateDate entity.resource.attribute.creation_time ISO8601 として解析済み
MaxSessionDuration entity.resource.attribute.labels.value 直接マッピングされます。
Path entity.resource.attribute.labels.value 直接マッピングされます。
RoleLastUsed.LastUsedDate entity.resource.attribute.labels.value 直接マッピングされます。
AssumeRolePolicyDocument entity.resource.attribute.permissions.name 直接マッピングされます。
Description entity.resource.attribute.roles.description 直接マッピングされます。
RoleName entity.resource.attribute.roles.name 直接マッピングされます。
Arn entity.resource.name 直接マッピングされます。
Group.Arn entity.resource.name 直接マッピングされます。
RoleID entity.resource.product_object_id 直接マッピングされます。
CreateDate entity.user.attribute.creation_time ISO8601 として解析済み
PasswordLastUsed entity.user.last_login_time ISO8601 として解析
UserID entity.user.product_object_id 直接マッピングされます。
UserName entity.user.userid 直接マッピングされます。
PermissionsBoundary.PermissionsBoundaryArn relations.entity.resource.attribute.labels.value 直接マッピングされます。
PermissionsBoundary.PermissionsBoundaryType relations.entity.resource.attribute.labels.value 直接マッピングされます。
user.PermissionsBoundary.PermissionsBoundaryArn relations.entity.resource.attribute.labels.value 直接マッピングされます。
user.PermissionsBoundary.PermissionsBoundaryType relations.entity.resource.attribute.labels.value 直接マッピングされます。
user.Arn relations.entity.resource.name 直接マッピングされます。
user.CreateDate relations.entity.user.attribute.creation_time ISO8601 として解析済み
tag.Key relations.entity.user.attribute.labels.key 直接マッピングされます。
Path relations.entity.user.attribute.labels.value 直接マッピングされます。
tag.Value relations.entity.user.attribute.labels.value 直接マッピングされます。
user.Path relations.entity.user.attribute.labels.value 直接マッピングされます。
user.PasswordLastUsed relations.entity.user.last_login_time ISO8601 として解析済み
user.UserID relations.entity.user.product_object_id 直接マッピングされます。
user.UserName relations.entity.user.userid 直接マッピングされます。
なし entity.group.attribute.labels.key 定数: is_truncated
なし entity.resource.attribute.cloud.environment 定数: AMAZON_WEB_SERVICES
なし entity.resource.attribute.labels.key 定数: max_session_duration
なし entity.resource.resource_subtype 定数: User
なし entity.resource.resource_type 定数: ACCESS_POLICY
なし metadata.entity_type 定数: USER
なし metadata.product_name 定数: AWS IAM
なし metadata.vendor_name 定数: AWS
なし relations.direction 定数: UNIDIRECTIONAL
なし relations.entity.resource.attribute.labels.key 定数: permissions_boundary_arn
なし relations.entity.resource.resource_subtype 定数: User
なし relations.entity.user.attribute.labels.key 定数: path
なし relations.entity_type 定数: USER
なし relations.relationship 定数: MEMBER

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。