アクセス監査ログ
Cloudflare Accessは、2種類の監査ログを生成します:
- 認証監査ログ は、認証イベントの記録を保持します。
- リクエストごとの監査ログ は、保護されたURIパスへのHTTPリクエストを記録します。
Cloudflare Accessは、ユーザーまたはサービスがアプリケーションにログインしようとするたびに、認証イベントをログに記録します。試行が成功したかどうかにかかわらず記録されます。
アイデンティティベースの認証は、ユーザーのメールアドレス、IdPグループ、SAMLグループ、またはOIDCクレームに一致するログイン試行を指します。
非アイデンティティ認証は、IPアドレス、デバイスの姿勢、国、有効な証明書、またはサービストークンなどの非アイデンティティポリシーに一致するログイン試行を指します。
アイデンティティベースの認証イベントのログを表示するには:
- Zero Trust ↗に移動し、ログ > アクセスを選択します。
- 行を展開して、ログイン方法、ユーザーのIPアドレスなどの詳細を表示します。
- ログイン試行がブロックされた場合は、表示を選択して、Accessがユーザーのアクセスを拒否した理由に関する情報を確認します。
アクセス認証ログ APIエンドポイントは、アカウントの監査ログイベントをエクスポートするためのカスタムURLを提供します。
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/access/logs/access_requests?limit=25&direction=desc&since=2020-07-01T05:20:00Z&until=2020-10-01T05:20:00Z" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>"{ "success": true, "errors": [], "messages": [], "result": [ { "user_email": "michelle@example.com", "ip_address": "198.41.129.166", "app_uid": "df7e2w5f-02b7-4d9d-af26-8d1988fca630", "app_domain": "test.example.com/admin", "action": "login", "connection": "saml", "allowed": false, "created_at": "2014-01-01T05:20:00.12345Z", "ray_id": "187d944c61940c77" } ]}アイデンティティベースの認証ログには、以下のフィールドが含まれます:
| フィールド | 説明 |
|---|---|
| user_email | 認証を行ったユーザーのメールアドレス。 |
| ip_address | 認証を行ったユーザーのIPアドレス。 |
| app_uid | 保護されたアプリケーションの一意の識別子。 |
| app_domain | 保護されたアプリケーションのURL。 |
| action | 発生したイベント、例えばログイン試行。 |
| allowed | 認証イベントの結果。 |
| created_at | イベントのタイムスタンプ。 |
| connection | 認証に使用されたIdP。 |
| country | ユーザーのIPアドレスに関連付けられた国。 |
| ray_id | Cloudflareを通じての各リクエストの一意の識別子。 |
| app_type | アプリが自己ホスト型かSaaSかを指定するタイプ。 |
非アイデンティティ認証イベントのログを取得するには、GraphQL Analytics APIを使用します。これらのログはZero Trustでは利用できません。
ブロックポリシーの決定は1週間保持されます。認証ログは6ヶ月保持されます。
Accessを通じて認証されたユーザーは、セッションの期間中に承認されたURLパスにアクセスできます。Cloudflareは、これらのリクエストを監査するためのいくつかの方法を提供します。
エンタープライズ顧客は、Cloudflareダッシュボード上でHTTPリクエストの詳細なログにアクセスできます。エンタープライズ顧客は、CloudflareダッシュボードまたはAPIから設定できるCloudflareのLogpushサービスにもアクセスできます。CloudflareのHTTPログに関する詳細は、Cloudflare Logsを参照してください。
チームのメンバーがAccessの背後にあるリソースにアクセスするために認証すると、CloudflareはそのユーザーのSSOアイデンティティを含むトークンを生成します。トークンはJSON Web Token (JWT)として構成されています。Cloudflareは、RSA署名とSHA-256、またはRS256という非対称アルゴリズムを使用してその署名を行います。Cloudflareは、信頼性を検証するために公開鍵も提供しています。
ユーザーが特定のURLをリクエストすると、Accessはそのトークンからユーザーのアイデンティティをリクエストヘッダーとして追加し、リクエストがネットワークを通過する際にログに記録します。チームは、Cloudflare Logpushを使用して、好みのサードパーティのセキュリティ情報およびイベント管理(SIEM)ソフトウェアまたはストレージ先にこれらのログを収集できます。Accessユーザーアイデンティティフィールドが有効になっている場合、ログは以下のようなJSON形式でシステムにエクスポートされます。
{ "ClientIP": "198.51.100.206", "ClientRequestHost": "jira.widgetcorp.tech", "ClientRequestMethod": "GET", "ClientRequestURI": "/secure/Dashboard/jspa", "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36", "EdgeEndTimestamp": "2019-11-10T09:51:07Z", "EdgeResponseBytes": 4600, "EdgeResponseStatus": 200, "EdgeStartTimestamp": "2019-11-10T09:51:07Z", "RayID": "5y1250bcjd621y99", "RequestHeaders":{"cf-access-user":"srhea"}},{ "ClientIP": "198.51.100.206", "ClientRequestHost": "jira.widgetcorp.tech", "ClientRequestMethod": "GET", "ClientRequestURI": "/browse/EXP-12", "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36", "EdgeEndTimestamp": "2019-11-10T09:51:27Z", "EdgeResponseBytes": 4570, "EdgeResponseStatus": 200, "EdgeStartTimestamp": "2019-11-10T09:51:27Z", "RayID": "yzrCqUhRd6DVz72a", "RequestHeaders":{"cf-access-user":"srhea"}}Cloudflareエンタープライズログに利用可能なHTTPリクエストフィールドに加えて、Accessの背後にあるアプリケーションへのリクエストには、ユーザーアイデンティティ文字列を含むcf-access-userフィールドが含まれます。これは、ユーザーの行動を監査するための別のツールを提供します。HTTPリクエストログにcf-access-userフィールドを追加するには、カスタムフィールドとして追加する必要があります。手順については、カスタムフィールドを参照してください。
Accessはすべてのインタラクションをログに記録しないことに注意してください。たとえば、リクエストごとの監査ログは、特定のユーザーがdomain.com/adminを訪れ、その後domain.com/admin/panelを訪れたことを示すことができますが、ログは新しいHTTPリクエストを生成するユーザーのインタラクションのみを特定できます。