ã¬ãã¼ãã®çæã¨éä¿¡ã®ä»çµã¿。
Reporting API ã§ã¢ãã¿ãªã³ã°ã§ããã¨ã©ã¼ã«ã¯、次ã®ãããªãã®ãããã¾ã。
Reporting API ã¯、HTTP ã¬ã¹ãã³ã¹ ãããã¼ã§æå¹åã¨è¨å®ãè¡ãã¾ã。ã¤ã¾ã、ãã©ã¦ã¶ãã¬ãã¼ããéä¿¡ããã¨ã³ããã¤ã³ãã¨、ã¢ãã¿ãªã³ã°ããã¨ã©ã¼ã¿ã¤ãã HTTP ã¬ã¹ãã³ã¹ ãããã¼ã§å®£è¨ãã¾ã。ãã©ã¦ã¶ã¯、ã¬ãã¼ãã®ãªã¹ãããã¤ãã¼ãã¨ãã POST ãªã¯ã¨ã¹ãã«ãã£ã¦、ã¬ãã¼ããã¨ã³ããã¤ã³ãã«éä¿¡ãã¾ã。
è¨å®ã®ä¾ :
# CSP éåã¬ãã¼ã、Document-Policy éåã¬ãã¼ã、éæ¨å¥¨ã¬ãã¼ããåãåãè¨å®ã®ä¾
Reporting-Endpoints: main-endpoint="https://reports.example/main", default="https://reports.example/default "
# CSP éå㨠Document-Policy éåã `main-endpoint` ã«éä¿¡ãã Content-Security-Policy: script-src 'self'; object-src 'none'; report-to main-endpoint;
Document-Policy: document-write=?0; report-to=main-endpoint;
# éæ¨å¥¨ã¬ãã¼ãã¯èªåçæãã、æ示çãªã¨ã³ããã¤ã³ãã¯å¿
è¦ãªã。常㫠`default` ã¨ã³ããã¤ã³ãã«éä¿¡ããã
注 : "report-only" ã¢ã¼ãããµãã¼ãããããªã·ã¼ãããã¾ã。ãã®ããªã·ã¼ã§ã¯、ã¬ãã¼ãã¯éä¿¡ããã¾ãã、å®éã®å¶éã¯é©ç¨ããã¾ãã。ããã¯、ããªã·ã¼ãå¹æçã«æ©è½ãã¦ãããã©ãããå¤æããéã«å½¹ç«ã¡ã¾ã。
Chrome ã¦ã¼ã¶ã¼ã¯、
DevTools ã® [Application] ããã« ãã、ãã©ã¦ã¶ãçæããã¬ãã¼ãã確èªã§ãã¾ã。
DevTools ã® [Application] ããã«ã«è¡¨ç¤ºãããã¬ãã¼ãã®ä¾。
ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã®ã㢠ã§ã¯、çæããããã¾ãã¾ãªéåããµã¼ãã¼ã§ã©ã®ããã«åä¿¡ããããã確èªã§ãã¾ã。
éåã¬ãã¼ãã®ä¾
2024 å¹´ 3 ææç¹ã§、Chrome 㯠Reporting API ããµãã¼ããã¦ãã、Safari ã¯ä¸é¨ããµãã¼ããã¦ãã¾ã。詳細ã«ã¤ãã¦ã¯、ãã©ã¦ã¶ ãµãã¼ã ã®è¡¨ãã覧ãã ãã。
Google ã®ã¢ããã¼ã
Google ã¯、ã»ãã¥ãªãã£ã大è¦æ¨¡ã«åä¸ã§ããã¨ããæ©æµãåãã¦ãã¾ã。Content Security Policy 、Trusted Types 、Fetch Metadata 、Cross-Origin Opener Policy ã¨ãã£ãã¦ã§ã ãã©ãããã©ã¼ã ã«ãã対çã¯、ãã¾ãã¾ãª Google ãããã¯ããç¡æ°ã®åã
ã®ãµã¼ãã¹ããããããèå¼±æ§ãæé¤ããããã«å½¹ç«ã¡ã¾ã。ãã®ç¹ã¯、ãã¡ãã®ããã°æ稿 ã§è©³ãã説æãã¦ãã¾ã。
ã»ãã¥ãªã㣠ããªã·ã¼ã大è¦æ¨¡ã«å°å
¥ããå ´å、ã¨ã³ã¸ãã¢ãªã³ã°ä¸ã®èª²é¡ã® 1 ã¤ã¨ãªãã®ã、æ°ããå¶éã«æºæ ãã¦ããã、å¶éãé©ç¨ãããå ´åã«åä½ããªããªãã³ã¼ããç¹å®ãããã¨ã§ã。ãã®åé¡ã解決ããããã«ãã使ããã 4 ã¤ã®ã¹ããããããã¾ã。
ããªã·ã¼ã report-only ã¢ã¼ã ã§ãã¼ã«ã¢ã¦ããã¾ã(CSP report-only ã¢ã¼ãã®ä¾ )。ããããã¨、ãã©ã¦ã¶ã¯ã¯ã©ã¤ã¢ã³ãå´ã®ã³ã¼ããé常ã©ããå®è¡ããããæ示ãã¤ã¤、ããªã·ã¼ãé©ç¨ãããå ´åã«éåã¨ãªãã¤ãã³ãã®æ
å ±ãåéãã¾ã。ãã®æ
å ±ã¯、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã«éä¿¡ãããéåã¬ãã¼ãã«éç´ããã¾ã。
éåã¬ãã¼ããããªã¢ã¼ã¸ã、ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ãã®å ´æã«ãªã³ã¯ãã¾ã。ãã¨ãã°、å±éºãª API ã使ã£ã¦ããã、ã¦ã¼ã¶ã¼ãã¼ã¿ã¨ã³ã¼ããæ··å¨ãããã¿ã¼ã³ã使ã£ã¦ããããããã、ã»ãã¥ãªã㣠ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ããã¼ã¹ãããããããã¾ãã。
ç¹å®ããã³ã¼ãããªãã¡ã¯ã¿ãªã³ã°ãã¦æºæ ããã¾ã。ãã¨ãã°、å±éºãª API ãå®å
¨ãªãã¼ã¸ã§ã³ã«ç½®ãæããã、ã¦ã¼ã¶ã¼å
¥åãã³ã¼ãã¨æ··å¨ãããªãããã«ããããã¾ã。ãããããªãã¡ã¯ã¿ãªã³ã°ã«ãã、å±éºãªã³ã¼ãã£ã³ã° ãã¿ã¼ã³ãæ¸ã、ã³ã¼ããã¼ã¹ã®ã»ãã¥ãªãã£æ
å¢ãåä¸ãã¾ã。
ãã¹ã¦ã®ã³ã¼ããç¹å®ã、ãªãã¡ã¯ã¿ãªã³ã°ãçµãã£ã段éã§、report-only ã¢ã¼ã ããããªã·ã¼ãåé¤ã、å®å
¨ã«é©ç¨ãã¾ã。é常ã®ãã¼ã«ã¢ã¦ãã§ã¯、æé 1~3 ãç¹°ãè¿ã、ãã¹ã¦ã®éåã¬ãã¼ãã確å®ã«ããªã¢ã¼ã¸ãã¾ã。
Reporting API ã§ã¯、1 ã¤ã®ã¬ãã¼ã ã¨ã³ããã¤ã³ãã¨、è¤æ°ã®ã»ãã¥ãªãã£æ©è½ã表ç¾ãã 1 ã¤ã®ã¹ãã¼ãã使ã£ã¦ãã®ãµã¤ã¯ã«ãå®è¡ã§ãã¾ã。ãã®ãã、ãã©ã¦ã¶、ã³ã¼ããã¹、ã¦ã¼ã¶ã¼ã¿ã¤ããåããã«、ãã¾ãã¾ãªæ©è½ã®ã¬ãã¼ããä¸å
çã«åéã§ãã¾ã。
注 : ããªã·ã¼ã§ç¦æ¢ããã¦ããã¢ã¯ã·ã§ã³ãè¡ããã¨ããã¨、éåã¬ãã¼ããçæããã¾ã。ãã¨ãã°、ãããã¼ã¸ã« CSP ãè¨å®ãã¦ããã«ãããããã、CSP ã§è¨±å¯ããã¦ããªãã¹ã¯ãªãããèªã¿è¾¼ããã¨ããå ´åã§ã。Reporting API ã§çæãããã¬ãã¼ãã®ã»ã¨ãã©ã¯éåã¬ãã¼ãã§ãã、ããããã¹ã¦ã§ã¯ããã¾ãã。ãã®ä»ã®ã¿ã¤ãã«ã¯、éæ¨å¥¨ã¬ãã¼ããã¯ã©ãã·ã¥ ã¬ãã¼ããªã©ãããã¾ã。詳細ã«ã¤ãã¦ã¯、ã¦ã¼ã¹ã±ã¼ã¹ã¨ã¬ãã¼ãã¿ã¤ã ãã覧ãã ãã。
æ®å¿µãªãã、éåã¬ãã¼ãã®ã¹ããªã¼ã ã«ã¯ãã¤ãºãç´ãè¾¼ããã¨ãããããã¾ã。ãã®å ´å、æºæ ãã¦ããªãã³ã¼ããè¦ã¤ãããã¨ãé£ãããªãå¯è½æ§ãããã¾ã。ãã¨ãã°、å¤ãã®ãã©ã¦ã¶æ¡å¼µæ©è½、ãã«ã¦ã§ã¢、ã¦ã£ã«ã¹å¯¾çã½ããã¦ã§ã¢、éçºãã¼ã«ã®ã¦ã¼ã¶ã¼ã¯、DOM ã«ãµã¼ããã¼ãã£ã®ã³ã¼ããæ¿å
¥ããã、ç¦æ¢ããã API ã使ã£ãããã¦ãã¾ã。æ¿å
¥ãããã³ã¼ããããªã·ã¼ã«æºæ ãã¦ããªãå ´å、ã³ã¼ããã¼ã¹ã«ãªã³ã¯ããã¦ããªã対çä¸å¯è½ãªéåã¬ãã¼ãã«ãªãå¯è½æ§ãããã¾ã。ãã®ãã、ã¬ãã¼ãã®ããªã¢ã¼ã¸ãå°é£ã«ãªã、ãã¹ã¦ã®ã³ã¼ãã確å®ã«æºæ ããã¦ããæ°ããããªã·ã¼ãé©ç¨ããã®ãé£ãããªãã¾ã。
Google ã¯é·å¹´ã«ããã、éåã¬ãã¼ããåéãã¦æ´»ç¨ã、ãããã¾ã¨ãã¦ æ ¹æ¬åå ã«éç´ããããã®å¤ãã®æè¡ãéçºãã¦ãã¾ãã ããã§ã¯、ãããããã¼ãéåã¬ãã¼ãã®ãã¤ãºãé¤å¤ã§ããæè¡ã®ä¸ãã、ç¹ã«å½¹ç«ã¤æè¡ã®æ¦è¦ãç´¹ä»ãã¾ã。
æ ¹æ¬åå ã«æ³¨ç®ãã
ãã©ã¦ã¶ã®ã¿ãã使ããã¦ããéã«、ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ããä½åº¦ãå®è¡ããããã¨ã¯ããããã¾ã。ãããçºçãããã³ã«、æ°ããéåã¬ãã¼ããä½æãã、ãã¥ã¼ã¤ã³ã°ããã¦、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã«éä¿¡ããã¾ã。ãããèµ·ããã¨、åé·ãªæ
å ±ãå«ã大éã®ã¬ãã¼ããã§ãã¦ãã¾ãã¾ã。ããã§、éåã¬ãã¼ããã¯ã©ã¹ã¿ã«ã°ã«ã¼ãåãããã¨ã§、åã
ã®éåãæèãããã¨ãªã、æ ¹æ¬åå ã«ã¤ãã¦èãããã¨ãã§ãã¾ã。æ ¹æ¬åå ã®æ¹ãç解ããããã®ã§、æå¹ãªãªãã¡ã¯ã¿ãªã³ã°æ¹æ³ãæ¢ãæéãç縮ã§ãã¾ã。
ä¾ãéãã¦、éåãã©ã®ããã«ã°ã«ã¼ãåãããã®ãã確èªãã¦ã¿ã¾ããã。ãã¨ãã°、ã¤ã³ã©ã¤ã³ JavaScript ã¤ãã³ã ãã³ãã©ã®ä½¿ç¨ãç¦æ¢ãã report-only ã® CSP ãå°å
¥ããã¦ããã¨ãã¾ã。éåã¬ãã¼ãã¯、該å½ãããã³ãã©ã®ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã«ã¤ãã¦ä½æãã、次ã®ãã£ã¼ã«ããè¨å®ããã¾ã。
blockedURL
ãã£ã¼ã«ãã«ã¯、inline
ãè¨å®ããã¾ã。ããã¯éåã®ç¨®é¡ã表ãã¾ã。
scriptSample
ãã£ã¼ã«ãã«ã¯、ãã£ã¼ã«ãå
ã®ã¤ãã³ã ãã³ãã©ã®å
容ã®æåã®æ°ãã¤ããè¨å®ããã¾ã。
documentURL
ãã£ã¼ã«ãã«ã¯、ç¾å¨ã®ãã©ã¦ã¶ã¿ãã® URL ãè¨å®ããã¾ã。
ã»ã¨ãã©ã®å ´å、ãã® 3 ã¤ã®ãã£ã¼ã«ãã§、ç¹å®ã® URL ã®ã¤ã³ã©ã¤ã³ ãã³ãã©ãä¸æã«èå¥ã§ãã¾ã。ä»ã®ãã£ã¼ã«ãã®å¤ãç°ãªãå ´åã§ãåæ§ã§ã。ãããã£ããã¨ãããèµ·ããã®ã¯、ãã¼ã¯ã³ãã¿ã¤ã ã¹ã¿ã³ããªã©ã®ã©ã³ãã ãªå¤ããã¼ã¸ãã¾ããã§ä½¿ãå ´åã§ã。åè¿°ã®ãããªãã£ã¼ã«ãã®å¤ã¯、ã¢ããªã±ã¼ã·ã§ã³ããã¬ã¼ã ã¯ã¼ã¯ã«ãã£ã¦å¾®å¦ã«ç°ãªãå ´åããããã、ã¬ãã¼ãå¤ãããã¾ãä¸è´ããããã¨ãã§ããã°、æéãçãã¤ã¤、éåãã¯ã©ã¹ã¿ã«ã°ã«ã¼ãåãã¦å¯¾çã«ã¤ãªãããã¨ãã§ãã¾ã。å¿
è¦ã«å¿ãã¦、URL ãã£ã¼ã«ãã«æ¢ç¥ã®ãã¬ãã£ãã¯ã¹ãããéåãã°ã«ã¼ãåãããã¨ãã§ãã¾ã。ãã¨ãã°、URL ã chrome-extension
、moz-extension
、safari-extension
ã§å§ã¾ããã¹ã¦ã®éåãã°ã«ã¼ãåããã¨、æ ¹æ¬åå ãã³ã¼ããã¼ã¹ä»¥å¤ã®ãã©ã¦ã¶æ¡å¼µæ©è½ã§ããéåã、é«ãä¿¡é ¼æ§ã§ç¹å®ã§ãã¾ã。
ç¬èªã®ã°ã«ã¼ãåæ¦ç¥ãçå®ããã°、ããªã¢ã¼ã¸ãå¿
è¦ãªéåå ±åã®æ°ã大å¹
ã«æ¸ãã、æ ¹æ¬åå ã«æ³¨ç®ãããã¨ãã§ãã¾ã。é常ã¯、é¢å¿ã®ãã種é¡ã®éåãä¸æã«èå¥ãããã£ã¼ã«ããé¸ã³、ãã®ãã£ã¼ã«ãã使ã£ã¦、ç¹ã«éè¦ãªæ ¹æ¬åå ã«åªå
é ä½ãã¤ããããããã«ããå¿
è¦ãããã¾ã。
ç°å¢æ
å ±ãæ´»ç¨ãã
対çä¸å¯è½ãªéåã¬ãã¼ãã¨å¯¾çå¯è½ãªéåã¬ãã¼ããåºå¥ãããã 1 ã¤ã®æ¹æ³ã、ç°å¢æ
å ±ã§ã。ãã®ãã¼ã¿ã¯、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã¸ã®ãªã¯ã¨ã¹ãã«ã¯å«ã¾ãã¾ãã、éåã¬ãã¼ãèªä½ã«ã¯å«ã¾ãã¾ãã。ç°å¢æ
å ±ããã¯ã©ã¤ã¢ã³ãè¨å®ã«ããããã¤ãºæºãå¤å¥ã§ããå¯è½æ§ãããã®ã§、ããªã¢ã¼ã¸ã«å½¹ç«ã¤ããããã¾ãã。
ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã¾ãã¯ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ã ã¯ã©ã¤ã¢ã³ã ãã³ã : ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã¯、対çä¸å¯è½ãªéåã®å¤§ããªå
åã§ã。ãã¨ãã°、ã¯ãã¼ã©、ããã、ä¸é¨ã®ã¢ãã¤ã«ã¢ããªãªã©ã¯、ãµãã¼ã対象ã®ãã©ã¦ã¶ ã¨ã³ã¸ã³ã¨ã¯åä½ãç°ãªã、ã«ã¹ã¿ã ã®ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã使ã£ã¦ããã®ã§、ä»ã§ã¯èµ·ããªãéåãçºçããå¯è½æ§ãããã¾ã。ãã以å¤ã«ã、ç¹å®ã®ãã©ã¦ã¶ã§ã®ã¿çºçããéåã、ãã¤ããªã¼ ãã«ãã«ããå¤æ´ãæ°ãã¼ã¸ã§ã³ã®ãã©ã¦ã¶ã«ãã£ã¦çºçããéåãããã¾ã。ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãæ
å ±ããªããã°、ãããã£ãéåã調æ»ãããã¨ã¯é常ã«å°é£ã«ãªãã¾ã。ä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ : ã¨ã³ããã¤ã³ããéåã®çºçããããã¥ã¡ã³ã㨠same-site ã§ããå ´å、Reporting API ãã¬ãã¼ã ã¨ã³ããã¤ã³ãã«å¯¾ãã¦è¡ããªã¯ã¨ã¹ãã«å©ç¨å¯è½ãª Cookie ãæ·»ä»ããã¾ã。Cookie ãåå¾ããã¨、éåãèµ·ããã¦ã¼ã¶ã¼ã®ç¨®é¡ãç¹å®ããéã«å½¹ç«ã¡ã¾ã。対çãã¹ãéåã®å¤ãã¯、ä¼ç¤¾ã®å¾æ¥å¡ãã¦ã§ããµã¤ã管çè
ãªã©、ä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ã«ãããã®ã§ãã、ãããã®ã¦ã¼ã¶ã¼ãä¾µç¥çãªæ¡å¼µæ©è½ãã¤ã³ã¹ãã¼ã«ããã、ãã«ã¦ã§ã¢ã«ææãã¦ããããããã¨ã¯ãªãã§ããã。ã¬ãã¼ã ã¨ã³ããã¤ã³ãããèªè¨¼æ
å ±ãåå¾ã§ããªãå ´åã¯、ã¾ãä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ã対象㫠report-only ããªã·ã¼ãè¨å®ãã¦ã¿ã¾ããã。ãããããã¨ã§、対çãã¹ãéåã®åºæºãæ確ã«ãã¦ãã、ããªã·ã¼ãä¸è¬å
¬éãããã¨ãã§ãã¾ã。ã¦ãã¼ã¯ ã¦ã¼ã¶ã¼æ° : ä¸è¬ååã¨ãã¦、å
¸åçãªæ©è½ãã³ã¼ããã¹ã®ã¦ã¼ã¶ã¼ããã¯、ã»ã¼åãéåãçæãããã¨ããã¾ã。ãã®ãã、å°æ°ã®ã¦ã¼ã¶ã¼ã§ããçºçãã¦ããªãéåã¯é¤å¤åè£ã¨ãããã¨ãã§ãã¾ã。ã¤ã¾ã、ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãã§ã¯ãªã、ã¦ã¼ã¶ã¼ã®ç¹å®ã®è¨å®ãåé¡ã§ããå¯è½æ§ãããã¨ãããã¨ã§ã。「ã¦ã¼ã¶ã¼æ°ãã«ã¦ã³ããã」æ¹æ³ã® 1 ã¤ã¯、éåãå ±åããã¦ãã¼ã¯ IP ã¢ãã¬ã¹æ°ãè¨é²ãããã¨ã§ã。è¿ä¼¼ã«ã¦ã³ã ã¢ã«ã´ãªãºã ã¯ä½¿ãããã、ç¹å®ã® IP ã¢ãã¬ã¹ã追跡ããã«ãã®æ
å ±ãåéã§ãã¾ã。ãã¨ãã°、HyperLogLog ã¢ã«ã´ãªãºã ã¯、ãããæ°ãã¤ãã§、ä¿¡é ¼åº¦é«ã、éåå
ã®ããã¾ããªä¸æã®è¦ç´ æ°ãæ°ãããã¨ãã§ãã¾ã。
éåãã½ã¼ã¹ã³ã¼ãã«ãããã³ã°ãã(é«åº¦ãªå
容)
éåã®ã¿ã¤ãã«ãã£ã¦ã¯、source_file
ãã£ã¼ã«ãã¾ãã¯ããã¨åçã®ãã£ã¼ã«ããå«ã¾ãã¾ã。ãã®ãã£ã¼ã«ãã¯、éåã®åå ã¨ãªã£ã JavaScript ãã¡ã¤ã«ã表ã、é常ã¯è¡çªå·ã¨åçªå·ãä»ãã¦ãã¾ã。ãããã® 3 ããããã¼ã¿ã¯é«å質ã®ä¿¡å·ã§ãã、ãªãã¡ã¯ã¿ãªã³ã°ãå¿
è¦ãªã³ã¼ãã®è¡ãç´æ¥æããã¨ãã§ãã¾ã。
ãã ã、ã³ã³ãã¤ã«ãæå°åã®ããã«、ãã©ã¦ã¶ããã§ããããã½ã¼ã¹ãã¡ã¤ã«ãã³ã¼ããã¼ã¹ã«ç´æ¥ãããã³ã°ã§ããªããªããã¨ãããããã¾ã。ãã®å ´åã¯、JavaScript ã½ã¼ã¹ãããã使ã£ã¦、ãããã¤ããããã¡ã¤ã«ã¨ãªã¼ãµãªã³ã°ããããã¡ã¤ã« ã®éã§è¡çªå·ã¨åçªå·ããããã³ã°ããã¨ããã§ããã。ããã¨、éåã¬ãã¼ããã½ã¼ã¹ã³ã¼ãã®è¡ã«ç´æ¥å¤æãããã®ã§、é常ã«å¯¾çããããã¬ãã¼ã ã°ã«ã¼ãã¨æ ¹æ¬åå ãçæããã¾ã。
ç¬èªã®ã½ãªã¥ã¼ã·ã§ã³ã確ç«ãã
Reporting API ã¯、ã»ãã¥ãªãã£éå、éæ¨å¥¨ã® API å¼ã³åºã、ãã©ã¦ã¶ã®ä»å
¥ãªã©ã®ãã©ã¦ã¶å´ã¤ãã³ãã、ã¤ãã³ããã¨ã«æå®ãããã¨ã³ããã¤ã³ãã«éä¿¡ãã¾ã。ãã ã、åã®ã»ã¯ã·ã§ã³ã§èª¬æããããã«、ãã®ã¬ãã¼ãããå®éã®åé¡ãæ½åºããã«ã¯、ãã¼ã¿å¦çã·ã¹ãã ãå¿
è¦ã§ã。
幸ããªãã¨ã«、ãã¾ãã¾ãªæ¹æ³ã§å¿
è¦ãªã¢ã¼ããã¯ãã£ãè¨å®ã§ããããã«ãªã£ã¦ãã、ãªã¼ãã³ã½ã¼ã¹ã®ãããã¯ããããã¾ã。å¿
è¦ãªã·ã¹ãã ã®åºæ¬çãªè¦ç´ ã¯æ¬¡ã®ã¨ããã§ã。
API ã¨ã³ããã¤ã³ã : HTTP ãªã¯ã¨ã¹ããåãåã、JSON å½¢å¼ã§ã¬ãã¼ããå¦çããã¦ã§ããµã¼ãã¼
ã¹ãã¬ã¼ã¸ : åãåã£ãã¬ãã¼ãããã¤ãã©ã¤ã³ã§å¦çããã¬ãã¼ããæ ¼ç´ããã¹ãã¬ã¼ã¸ ãµã¼ãã¼
ãã¼ã¿ ãã¤ãã©ã¤ã³ : ãã¤ãºãé¤å»ã、å¿
è¦ãªã¡ã¿ãã¼ã¿ãæ½åºãã¦éç´ãããã¤ãã©ã¤ã³
ãã¼ã¿è¦è¦åãã¼ã« : å¦çããã¬ãã¼ãããç¥è¦ãå¾ãããã®ãã¼ã«
以ä¸ã®åã³ã³ãã¼ãã³ãã®ã½ãªã¥ã¼ã·ã§ã³ã¯、ãããªã㯠ã¯ã©ã¦ã ãã©ãããã©ã¼ã 、SaaS ãµã¼ãã¹、ãªã¼ãã³ã½ã¼ã¹ ã½ããã¦ã§ã¢ã¨ãã¦å©ç¨ã§ãã¾ã。詳細ã«ã¤ãã¦ã¯、
代æ¿ã½ãªã¥ã¼ã·ã§ã³ ã®ã»ã¯ã·ã§ã³ãã覧ãã ãã。ã¾ã、次ã®ã»ã¯ã·ã§ã³ã§ã¯、ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®æ¦è¦ã説æãã¾ã。
ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ : Reporting API ããã»ããµ
ãã©ã¦ã¶ããã¬ãã¼ããåãåãæ¹æ³ã¨、åãåã£ãã¬ãã¼ããå¦çããæ¹æ³ãç解ã§ããããã«、å°ããªãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ ãä½æãã¾ãã。ãã®ã¢ããªã±ã¼ã·ã§ã³ã§、ãã©ã¦ã¶ãéä¿¡ããã¬ãã¼ãããã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã¥ãªãã£åé¡ãæ½åºããããã«å¿
è¦ãªããã»ã¹ã示ãã¾ã。å
·ä½çã«ã¯、以ä¸ã®ããã»ã¹ã«ãªãã¾ã。
ã¬ãã¼ãã®ã¹ãã¬ã¼ã¸ã¸ã®ä¿å ãã¤ãº ãªãã¯ã·ã§ã³ã¨ãã¼ã¿éç´ å¦çæ¸ã¿ã®ã¬ãã¼ããã¼ã¿ã®å¯è¦å ãã®ãµã³ãã«ã§ã¯、Google Cloud ã使ã£ã¦ãã¾ãã、åã³ã³ãã¼ãã³ãã¯ã好ã¿ã®ãã¯ããã¸ã¼ã«ç½®ãæãããã¨ãã§ãã¾ã。ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®æ¦è¦ã次ã®å³ã«ç¤ºãã¾ã。
ç·è²ã®ããã¯ã¹ã¯、ç¬èªã«å®è£
ããå¿
è¦ãããã³ã³ãã¼ãã³ãã§ã。 ãã©ã¯ã¼ã(forwarder) ã¯ã·ã³ãã«ãªã¦ã§ããµã¼ãã¼ã§ãã、JSON å½¢å¼ã®ã¬ãã¼ããåãåã、ããã Bigtable ç¨ã®ã¹ãã¼ãã«å¤æãã¾ã。 ãã¼ã ã³ã¬ã¯ã¿(beam-collector) ã¯ã·ã³ãã«ãª Apache Beam ãã¤ãã©ã¤ã³ã§ãã、ãã¤ãºã®å¤ãã¬ãã¼ãããã£ã«ã¿ãªã³ã°ã、é¢é£ããã¬ãã¼ããéç´ãã¦、CSV ãã¡ã¤ã«ã¨ãã¦ä¿åãã¾ã。ãã® 2 ã¤ã®ã³ã³ãã¼ãã³ãã¯、Reporting API ããã®ã¬ãã¼ããæå¹å©ç¨ããããã§éè¦ãªå½¹å²ãæããã¦ãã¾ã。
å®éã«è©¦ã
ããã¯å®éã«å®è¡ã§ãããµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ãªã®ã§、ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã Google Cloud ããã¸ã§ã¯ãã«ãããã¤ã、èªåã§ä»çµã¿ã確èªãããã¨ãã§ãã¾ã。ãµã³ãã« ã·ã¹ãã ãè¨å®ããããã®è©³ç´°ãªåææ¡ä»¶ã¨æé ã¯、
README.md ãã¡ã¤ã«ã«è¨è¼ããã¦ãã¾ã。
代æ¿ã½ãªã¥ã¼ã·ã§ã³
ããã§å
±æãããªã¼ãã³ã½ã¼ã¹ ã½ãªã¥ã¼ã·ã§ã³ä»¥å¤ã«ã、Reporting API ãç°¡åã«ä½¿ããããã«ãããã¼ã«ãããã¤ãç¨æããã¦ãã¾ã。次ã®ãããªãã®ãããã¾ã。
Sentry ã Datadog ãªã©ã®ã¢ããªã±ã¼ã·ã§ã³ ã¨ã©ã¼ ã¢ãã¿ãªã³ã° ãã©ãããã©ã¼ã
代æ¿æ¡ãé¸æããéã¯、ä¾¡æ ¼ã ãã§ãªã、次ã®ç¹ãèæ
®ããããã«ãã¾ããã。
ã¢ããªã±ã¼ã·ã§ã³ã® URL ããµã¼ããã¼ãã£ã®ã¬ãã¼ãåéãã¼ã«ã«æ¸¡ãã¦ãæ§ããªãã§ãããã?ãã©ã¦ã¶ã URL ããæ©å¯æ
å ±ãåãé¤ããã¨ãã¦ã、æ©å¯æ
å ±ã¯ãã®ããã«æ¼æ´©ããå¯è½æ§ ãããã¾ã。ã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã£ã¦ãªã¹ã¯ãé«ãããã¨æãããå ´åã¯、ç¬èªã®ã¬ãã¼ã ã¨ã³ããã¤ã³ããéç¨ãã¦ãã ãã。 åéãã¼ã«ã¯、å¿
è¦ãªãã¹ã¦ã®ã¬ãã¼ãã¿ã¤ãããµãã¼ããã¦ãã¾ãã?ãã¨ãã°、ãã¹ã¦ã®ã¬ãã¼ã ã¨ã³ããã¤ã³ã ã½ãªã¥ã¼ã·ã§ã³ã COOP/COEP éåã¬ãã¼ãããµãã¼ããã¦ããããã§ã¯ããã¾ãã。
ã¾ã¨ã
ãã®è¨äºã§ã¯、ã¦ã§ã ãããããã¼ã Reporting API ã使ã£ã¦ã¯ã©ã¤ã¢ã³ãå´ã®åé¡ãåéããæ¹æ³ã¨、åéããã¬ãã¼ãããå®éã®åé¡ãæ½åºããéã®èª²é¡ã«ã¤ãã¦èª¬æãã¾ãã。ã¾ã、ãã®èª²é¡ã解決ããããã« Google ãã©ã®ããã«ã¬ãã¼ãããã£ã«ã¿ãªã³ã°ãã¦å¦çãã¦ãããã説æã、åæ§ã®ã½ãªã¥ã¼ã·ã§ã³ãå®ç¾ããéã«å©ç¨ã§ãããªã¼ãã³ã½ã¼ã¹ ããã¸ã§ã¯ããç´¹ä»ãã¾ãã。ãã®æ
å ±ãå½¹ç«ã¡、Reporting API ãæ´»ç¨ãããããããã¼ãå¢ã、çµæã¨ãã¦ã¦ã§ããµã¤ãã®å®å
¨æ§ã¨æç¶å¯è½æ§ãåä¸ãããã¨ãé¡ã£ã¦ãã¾ã。
å¦ç¿ãªã½ã¼ã¹
Reviewed by
Eiji Kitamura - Developer Relations Team
ãã®è¨äºã¯ Yoshi Yamaguchi、Santiago DÃaz、Maud Nalpas、Eiji Kitamura ã«ãã Google Security Blog ã®è¨äº "Uncovering potential threats to your web application by leveraging security reports " ãå
ã«ç¿»è¨³・å çãããã®ã§ã。詳ããã¯å
è¨äºãã覧ãã ãã。
æ°ããªã¦ã§ãæ¨æºã§ãã Reporting API ã¯、æ¬çªã¦ã§ããµã¤ãã«ã¢ã¯ã»ã¹ãããã©ã¦ã¶ã§çºçããåé¡ãã¬ãã¼ãããæ±ç¨çãªä»çµã¿ãæä¾ãã¾ã。åãåãã¬ãã¼ãã§ã¯、ä¸çä¸ã®ã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã§çºçããã»ãã¥ãªãã£éåãã¾ããªãéæ¨å¥¨ã«ãªã API ãªã©ã®åé¡ã詳ãã説æããã¦ãã¾ã。
å¤ãã®å ´åã¯、HTTP ãããã¼ã§ã¨ã³ããã¤ã³ã URL ãæå®ããã ãã§ã¬ãã¼ããåéã§ãã¾ã。ããã¨ãã©ã¦ã¶ã¯、çããã«ã¨ã£ã¦é¢å¿ã®ããåé¡ãå«ã¾ããã¬ãã¼ããã¨ã³ããã¤ã³ãã«èªå転éãå§ãã¾ã。ãã ã、ã¬ãã¼ãã®å¦çãåæã¯ããã»ã©ç°¡åã§ã¯ããã¾ãã。ãã¨ãã°、ã¨ã³ããã¤ã³ãã«ã¯å¤§éã®ã¬ãã¼ããéããã¦ããå¯è½æ§ãããã¾ãã、ãã®ãã¹ã¦ãæ ¹æ¬çãªåé¡ã®ç¹å®ã«å½¹ç«ã¤ããã§ã¯ãªãå ´åãããã¾ã。ãã®ãããªç¶æ³ã§ã¯、åé¡ãæ½åºãã¦ä¿®æ£ããã®ã¯é常ã«å°é£ããããã¾ãã。
ãã®ããã°æ稿ã§ã¯、Google ã»ãã¥ãªã㣠ãã¼ã ãã©ã®ããã« Reporting API ã使ã£ã¦æ½å¨çãªåé¡ãæ¤åºã、å®éã®åé¡ãç¹å®ãã¦ããããç´¹ä»ãã¾ã。ã¾ã、Google ã¨åããããªã¢ããã¼ãã§ç°¡åã«ã¬ãã¼ãã®å¦çã対çãã§ããããã«、ãªã¼ãã³ã½ã¼ã¹ã®ã½ãªã¥ã¼ã·ã§ã³ãç´¹ä»ãã¾ã。
Reporting API ã®ä»çµã¿
æ¬çªç°å¢ã®ã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã§ããçºçããªãã¨ã©ã¼ãããã¾ã。ãã¡ãã、çããã¯ã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã«ã¢ã¯ã»ã¹ãããã¨ã¯ã§ãã¾ãã。ãããã£ãã¨ã©ã¼ã¯、ãã¼ã«ã«ã§、ãããã¯éçºä¸ã«è¦ããããã¨ã¯ããã¾ãã。å®éã®ã¦ã¼ã¶ã¼ããããã¯ã¼ã¯、ããã¤ã¹ãã©ã®ãããªç¶æ
ã«ãªã£ã¦ãããããããªãããã§ã。Reporting API ã使ãã°、ãã©ã¦ã¶ãç´æ¥å©ç¨ãã¦ãããã£ãã¨ã©ã¼ãã¢ãã¿ãªã³ã°ã§ãã¾ã。ã¤ã¾ã、ãã©ã¦ã¶ãã¨ã©ã¼ããã£ããã、ã¨ã©ã¼ã¬ãã¼ããçæãã¦、æå®ããã¨ã³ããã¤ã³ãã«éä¿¡ãã¦ããã¾ã。
ã¬ãã¼ãã®çæã¨éä¿¡ã®ä»çµã¿。
Reporting API ã§ã¢ãã¿ãªã³ã°ã§ããã¨ã©ã¼ã«ã¯、次ã®ãããªãã®ãããã¾ã。
Reporting API ã¯、HTTP ã¬ã¹ãã³ã¹ ãããã¼ã§æå¹åã¨è¨å®ãè¡ãã¾ã。ã¤ã¾ã、ãã©ã¦ã¶ãã¬ãã¼ããéä¿¡ããã¨ã³ããã¤ã³ãã¨、ã¢ãã¿ãªã³ã°ããã¨ã©ã¼ã¿ã¤ãã HTTP ã¬ã¹ãã³ã¹ ãããã¼ã§å®£è¨ãã¾ã。ãã©ã¦ã¶ã¯、ã¬ãã¼ãã®ãªã¹ãããã¤ãã¼ãã¨ãã POST ãªã¯ã¨ã¹ãã«ãã£ã¦、ã¬ãã¼ããã¨ã³ããã¤ã³ãã«éä¿¡ãã¾ã。
è¨å®ã®ä¾ :
# CSP éåã¬ãã¼ã、Document-Policy éåã¬ãã¼ã、éæ¨å¥¨ã¬ãã¼ããåãåãè¨å®ã®ä¾
Reporting-Endpoints: main-endpoint="https://reports.example/main", default="https://reports.example/default "
# CSP éå㨠Document-Policy éåã `main-endpoint` ã«éä¿¡ãã Content-Security-Policy: script-src 'self'; object-src 'none'; report-to main-endpoint;
Document-Policy: document-write=?0; report-to=main-endpoint;
# éæ¨å¥¨ã¬ãã¼ãã¯èªåçæãã、æ示çãªã¨ã³ããã¤ã³ãã¯å¿
è¦ãªã。常㫠`default` ã¨ã³ããã¤ã³ãã«éä¿¡ããã
注 : "report-only" ã¢ã¼ãããµãã¼ãããããªã·ã¼ãããã¾ã。ãã®ããªã·ã¼ã§ã¯、ã¬ãã¼ãã¯éä¿¡ããã¾ãã、å®éã®å¶éã¯é©ç¨ããã¾ãã。ããã¯、ããªã·ã¼ãå¹æçã«æ©è½ãã¦ãããã©ãããå¤æããéã«å½¹ç«ã¡ã¾ã。
Chrome ã¦ã¼ã¶ã¼ã¯、
DevTools ã® [Application] ããã« ãã、ãã©ã¦ã¶ãçæããã¬ãã¼ãã確èªã§ãã¾ã。
DevTools ã® [Application] ããã«ã«è¡¨ç¤ºãããã¬ãã¼ãã®ä¾。
ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã®ã㢠ã§ã¯、çæããããã¾ãã¾ãªéåããµã¼ãã¼ã§ã©ã®ããã«åä¿¡ããããã確èªã§ãã¾ã。
éåã¬ãã¼ãã®ä¾
2024 å¹´ 3 ææç¹ã§、Chrome 㯠Reporting API ããµãã¼ããã¦ãã、Safari ã¯ä¸é¨ããµãã¼ããã¦ãã¾ã。詳細ã«ã¤ãã¦ã¯、ãã©ã¦ã¶ ãµãã¼ã ã®è¡¨ãã覧ãã ãã。
Google ã®ã¢ããã¼ã
Google ã¯、ã»ãã¥ãªãã£ã大è¦æ¨¡ã«åä¸ã§ããã¨ããæ©æµãåãã¦ãã¾ã。Content Security Policy 、Trusted Types 、Fetch Metadata 、Cross-Origin Opener Policy ã¨ãã£ãã¦ã§ã ãã©ãããã©ã¼ã ã«ãã対çã¯、ãã¾ãã¾ãª Google ãããã¯ããç¡æ°ã®åã
ã®ãµã¼ãã¹ããããããèå¼±æ§ãæé¤ããããã«å½¹ç«ã¡ã¾ã。ãã®ç¹ã¯、ãã¡ãã®ããã°æ稿 ã§è©³ãã説æãã¦ãã¾ã。
ã»ãã¥ãªã㣠ããªã·ã¼ã大è¦æ¨¡ã«å°å
¥ããå ´å、ã¨ã³ã¸ãã¢ãªã³ã°ä¸ã®èª²é¡ã® 1 ã¤ã¨ãªãã®ã、æ°ããå¶éã«æºæ ãã¦ããã、å¶éãé©ç¨ãããå ´åã«åä½ããªããªãã³ã¼ããç¹å®ãããã¨ã§ã。ãã®åé¡ã解決ããããã«ãã使ããã 4 ã¤ã®ã¹ããããããã¾ã。
ããªã·ã¼ã report-only ã¢ã¼ã ã§ãã¼ã«ã¢ã¦ããã¾ã(CSP report-only ã¢ã¼ãã®ä¾ )。ããããã¨、ãã©ã¦ã¶ã¯ã¯ã©ã¤ã¢ã³ãå´ã®ã³ã¼ããé常ã©ããå®è¡ããããæ示ãã¤ã¤、ããªã·ã¼ãé©ç¨ãããå ´åã«éåã¨ãªãã¤ãã³ãã®æ
å ±ãåéãã¾ã。ãã®æ
å ±ã¯、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã«éä¿¡ãããéåã¬ãã¼ãã«éç´ããã¾ã。
éåã¬ãã¼ããããªã¢ã¼ã¸ã、ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ãã®å ´æã«ãªã³ã¯ãã¾ã。ãã¨ãã°、å±éºãª API ã使ã£ã¦ããã、ã¦ã¼ã¶ã¼ãã¼ã¿ã¨ã³ã¼ããæ··å¨ãããã¿ã¼ã³ã使ã£ã¦ããããããã、ã»ãã¥ãªã㣠ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ããã¼ã¹ãããããããã¾ãã。
ç¹å®ããã³ã¼ãããªãã¡ã¯ã¿ãªã³ã°ãã¦æºæ ããã¾ã。ãã¨ãã°、å±éºãª API ãå®å
¨ãªãã¼ã¸ã§ã³ã«ç½®ãæããã、ã¦ã¼ã¶ã¼å
¥åãã³ã¼ãã¨æ··å¨ãããªãããã«ããããã¾ã。ãããããªãã¡ã¯ã¿ãªã³ã°ã«ãã、å±éºãªã³ã¼ãã£ã³ã° ãã¿ã¼ã³ãæ¸ã、ã³ã¼ããã¼ã¹ã®ã»ãã¥ãªãã£æ
å¢ãåä¸ãã¾ã。
ãã¹ã¦ã®ã³ã¼ããç¹å®ã、ãªãã¡ã¯ã¿ãªã³ã°ãçµãã£ã段éã§、report-only ã¢ã¼ã ããããªã·ã¼ãåé¤ã、å®å
¨ã«é©ç¨ãã¾ã。é常ã®ãã¼ã«ã¢ã¦ãã§ã¯、æé 1~3 ãç¹°ãè¿ã、ãã¹ã¦ã®éåã¬ãã¼ãã確å®ã«ããªã¢ã¼ã¸ãã¾ã。
Reporting API ã§ã¯、1 ã¤ã®ã¬ãã¼ã ã¨ã³ããã¤ã³ãã¨、è¤æ°ã®ã»ãã¥ãªãã£æ©è½ã表ç¾ãã 1 ã¤ã®ã¹ãã¼ãã使ã£ã¦ãã®ãµã¤ã¯ã«ãå®è¡ã§ãã¾ã。ãã®ãã、ãã©ã¦ã¶、ã³ã¼ããã¹、ã¦ã¼ã¶ã¼ã¿ã¤ããåããã«、ãã¾ãã¾ãªæ©è½ã®ã¬ãã¼ããä¸å
çã«åéã§ãã¾ã。
注 : ããªã·ã¼ã§ç¦æ¢ããã¦ããã¢ã¯ã·ã§ã³ãè¡ããã¨ããã¨、éåã¬ãã¼ããçæããã¾ã。ãã¨ãã°、ãããã¼ã¸ã« CSP ãè¨å®ãã¦ããã«ãããããã、CSP ã§è¨±å¯ããã¦ããªãã¹ã¯ãªãããèªã¿è¾¼ããã¨ããå ´åã§ã。Reporting API ã§çæãããã¬ãã¼ãã®ã»ã¨ãã©ã¯éåã¬ãã¼ãã§ãã、ããããã¹ã¦ã§ã¯ããã¾ãã。ãã®ä»ã®ã¿ã¤ãã«ã¯、éæ¨å¥¨ã¬ãã¼ããã¯ã©ãã·ã¥ ã¬ãã¼ããªã©ãããã¾ã。詳細ã«ã¤ãã¦ã¯、ã¦ã¼ã¹ã±ã¼ã¹ã¨ã¬ãã¼ãã¿ã¤ã ãã覧ãã ãã。
æ®å¿µãªãã、éåã¬ãã¼ãã®ã¹ããªã¼ã ã«ã¯ãã¤ãºãç´ãè¾¼ããã¨ãããããã¾ã。ãã®å ´å、æºæ ãã¦ããªãã³ã¼ããè¦ã¤ãããã¨ãé£ãããªãå¯è½æ§ãããã¾ã。ãã¨ãã°、å¤ãã®ãã©ã¦ã¶æ¡å¼µæ©è½、ãã«ã¦ã§ã¢、ã¦ã£ã«ã¹å¯¾çã½ããã¦ã§ã¢、éçºãã¼ã«ã®ã¦ã¼ã¶ã¼ã¯、DOM ã«ãµã¼ããã¼ãã£ã®ã³ã¼ããæ¿å
¥ããã、ç¦æ¢ããã API ã使ã£ãããã¦ãã¾ã。æ¿å
¥ãããã³ã¼ããããªã·ã¼ã«æºæ ãã¦ããªãå ´å、ã³ã¼ããã¼ã¹ã«ãªã³ã¯ããã¦ããªã対çä¸å¯è½ãªéåã¬ãã¼ãã«ãªãå¯è½æ§ãããã¾ã。ãã®ãã、ã¬ãã¼ãã®ããªã¢ã¼ã¸ãå°é£ã«ãªã、ãã¹ã¦ã®ã³ã¼ãã確å®ã«æºæ ããã¦ããæ°ããããªã·ã¼ãé©ç¨ããã®ãé£ãããªãã¾ã。
Google ã¯é·å¹´ã«ããã、éåã¬ãã¼ããåéãã¦æ´»ç¨ã、ãããã¾ã¨ãã¦ æ ¹æ¬åå ã«éç´ããããã®å¤ãã®æè¡ãéçºãã¦ãã¾ãã ããã§ã¯、ãããããã¼ãéåã¬ãã¼ãã®ãã¤ãºãé¤å¤ã§ããæè¡ã®ä¸ãã、ç¹ã«å½¹ç«ã¤æè¡ã®æ¦è¦ãç´¹ä»ãã¾ã。
æ ¹æ¬åå ã«æ³¨ç®ãã
ãã©ã¦ã¶ã®ã¿ãã使ããã¦ããéã«、ããªã·ã¼ã«æºæ ãã¦ããªãã³ã¼ããä½åº¦ãå®è¡ããããã¨ã¯ããããã¾ã。ãããçºçãããã³ã«、æ°ããéåã¬ãã¼ããä½æãã、ãã¥ã¼ã¤ã³ã°ããã¦、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã«éä¿¡ããã¾ã。ãããèµ·ããã¨、åé·ãªæ
å ±ãå«ã大éã®ã¬ãã¼ããã§ãã¦ãã¾ãã¾ã。ããã§、éåã¬ãã¼ããã¯ã©ã¹ã¿ã«ã°ã«ã¼ãåãããã¨ã§、åã
ã®éåãæèãããã¨ãªã、æ ¹æ¬åå ã«ã¤ãã¦èãããã¨ãã§ãã¾ã。æ ¹æ¬åå ã®æ¹ãç解ããããã®ã§、æå¹ãªãªãã¡ã¯ã¿ãªã³ã°æ¹æ³ãæ¢ãæéãç縮ã§ãã¾ã。
ä¾ãéãã¦、éåãã©ã®ããã«ã°ã«ã¼ãåãããã®ãã確èªãã¦ã¿ã¾ããã。ãã¨ãã°、ã¤ã³ã©ã¤ã³ JavaScript ã¤ãã³ã ãã³ãã©ã®ä½¿ç¨ãç¦æ¢ãã report-only ã® CSP ãå°å
¥ããã¦ããã¨ãã¾ã。éåã¬ãã¼ãã¯、該å½ãããã³ãã©ã®ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã«ã¤ãã¦ä½æãã、次ã®ãã£ã¼ã«ããè¨å®ããã¾ã。
blockedURL
ãã£ã¼ã«ãã«ã¯、inline
ãè¨å®ããã¾ã。ããã¯éåã®ç¨®é¡ã表ãã¾ã。
scriptSample
ãã£ã¼ã«ãã«ã¯、ãã£ã¼ã«ãå
ã®ã¤ãã³ã ãã³ãã©ã®å
容ã®æåã®æ°ãã¤ããè¨å®ããã¾ã。
documentURL
ãã£ã¼ã«ãã«ã¯、ç¾å¨ã®ãã©ã¦ã¶ã¿ãã® URL ãè¨å®ããã¾ã。
ã»ã¨ãã©ã®å ´å、ãã® 3 ã¤ã®ãã£ã¼ã«ãã§、ç¹å®ã® URL ã®ã¤ã³ã©ã¤ã³ ãã³ãã©ãä¸æã«èå¥ã§ãã¾ã。ä»ã®ãã£ã¼ã«ãã®å¤ãç°ãªãå ´åã§ãåæ§ã§ã。ãããã£ããã¨ãããèµ·ããã®ã¯、ãã¼ã¯ã³ãã¿ã¤ã ã¹ã¿ã³ããªã©ã®ã©ã³ãã ãªå¤ããã¼ã¸ãã¾ããã§ä½¿ãå ´åã§ã。åè¿°ã®ãããªãã£ã¼ã«ãã®å¤ã¯、ã¢ããªã±ã¼ã·ã§ã³ããã¬ã¼ã ã¯ã¼ã¯ã«ãã£ã¦å¾®å¦ã«ç°ãªãå ´åããããã、ã¬ãã¼ãå¤ãããã¾ãä¸è´ããããã¨ãã§ããã°、æéãçãã¤ã¤、éåãã¯ã©ã¹ã¿ã«ã°ã«ã¼ãåãã¦å¯¾çã«ã¤ãªãããã¨ãã§ãã¾ã。å¿
è¦ã«å¿ãã¦、URL ãã£ã¼ã«ãã«æ¢ç¥ã®ãã¬ãã£ãã¯ã¹ãããéåãã°ã«ã¼ãåãããã¨ãã§ãã¾ã。ãã¨ãã°、URL ã chrome-extension
、moz-extension
、safari-extension
ã§å§ã¾ããã¹ã¦ã®éåãã°ã«ã¼ãåããã¨、æ ¹æ¬åå ãã³ã¼ããã¼ã¹ä»¥å¤ã®ãã©ã¦ã¶æ¡å¼µæ©è½ã§ããéåã、é«ãä¿¡é ¼æ§ã§ç¹å®ã§ãã¾ã。
ç¬èªã®ã°ã«ã¼ãåæ¦ç¥ãçå®ããã°、ããªã¢ã¼ã¸ãå¿
è¦ãªéåå ±åã®æ°ã大å¹
ã«æ¸ãã、æ ¹æ¬åå ã«æ³¨ç®ãããã¨ãã§ãã¾ã。é常ã¯、é¢å¿ã®ãã種é¡ã®éåãä¸æã«èå¥ãããã£ã¼ã«ããé¸ã³、ãã®ãã£ã¼ã«ãã使ã£ã¦、ç¹ã«éè¦ãªæ ¹æ¬åå ã«åªå
é ä½ãã¤ããããããã«ããå¿
è¦ãããã¾ã。
ç°å¢æ
å ±ãæ´»ç¨ãã
対çä¸å¯è½ãªéåã¬ãã¼ãã¨å¯¾çå¯è½ãªéåã¬ãã¼ããåºå¥ãããã 1 ã¤ã®æ¹æ³ã、ç°å¢æ
å ±ã§ã。ãã®ãã¼ã¿ã¯、ã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã¸ã®ãªã¯ã¨ã¹ãã«ã¯å«ã¾ãã¾ãã、éåã¬ãã¼ãèªä½ã«ã¯å«ã¾ãã¾ãã。ç°å¢æ
å ±ããã¯ã©ã¤ã¢ã³ãè¨å®ã«ããããã¤ãºæºãå¤å¥ã§ããå¯è½æ§ãããã®ã§、ããªã¢ã¼ã¸ã«å½¹ç«ã¤ããããã¾ãã。
ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã¾ãã¯ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ã ã¯ã©ã¤ã¢ã³ã ãã³ã : ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã¯、対çä¸å¯è½ãªéåã®å¤§ããªå
åã§ã。ãã¨ãã°、ã¯ãã¼ã©、ããã、ä¸é¨ã®ã¢ãã¤ã«ã¢ããªãªã©ã¯、ãµãã¼ã対象ã®ãã©ã¦ã¶ ã¨ã³ã¸ã³ã¨ã¯åä½ãç°ãªã、ã«ã¹ã¿ã ã®ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãã使ã£ã¦ããã®ã§、ä»ã§ã¯èµ·ããªãéåãçºçããå¯è½æ§ãããã¾ã。ãã以å¤ã«ã、ç¹å®ã®ãã©ã¦ã¶ã§ã®ã¿çºçããéåã、ãã¤ããªã¼ ãã«ãã«ããå¤æ´ãæ°ãã¼ã¸ã§ã³ã®ãã©ã¦ã¶ã«ãã£ã¦çºçããéåãããã¾ã。ã¦ã¼ã¶ã¼ ã¨ã¼ã¸ã§ã³ãæ
å ±ããªããã°、ãããã£ãéåã調æ»ãããã¨ã¯é常ã«å°é£ã«ãªãã¾ã。ä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ : ã¨ã³ããã¤ã³ããéåã®çºçããããã¥ã¡ã³ã㨠same-site ã§ããå ´å、Reporting API ãã¬ãã¼ã ã¨ã³ããã¤ã³ãã«å¯¾ãã¦è¡ããªã¯ã¨ã¹ãã«å©ç¨å¯è½ãª Cookie ãæ·»ä»ããã¾ã。Cookie ãåå¾ããã¨、éåãèµ·ããã¦ã¼ã¶ã¼ã®ç¨®é¡ãç¹å®ããéã«å½¹ç«ã¡ã¾ã。対çãã¹ãéåã®å¤ãã¯、ä¼ç¤¾ã®å¾æ¥å¡ãã¦ã§ããµã¤ã管çè
ãªã©、ä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ã«ãããã®ã§ãã、ãããã®ã¦ã¼ã¶ã¼ãä¾µç¥çãªæ¡å¼µæ©è½ãã¤ã³ã¹ãã¼ã«ããã、ãã«ã¦ã§ã¢ã«ææãã¦ããããããã¨ã¯ãªãã§ããã。ã¬ãã¼ã ã¨ã³ããã¤ã³ãããèªè¨¼æ
å ±ãåå¾ã§ããªãå ´åã¯、ã¾ãä¿¡é ¼ã§ããã¦ã¼ã¶ã¼ã対象㫠report-only ããªã·ã¼ãè¨å®ãã¦ã¿ã¾ããã。ãããããã¨ã§、対çãã¹ãéåã®åºæºãæ確ã«ãã¦ãã、ããªã·ã¼ãä¸è¬å
¬éãããã¨ãã§ãã¾ã。ã¦ãã¼ã¯ ã¦ã¼ã¶ã¼æ° : ä¸è¬ååã¨ãã¦、å
¸åçãªæ©è½ãã³ã¼ããã¹ã®ã¦ã¼ã¶ã¼ããã¯、ã»ã¼åãéåãçæãããã¨ããã¾ã。ãã®ãã、å°æ°ã®ã¦ã¼ã¶ã¼ã§ããçºçãã¦ããªãéåã¯é¤å¤åè£ã¨ãããã¨ãã§ãã¾ã。ã¤ã¾ã、ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãã§ã¯ãªã、ã¦ã¼ã¶ã¼ã®ç¹å®ã®è¨å®ãåé¡ã§ããå¯è½æ§ãããã¨ãããã¨ã§ã。「ã¦ã¼ã¶ã¼æ°ãã«ã¦ã³ããã」æ¹æ³ã® 1 ã¤ã¯、éåãå ±åããã¦ãã¼ã¯ IP ã¢ãã¬ã¹æ°ãè¨é²ãããã¨ã§ã。è¿ä¼¼ã«ã¦ã³ã ã¢ã«ã´ãªãºã ã¯ä½¿ãããã、ç¹å®ã® IP ã¢ãã¬ã¹ã追跡ããã«ãã®æ
å ±ãåéã§ãã¾ã。ãã¨ãã°、HyperLogLog ã¢ã«ã´ãªãºã ã¯、ãããæ°ãã¤ãã§、ä¿¡é ¼åº¦é«ã、éåå
ã®ããã¾ããªä¸æã®è¦ç´ æ°ãæ°ãããã¨ãã§ãã¾ã。
éåãã½ã¼ã¹ã³ã¼ãã«ãããã³ã°ãã(é«åº¦ãªå
容)
éåã®ã¿ã¤ãã«ãã£ã¦ã¯、source_file
ãã£ã¼ã«ãã¾ãã¯ããã¨åçã®ãã£ã¼ã«ããå«ã¾ãã¾ã。ãã®ãã£ã¼ã«ãã¯、éåã®åå ã¨ãªã£ã JavaScript ãã¡ã¤ã«ã表ã、é常ã¯è¡çªå·ã¨åçªå·ãä»ãã¦ãã¾ã。ãããã® 3 ããããã¼ã¿ã¯é«å質ã®ä¿¡å·ã§ãã、ãªãã¡ã¯ã¿ãªã³ã°ãå¿
è¦ãªã³ã¼ãã®è¡ãç´æ¥æããã¨ãã§ãã¾ã。
ãã ã、ã³ã³ãã¤ã«ãæå°åã®ããã«、ãã©ã¦ã¶ããã§ããããã½ã¼ã¹ãã¡ã¤ã«ãã³ã¼ããã¼ã¹ã«ç´æ¥ãããã³ã°ã§ããªããªããã¨ãããããã¾ã。ãã®å ´åã¯、JavaScript ã½ã¼ã¹ãããã使ã£ã¦、ãããã¤ããããã¡ã¤ã«ã¨ãªã¼ãµãªã³ã°ããããã¡ã¤ã« ã®éã§è¡çªå·ã¨åçªå·ããããã³ã°ããã¨ããã§ããã。ããã¨、éåã¬ãã¼ããã½ã¼ã¹ã³ã¼ãã®è¡ã«ç´æ¥å¤æãããã®ã§、é常ã«å¯¾çããããã¬ãã¼ã ã°ã«ã¼ãã¨æ ¹æ¬åå ãçæããã¾ã。
ç¬èªã®ã½ãªã¥ã¼ã·ã§ã³ã確ç«ãã
Reporting API ã¯、ã»ãã¥ãªãã£éå、éæ¨å¥¨ã® API å¼ã³åºã、ãã©ã¦ã¶ã®ä»å
¥ãªã©ã®ãã©ã¦ã¶å´ã¤ãã³ãã、ã¤ãã³ããã¨ã«æå®ãããã¨ã³ããã¤ã³ãã«éä¿¡ãã¾ã。ãã ã、åã®ã»ã¯ã·ã§ã³ã§èª¬æããããã«、ãã®ã¬ãã¼ãããå®éã®åé¡ãæ½åºããã«ã¯、ãã¼ã¿å¦çã·ã¹ãã ãå¿
è¦ã§ã。
幸ããªãã¨ã«、ãã¾ãã¾ãªæ¹æ³ã§å¿
è¦ãªã¢ã¼ããã¯ãã£ãè¨å®ã§ããããã«ãªã£ã¦ãã、ãªã¼ãã³ã½ã¼ã¹ã®ãããã¯ããããã¾ã。å¿
è¦ãªã·ã¹ãã ã®åºæ¬çãªè¦ç´ ã¯æ¬¡ã®ã¨ããã§ã。
API ã¨ã³ããã¤ã³ã : HTTP ãªã¯ã¨ã¹ããåãåã、JSON å½¢å¼ã§ã¬ãã¼ããå¦çããã¦ã§ããµã¼ãã¼
ã¹ãã¬ã¼ã¸ : åãåã£ãã¬ãã¼ãããã¤ãã©ã¤ã³ã§å¦çããã¬ãã¼ããæ ¼ç´ããã¹ãã¬ã¼ã¸ ãµã¼ãã¼
ãã¼ã¿ ãã¤ãã©ã¤ã³ : ãã¤ãºãé¤å»ã、å¿
è¦ãªã¡ã¿ãã¼ã¿ãæ½åºãã¦éç´ãããã¤ãã©ã¤ã³
ãã¼ã¿è¦è¦åãã¼ã« : å¦çããã¬ãã¼ãããç¥è¦ãå¾ãããã®ãã¼ã«
以ä¸ã®åã³ã³ãã¼ãã³ãã®ã½ãªã¥ã¼ã·ã§ã³ã¯、ãããªã㯠ã¯ã©ã¦ã ãã©ãããã©ã¼ã 、SaaS ãµã¼ãã¹、ãªã¼ãã³ã½ã¼ã¹ ã½ããã¦ã§ã¢ã¨ãã¦å©ç¨ã§ãã¾ã。詳細ã«ã¤ãã¦ã¯、
代æ¿ã½ãªã¥ã¼ã·ã§ã³ ã®ã»ã¯ã·ã§ã³ãã覧ãã ãã。ã¾ã、次ã®ã»ã¯ã·ã§ã³ã§ã¯、ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®æ¦è¦ã説æãã¾ã。
ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ : Reporting API ããã»ããµ
ãã©ã¦ã¶ããã¬ãã¼ããåãåãæ¹æ³ã¨、åãåã£ãã¬ãã¼ããå¦çããæ¹æ³ãç解ã§ããããã«、å°ããªãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ ãä½æãã¾ãã。ãã®ã¢ããªã±ã¼ã·ã§ã³ã§、ãã©ã¦ã¶ãéä¿¡ããã¬ãã¼ãããã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã¥ãªãã£åé¡ãæ½åºããããã«å¿
è¦ãªããã»ã¹ã示ãã¾ã。å
·ä½çã«ã¯、以ä¸ã®ããã»ã¹ã«ãªãã¾ã。
ã¬ãã¼ãã®ã¹ãã¬ã¼ã¸ã¸ã®ä¿å ãã¤ãº ãªãã¯ã·ã§ã³ã¨ãã¼ã¿éç´ å¦çæ¸ã¿ã®ã¬ãã¼ããã¼ã¿ã®å¯è¦å ãã®ãµã³ãã«ã§ã¯、Google Cloud ã使ã£ã¦ãã¾ãã、åã³ã³ãã¼ãã³ãã¯ã好ã¿ã®ãã¯ããã¸ã¼ã«ç½®ãæãããã¨ãã§ãã¾ã。ãµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ã®æ¦è¦ã次ã®å³ã«ç¤ºãã¾ã。
ç·è²ã®ããã¯ã¹ã¯、ç¬èªã«å®è£
ããå¿
è¦ãããã³ã³ãã¼ãã³ãã§ã。 ãã©ã¯ã¼ã(forwarder) ã¯ã·ã³ãã«ãªã¦ã§ããµã¼ãã¼ã§ãã、JSON å½¢å¼ã®ã¬ãã¼ããåãåã、ããã Bigtable ç¨ã®ã¹ãã¼ãã«å¤æãã¾ã。 ãã¼ã ã³ã¬ã¯ã¿(beam-collector) ã¯ã·ã³ãã«ãª Apache Beam ãã¤ãã©ã¤ã³ã§ãã、ãã¤ãºã®å¤ãã¬ãã¼ãããã£ã«ã¿ãªã³ã°ã、é¢é£ããã¬ãã¼ããéç´ãã¦、CSV ãã¡ã¤ã«ã¨ãã¦ä¿åãã¾ã。ãã® 2 ã¤ã®ã³ã³ãã¼ãã³ãã¯、Reporting API ããã®ã¬ãã¼ããæå¹å©ç¨ããããã§éè¦ãªå½¹å²ãæããã¦ãã¾ã。
å®éã«è©¦ã
ããã¯å®éã«å®è¡ã§ãããµã³ãã« ã¢ããªã±ã¼ã·ã§ã³ãªã®ã§、ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã Google Cloud ããã¸ã§ã¯ãã«ãããã¤ã、èªåã§ä»çµã¿ã確èªãããã¨ãã§ãã¾ã。ãµã³ãã« ã·ã¹ãã ãè¨å®ããããã®è©³ç´°ãªåææ¡ä»¶ã¨æé ã¯、
README.md ãã¡ã¤ã«ã«è¨è¼ããã¦ãã¾ã。
代æ¿ã½ãªã¥ã¼ã·ã§ã³
ããã§å
±æãããªã¼ãã³ã½ã¼ã¹ ã½ãªã¥ã¼ã·ã§ã³ä»¥å¤ã«ã、Reporting API ãç°¡åã«ä½¿ããããã«ãããã¼ã«ãããã¤ãç¨æããã¦ãã¾ã。次ã®ãããªãã®ãããã¾ã。
Sentry ã Datadog ãªã©ã®ã¢ããªã±ã¼ã·ã§ã³ ã¨ã©ã¼ ã¢ãã¿ãªã³ã° ãã©ãããã©ã¼ã
代æ¿æ¡ãé¸æããéã¯、ä¾¡æ ¼ã ãã§ãªã、次ã®ç¹ãèæ
®ããããã«ãã¾ããã。
ã¢ããªã±ã¼ã·ã§ã³ã® URL ããµã¼ããã¼ãã£ã®ã¬ãã¼ãåéãã¼ã«ã«æ¸¡ãã¦ãæ§ããªãã§ãããã?ãã©ã¦ã¶ã URL ããæ©å¯æ
å ±ãåãé¤ããã¨ãã¦ã、æ©å¯æ
å ±ã¯ãã®ããã«æ¼æ´©ããå¯è½æ§ ãããã¾ã。ã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã£ã¦ãªã¹ã¯ãé«ãããã¨æãããå ´åã¯、ç¬èªã®ã¬ãã¼ã ã¨ã³ããã¤ã³ããéç¨ãã¦ãã ãã。 åéãã¼ã«ã¯、å¿
è¦ãªãã¹ã¦ã®ã¬ãã¼ãã¿ã¤ãããµãã¼ããã¦ãã¾ãã?ãã¨ãã°、ãã¹ã¦ã®ã¬ãã¼ã ã¨ã³ããã¤ã³ã ã½ãªã¥ã¼ã·ã§ã³ã COOP/COEP éåã¬ãã¼ãããµãã¼ããã¦ããããã§ã¯ããã¾ãã。
ã¾ã¨ã
ãã®è¨äºã§ã¯、ã¦ã§ã ãããããã¼ã Reporting API ã使ã£ã¦ã¯ã©ã¤ã¢ã³ãå´ã®åé¡ãåéããæ¹æ³ã¨、åéããã¬ãã¼ãããå®éã®åé¡ãæ½åºããéã®èª²é¡ã«ã¤ãã¦èª¬æãã¾ãã。ã¾ã、ãã®èª²é¡ã解決ããããã« Google ãã©ã®ããã«ã¬ãã¼ãããã£ã«ã¿ãªã³ã°ãã¦å¦çãã¦ãããã説æã、åæ§ã®ã½ãªã¥ã¼ã·ã§ã³ãå®ç¾ããéã«å©ç¨ã§ãããªã¼ãã³ã½ã¼ã¹ ããã¸ã§ã¯ããç´¹ä»ãã¾ãã。ãã®æ
å ±ãå½¹ç«ã¡、Reporting API ãæ´»ç¨ãããããããã¼ãå¢ã、çµæã¨ãã¦ã¦ã§ããµã¤ãã®å®å
¨æ§ã¨æç¶å¯è½æ§ãåä¸ãããã¨ãé¡ã£ã¦ãã¾ã。
å¦ç¿ãªã½ã¼ã¹
Reviewed by
Eiji Kitamura - Developer Relations Team