G-gen ã®äœã
æšã§ããåœèšäºã§ã¯ãModel Armor ã®æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ãã Sensitive Data Protection ã®ãã³ãã¬ãŒããåŒã³åºããLLM ãžã®ããã³ããã«å«ãŸããå人æ
å ±ãå¿ååããæ¹æ³ã解説ããŸãã æŠèŠ Model Armor ãšã¯ Sensitive Data Protection ãšã¯ æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã®æ§æ Basic æ§æãš Advanced æ§æ æ€æ»ãã³ãã¬ãŒããšå¿ååãã³ãã¬ãŒã ãã³ãã¬ãŒãã®åç
§é¢ä¿ å¶éäºé
æ€åºç²ŸåºŠã«é¢ããæ³šæäºé
æé å¿ååããããŒã¿ã®åèå¥ã«ã€ã㊠Sensitive Data Protection åäœãšã®éã æ©èœãšæš©éã®æ¯èŒ Model Armor çµç±ã§äœ¿çšããå©ç¹ Sensitive Data Protection ãçŽæ¥åŒã³åºãå Žé¢ åœèšäºã§æ±ãç¯å² èšå®æé äºåæºå æ€æ»ãã³ãã¬ãŒãã®äœæ å¿ååãã³ãã¬ãŒãã®äœæ Model Armor ãã³ãã¬ãŒãã®äœæ ãã£ã«ã¿ããŒãžã§ã³ã®æå® åäœç¢ºèª sanitizeUserPrompt ã®å®è¡ ã¬ã¹ãã³ã¹ã®èªã¿æ¹ Basic æ§æãšã®æ¯èŒ æŠèŠ Model Armor ãšã¯ Model Armor ã¯ãLLM ã®ããã³ãããšã¬ã¹ãã³ã¹ãæ€æ»ãã Google Cloud ã®ãµãŒãã¹ã§ããããã³ããã€ã³ãžã§ã¯ã·ã§ã³ããžã§ã€ã«ãã¬ã€ã¯ã®æ€åºãæªæãã URL ã®æ€åºã責任ãã AI ã®å®å
šæ§ãã£ã«ã¿ãæ©å¯ããŒã¿ã®æ€åºãšå¿ååãšãã£ããã£ã«ã¿ãåããŠãããã¹ããŒãã¬ã¹ãªã»ãã¥ãªãã£ã¬ã€ã€ãŒãšããŠåäœããŸãã æå¹åãããã£ã«ã¿ãšãã®èšå®ã¯ã Model Armor ãã³ãã¬ãŒã ãšãããªãœãŒã¹ã«ãŸãšããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãæ€æ»ãããããã¹ãããã³ãã¬ãŒãã«å¯ŸããŠéä¿¡ãããã£ã«ã¿ããšã®æ€æ»çµæãåãåããŸãã Model Armor ã®å
šäœåã¯ä»¥äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp Sensitive Data Protection ãšã¯ Sensitive Data Protection ïŒæ§ç§° Cloud Data Loss PreventionïŒã¯ãGoogle Cloud å
å€ã®æ©å¯ããŒã¿ãæ€åºã»åé¡ã»å¿ååããããã®ãã«ãããŒãžããµãŒãã¹ã§ããæ°åãã¡ãŒã«ã¢ãã¬ã¹ãšãã£ãæ©å¯ããŒã¿ã®çš®é¡ã«å¯Ÿå¿ãã infoType æ€åºåšã§å¯Ÿè±¡ãç¹å®ãããã¹ãã³ã°ã眮æãããŒã¯ã³åãªã©ã®æ¹åŒã§å¥ã®å€ã«å€æããŸãã Sensitive Data Protection ã«ããæ©å¯ããŒã¿ã®å¿ååã«ã€ããŠã¯ã以äžã®èšäºã§è§£èª¬ããŠããŸãã blog.g-gen.co.jp æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã®æ§æ Basic æ§æãš Advanced æ§æ Model Armor ã®æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã«ã¯ Basic æ§æ ãš Advanced æ§æ ã®2ã€ããããäž¡è
ã¯æä»ã§ã©ã¡ããäžæ¹ããæå®ã§ããŸãããAdvanced æ§æã§ã¯ Sensitive Data Protection ã®ãã³ãã¬ãŒãããã®ãŸãŸéšåãšããŠäœ¿çšã§ããŸããæ©å¯ããŒã¿ã®æ€åºæ¡ä»¶ãšå€ææ¹åŒãå®çŸ©ãããã³ãã¬ãŒããããã®ãŸãŸ Model Armor ã®ãã£ã«ã¿ãšããŠåã圢ã§ãã é
ç® Basic æ§æ Advanced æ§æ Sensitive Data Protection ã®ãã³ãã¬ãŒã 䜿çšããªã æ€æ»ãã³ãã¬ãŒããå¿
é ãå¿ååãã³ãã¬ãŒãã¯ä»»æ 䜿çšã§ãã infoType åºå®ã»ããã®ã¿ æ€æ»ãã³ãã¬ãŒãã§æå®ããä»»æã® infoType ã«ã¹ã¿ã infoType 䜿çšã§ããªã 䜿çšã§ãã 察å¿ããæäœ æ€æ»ã®ã¿ æ€æ»ãšå¿åå Basic æ§æã§äœ¿çšã§ãã infoType ã¯åºå®ãããŠããŸãã2026幎8æçŸåšããã¹ãŠã®ãªãŒãžã§ã³ã§æ€æ»å¯Ÿè±¡ãšãªãã®ã¯ä»¥äžã®5çš®é¡ã§ãã ã¯ã¬ãžããã«ãŒãçªå· éèå£åº§çªå· Google Cloud ã®èªèšŒæ
å ± Google Cloud API ã㌠èšå®ãã¡ã€ã«ãã³ãŒããªã©ã«æžãããå¹³æã®ãã¹ã¯ãŒã ããã«å ããŠãç±³åœã®ãªãŒãžã§ã³ã«éããç±³åœç€ŸäŒä¿éçªå·ïŒSSNïŒãšç±³åœå人çŽçšè
èå¥çªå·ïŒITINïŒã®2çš®é¡ãæ€æ»å¯Ÿè±¡ã«è¿œå ãããŸããæ±äº¬ãªãŒãžã§ã³ãå«ãç±³åœä»¥å€ã®ãªãŒãžã§ã³ã§ã¯åè¿°ã®5çš®é¡ã®ã¿ã察象ã§ãããæ¥æ¬ã®å人æ
å ±ã察象ãšããæ€åºåšã¯å«ãŸããŠããŸãããæ°åãã¡ãŒã«ã¢ãã¬ã¹ãé»è©±çªå·ããã€ãã³ããŒãšãã£ãæ¥æ¬ã®ãŠãŒã¹ã±ãŒã¹ã§æ³å®ãããæ©å¯ããŒã¿ãæ±ãå ŽåãAdvanced æ§æãå¿
èŠã§ããåãæ¥æ¬èªã®ããã¹ãã Basic æ§æã§æ€æ»ãããšã©ããªããã¯ãåœèšäºã®åŸåã§å®éã®ã¬ã¹ãã³ã¹ãšãšãã«ç€ºããŸãã åè : ããã³ãããšã¬ã¹ãã³ã¹ããµãã¿ã€ãºãã - Sensitive Data Protection ã®åºæ¬æ§æ æ€æ»ãã³ãã¬ãŒããšå¿ååãã³ãã¬ãŒã Advanced æ§æã§æå®ãã Sensitive Data Protection ã®ãã³ãã¬ãŒãã¯ã æ€æ»ãã³ãã¬ãŒã ãš å¿ååãã³ãã¬ãŒã ã®2çš®é¡ã§ããããããæ€åºæ¡ä»¶ã倿å
容ãåå©çšå¯èœãªåœ¢ã§ä¿åãããªãœãŒã¹ã§ãããModel Armor ãã³ãã¬ãŒãããåç
§ã§ããŸãã æ€æ»ãã³ãã¬ãŒãã¯æ€åºèšå®ïŒ InspectConfig ïŒãå®çŸ©ãããã³ãã¬ãŒãã§ããæ€åºå¯Ÿè±¡ã® infoTypeãæ€åºãšã¿ãªã確床ã®äžéïŒ minLikelihood ïŒãæ€åºããå€ãã®ãã®ãã¬ã¹ãã³ã¹ã«å«ãããïŒ includeQuote ïŒãšãã£ããäœãã©ããŸã§æ€åºãããã®æ¡ä»¶ãå®çŸ©ããŸãã å¿ååãã³ãã¬ãŒãã¯ã倿èšå®ïŒ DeidentifyConfig ïŒãå®çŸ©ãããã³ãã¬ãŒãã§ããããã§ã¯æ€åºãããå€ãã©ã®æ¹åŒã§å¥ã®å€ã«çœ®ãæããããå®çŸ©ããŸããå€æã®æå®æ¹æ³ã«ã¯ãããã¹ãäžã® infoType åäœã§å€æãã infoType 倿 ïŒ infoTypeTransformations ïŒãšãããŒãã«åœ¢åŒã®ããŒã¿ãååäœã§å€æãã ã¬ã³ãŒã倿 ïŒ recordTransformations ïŒã®2系統ããããŸããModel Armor ãæ±ãã®ã¯ LLM ã®ããã³ãããšã¬ã¹ãã³ã¹ã®ããã¹ãã§ããããã䜿çšããã®ã¯ infoType 倿ã§ãã infoType 倿ã§ã¯ãinfoType ã®ã°ã«ãŒãããšã«å€ææ¹åŒïŒ primitiveTransformation ïŒã1ã€æå®ããŸãã倿æ¹åŒã¯2026幎8æçŸåšã§ã¯12çš®é¡ãæäŸãããŠããã代衚çãªãã®ã¯ä»¥äžã®ãšããã§ãã 倿æ¹åŒ å
容 replaceWithInfoTypeConfig æ€åºå€ã infoType åã«çœ®ãæãã replaceConfig æ€åºå€ãæå®ããåºå®å€ã«çœ®ãæãã redactConfig æ€åºå€ãåé€ãã characterMaskConfig æ€åºå€ã®æåãæå®ããæåã§ãã¹ã¯ãã cryptoDeterministicConfig æ€åºå€ã AES-SIV ã«ãã確å®çãªããŒã¯ã³ã«çœ®ãæãã dateShiftConfig æ¥ä»ãä¹±æ°ã®æ¥æ°åããã cryptoDeterministicConfig ã®ãããªæå·ããŒã¹ã®æ¹åŒã¯ãæå·éµãæå®ããããšã§å
ã®å€ãžæ»ããå¯éãªå€æã§ãããã ãåŸè¿°ã®ãšãããModel Armor èªäœã¯å¿ååããå€ãå
ãžæ»ãæ©èœãæäŸããŠããŸããã ãã®ä»ã®å€ææ¹åŒã«ã€ããŠã¯ã以äžã®å
¬åŒããã¥ã¡ã³ããåç
§ããŠãã ããã åè : ãã³ãã¬ãŒã åè : 倿ã®ãªãã¡ã¬ã³ã¹ ãã³ãã¬ãŒãã®åç
§é¢ä¿ Advanced æ§æã§ã¯ãModel Armor ãã³ãã¬ãŒãã® filterConfig.sdpSettings.advancedConfig ã«ãSensitive Data Protection ã®ãã³ãã¬ãŒãããªãœãŒã¹åã§æå®ããŸãã { " filterConfig ": { " sdpSettings ": { " advancedConfig ": { " inspectTemplate ": " projects/<ãããžã§ã¯ãID>/locations/<ãã±ãŒã·ã§ã³>/inspectTemplates/<æ€æ»ãã³ãã¬ãŒãID> ", " deidentifyTemplate ": " projects/<ãããžã§ã¯ãID>/locations/<ãã±ãŒã·ã§ã³>/deidentifyTemplates/<å¿ååãã³ãã¬ãŒãID> " } } } } Model Armor ãã³ãã¬ãŒãã¯æ€åºèšå®ãèªåã§æãããSensitive Data Protection åŽã®ãã³ãã¬ãŒããåç
§ããã ãã®æ§é ã«ãªã£ãŠããŸãããã®ãããåŸããæ€åºå¯Ÿè±¡ã® infoType ã远å ããã倿æ¹åŒã倿Žãããããå Žåã¯ãModel Armor ãã³ãã¬ãŒãã§ã¯ãªãæ€æ»ãã³ãã¬ãŒããšå¿ååãã³ãã¬ãŒããç·šéããŸãã å¿ååãè¡ãã«ã¯ãæ€æ»ãã³ãã¬ãŒããšå¿ååãã³ãã¬ãŒãã®äž¡æ¹ãå¿
èŠã§ããæ€æ»ãã³ãã¬ãŒãã®ã¿ãæå®ããå Žåããã£ã«ã¿ã¯ãããçµæãå ±åããã ãã§å¿ååã¯è¡ããŸããã åè : Method: projects.locations.templates.create åè : REST Resource: projects.locations.templates - SdpAdvancedConfig å¶éäºé
æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã«ããå¿ååãè¡ãå Žåã2026幎8æçŸåšã以äžã®å¶éããããŸãã ããã³ããã«æ·»ä»ããã PDF ã DOCX ãªã©ã®ãã¡ã€ã«ã«å¯Ÿããå¿ååã¯é察å¿ãæ€åºãŸã§ã¯ã§ãããå¿ååã¯ã§ããªã ã¹ããªãŒãã³ã°ã¡ãœããã¯å¿ååã«éå¯Ÿå¿ å¿ååãã³ãã¬ãŒãã«å«ãŸãããã¹ãŠã® infoType ããæ€æ»ãã³ãã¬ãŒãã«ãå«ãŸããŠããå¿
èŠããã Sensitive Data Protection ã®ãã³ãã¬ãŒãã¯ãModel Armor ãã³ãã¬ãŒããšåäžã®ãã±ãŒã·ã§ã³ã«ååšããå¿
èŠããã Model Armor ãã³ãã¬ãŒãã®ãã±ãŒã·ã§ã³ã¯ãäœæåŸã«å€æŽã§ããªã ã¹ããªãŒãã³ã°ã¡ãœããã¯ãLLM ã®åºåã®ããã«é次æµããŠããããã¹ãããå
šæãæãã®ãåŸ
ããã«ãã£ã³ã¯åäœã§æ€æ»ãã gRPC ã®åæ¹åã¹ããªãŒãã³ã° API ã§ããå¿ååã¯ããã¹ãå
šäœã®äžã§æ€åºããå€ã眮ãæããŠè¿ãåŠçã§ãããããã£ã³ã¯åäœã®åŠçãšã¯çžæ§ãæªããé察å¿ãšãªã£ãŠããŸãã ãŸã2026幎8æçŸåšãæ±äº¬ãªãŒãžã§ã³ã§ã¯ãè€æ°èšèªã®ããã¹ããæ€æ»ããããã®å€èšèªæ€åºïŒMulti-language detectionïŒãæå¹åã§ããŸãããæå¹åã詊ã¿ããšã以äžã®ããã«å¯Ÿå¿ããŠããªãæšã®ãšã©ãŒãè¿ããŸããæ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã«ããæ¥æ¬èªããã¹ãã®æ€æ»èªäœã¯å€èšèªæ€åºãæå¹ã«ããªããŠãåäœããŸãããããã³ããã€ã³ãžã§ã¯ã·ã§ã³æ€åºãªã©ä»ã®ãã£ã«ã¿ãæ¥æ¬èªã§äœ¿çšããå Žåã¯ããªãŒãžã§ã³ã®éžå®æã«ç¢ºèªãå¿
èŠã§ãã { " error ": { " code ": 400 , " message ": " Region 'asia-northeast1' does not support the requested capabilities: 'Multi-language detection'. ", " status ": " INVALID_ARGUMENT " } } åè : ããã³ãããšã¬ã¹ãã³ã¹ããµãã¿ã€ãºãã æ€åºç²ŸåºŠã«é¢ããæ³šæäºé
Sensitive Data Protection ã®çµã¿èŸŒã¿ infoType æ€åºåšã¯ããã¿ãŒã³ãããããã§ãã¯ãµã ãæ©æ¢°åŠç¿ãæèè§£æãªã©ãçµã¿åãããŠæ©å¯ããŒã¿ãæ€åºããŸãããã ãå
¬åŒããã¥ã¡ã³ãã§ã¯ãçµã¿èŸŒã¿æ€åºåšã¯ å®å
šã«æ£ç¢ºãªæ€åºãã§ãããã®ã§ã¯ãªããèŠå¶èŠä»¶ãžã®æºæ ãä¿èšŒãããã®ã§ããªã ãšæèšãããŠããŸããäœãæ©å¯ããŒã¿ãšã¿ãªããã©ãä¿è·ãããã¯å©çšè
èªèº«ã倿ããèšå®ãèŠä»¶ãæºããããšããã¹ãã§ç¢ºèªããããšãæšå¥šãããŠããŸãã æ€åºã®ç¢ºåºŠã¯ minLikelihood ã§èª¿æŽããŸããå€ãé«ãèšå®ãããšèª€æ€ç¥ã¯æžããŸããããã®åã ãæ€åºæŒããå¢ãããšãããã¬ãŒããªãããããŸãããŸããæ€åºåšã¯ãã¿ãŒã³ã ãã§ãªãåšèŸºã®æèããã§ãã¯ãµã ãè©äŸ¡ããããã圢åŒã ã䌌ãããããŒããŒã¿ã¯æ€åºãããªãããšããããŸããåäœç¢ºèªã§ã¯ãæ¬çªã§æ±ãããŒã¿ã«è¿ãå€ã䜿çšããå¿
èŠããããŸãã åè : å¿åå - çµã¿èŸŒã¿ã® infoType æ€åºåš åè : äžèŽã®å¯èœæ§ åè : infoType ãš infoType æ€åºåš - ç¢ºå®æ§ãšãã¹ã æé Sensitive Data Protection ã¯ãåäœã§äœ¿çšããå ŽåãåŠçããããŒã¿éã«åºã¥ãåŸé課éã®ãµãŒãã¹ã§ããäžæ¹ Model Armor ã¯ãããã³ãããšã¬ã¹ãã³ã¹ã®ããŒã¯ã³æ°ã«åºã¥ã課éã§ãã Model Armor ã®æéããŒãžã«ã¯ãModel Armor å
ã§ Sensitive Data Protection ãæå¹ã«ããŠãè¿œå æéã¯çºçããªããšæèšãããŠããŸãããããã£ãŠ Advanced æ§æã§æ€æ»ãã³ãã¬ãŒããå¿ååãã³ãã¬ãŒãã飿ºãããŠãã課é㯠Model Armor ã®ããŒã¯ã³èª²éã®ã¿ã§ãSensitive Data Protection åŽã®æ€æ»ã»å€æã®æéã¯å¥éçºçããŸããã åè : Security Command Center pricing - Possible indirect charges associated with Model Armor åè : Sensitive Data Protection ã®æé å¿ååããããŒã¿ã®åèå¥ã«ã€ã㊠2026幎8æçŸåšãå
¬åŒããã¥ã¡ã³ãã«ã¯ãModel Armor ãå¿ååããããŒã¿ãåèå¥ïŒre-identificationïŒããæ©èœã«ã€ããŠã®èšèŒã¯ãããŸãããModel Armor ã¯å¿ååããçµæãã¬ã¹ãã³ã¹ãšããŠè¿ãã®ã¿ã§ãå
ã®å€ãžæ»ãçµè·¯ã¯æäŸãããŠããŸããã 確å®çæå·åããã©ãŒãããä¿ææå·åïŒFPEïŒã®ãããªå¯éãªå€ææ¹åŒã䜿ã£ãŠ LLM ã«æž¡ãåã«å¿ååããã¬ã¹ãã³ã¹åä¿¡åŸã«å
ã®å€ãžæ»ããšããã©ãŠã³ãããªãããæ§æããå Žåã¯ãSensitive Data Protection ã® content.reidentify ã¡ãœãããåŒã³åºãåŠçãèªåã§å®è£
ããå¿
èŠããããŸãã åè : Method: projects.locations.content.reidentify Sensitive Data Protection åäœãšã®éã æ©èœãšæš©éã®æ¯èŒ Sensitive Data Protection ã¯ãModel Armor ãä»ããã¢ããªã±ãŒã·ã§ã³ããçŽæ¥åŒã³åºãããšãã§ããŸããåããã³ãã¬ãŒãã䜿ã£ãŠããŠããModel Armor çµç±ãšåäœã§ã¯ãæ±ããããŒã¿ãæš©éã®æã¡æ¹ãç°ãªããŸãã èŠ³ç¹ Sensitive Data Protection åäœ Model Armor çµç±ïŒAdvanced æ§æïŒ åŒã³åºãã¡ãœãã content.inspect ã content.deidentify ã content.reidentify sanitizeUserPrompt ã sanitizeModelResponse æ±ããããŒã¿ ããã¹ããããŒãã«ãç»åãBigQuery ã Cloud Storage äžã®ããŒã¿ ããã³ãããšã¬ã¹ãã³ã¹ã®ããã¹ã å€æã®æå®æ¹æ³ infoType 倿ãšã¬ã³ãŒã倿 infoType 倿 åŒã³åºãåŽã®æš©é ã¢ããªã±ãŒã·ã§ã³èªèº«ã« DLP ãŠãŒã¶ãŒïŒ roles/dlp.user ïŒãå¿
èŠ ã¢ããªã±ãŒã·ã§ã³ã«ã¯ Model Armor ã®æš©éã®ã¿ æ©å¯ããŒã¿ä»¥å€ã®æ€æ» å¯Ÿè±¡å€ ããã³ããã€ã³ãžã§ã¯ã·ã§ã³ãæªæãã URL ã®æ€åºãªã©ãšåæã«è©äŸ¡ããã é©çšã®åŒ·å¶ ã¢ããªã±ãŒã·ã§ã³ãåŒã³åºããªããã°é©çšãããªã ãµãŒãã¹ã®çµ±åã«ãããã¢ããªã±ãŒã·ã§ã³ã®å®è£
ã«ãããé©çšã§ãã åè : Sensitive Data Protection ã®æŠèŠ Model Armor çµç±ã§äœ¿çšããå©ç¹ æ€æ»ãã³ãã¬ãŒããšå¿ååãã³ãã¬ãŒã㯠Sensitive Data Protection ã®ãªãœãŒã¹ãã®ãã®ã§ãããããäž¡è
ã§å
±æã§ããŸããBigQuery ã®ã¹ãã£ã³ã«äœ¿çšããŠããæ€æ»ãã³ãã¬ãŒããããã®ãŸãŸ Model Armor ããåç
§ãããšãã£ãæ§æãå¯èœã§ããæ€åºã«ãŒã«ãäžç®æã§ç®¡çããªãããLLM ã®å
¥åºåã«ãåãåºæºãé©çšã§ããç¹ããAdvanced æ§æã®å©ç¹ã§ãã éçšé¢ã§ã¯ãæ©å¯ããŒã¿ã®æ±ããã¢ããªã±ãŒã·ã§ã³ã®å®è£
ããåãé¢ããããšã倧ããªå·®ã§ããåäœã§äœ¿çšããå Žåãã¢ããªã±ãŒã·ã§ã³ãå¿ååãåŒã³åºããªããã°æ©å¯ããŒã¿ã¯ãã®ãŸãŸ LLM ã«æž¡ããŸããModel Armor ã§ã¯ãAgent Gateway ã Gemini Enterprise Agent PlatformïŒæ§ç§° Vertex AIïŒãšã®çµ±åã«ãããã¢ããªã±ãŒã·ã§ã³ã®å®è£
ã«ãããæ€æ»ãé©çšã§ããŸãã ãªã Advanced æ§æã§ã¯ãSensitive Data Protection ã®åŒã³åºã㯠Model Armor ã®ãµãŒãã¹ãšãŒãžã§ã³ãã代è¡ããŸãããã®ãããããã³ãããéä¿¡ããã¢ããªã±ãŒã·ã§ã³åŽã« Sensitive Data Protection ã®æš©éã¯äžèŠã§ããå¥ãããžã§ã¯ãã®ãã³ãã¬ãŒããåç
§ããå Žåã¯ããã®ãããžã§ã¯ãã§ãµãŒãã¹ãšãŒãžã§ã³ãã«æš©éãä»äžããŸãã åè : Model Armor ã®çµ±åã®æŠèŠ åè : ããã³ãããšã¬ã¹ãã³ã¹ããµãã¿ã€ãºãã - API ãæå¹ã«ãã Sensitive Data Protection ãçŽæ¥åŒã³åºãå Žé¢ äžæ¹ã§ãModel Armor ãæ±ããã®ã¯ LLM ã®å
¥åºåããã¹ãã«éãããŸããã¬ã³ãŒã倿ãã¹ãã¬ãŒãžäžã®ããŒã¿ã®ã¹ãã£ã³ãå¯éãªå€æã䜿ã£ãåèå¥ãå«ãåŠçã¯ãSensitive Data Protection ãçŽæ¥åŒã³åºãæ§æãå¿
èŠã§ããäž¡è
ã¯æä»ã§ã¯ãªããããåããã³ãã¬ãŒããå
±æããããã§ãçšéã«å¿ããŠäœ¿ãåããŸãã åœèšäºã§æ±ãç¯å² åœèšäºã§ã¯ããã®2ã€ã®ãµãŒãã¹ã®æ¥ç¶éšåã«çµã£ãŠè§£èª¬ããŸããAdvanced æ§æã®æå®æ¹æ³ãgcloud ã§ã®äœææé ããããŠå¿ååãããããã¹ããã©ã®ãããªåœ¢ã§è¿ãããæ±ããŸããæé ã¯ãã¹ãŠæ±äº¬ãªãŒãžã§ã³ïŒ asia-northeast1 ïŒã§å®è¡ããŸãã èšå®æé äºåæºå ã¯ããã«ãå¿
èŠãª API ãæå¹åããŸãã # Model Armor ãš Sensitive Data Protection ã® API ãæå¹å $ gcloud services enable modelarmor.googleapis.com dlp.googleapis.com --project =< ãããžã§ã¯ãID > åœèšäºã®æé ãå®è¡ãããŠãŒã¶ãŒã«ã¯ããããžã§ã¯ãã¬ãã«ã§ä»¥äžã®ããŒã«ãå¿
èŠã§ãã Model Armor 管çè
ïŒ roles/modelarmor.admin ïŒ DLP 管çè
ïŒ roles/dlp.admin ïŒ Model Armor ã¯ãªãŒãžã§ã³ãšã³ããã€ã³ãã䜿çšãããµãŒãã¹ã§ãããå
¬åŒããã¥ã¡ã³ãã§ã¯ gcloud ã䜿çšããéã«ãšã³ããã€ã³ãã®äžæžãèšå®ãå¿
èŠãšãããŠããŸãããã®èšå®ãããã« --location ã§æ±äº¬ãªãŒãžã§ã³ãæå®ããŠå®è¡ãããšã以äžã®ããã«æš©éãšã©ãŒãšãªããŸãã # ãšã³ããã€ã³ãäžæžããªãã§æ±äº¬ãªãŒãžã§ã³ã®ãã³ãã¬ãŒããäžèŠ§è¡šç€ºïŒãšã©ãŒã«ãªãïŒ $ gcloud model-armor templates list --location = asia-northeast1 --project =< ãããžã§ã¯ãID > ----- åºåäŸ ----- ERROR: ( gcloud.model-armor.templates.list ) PERMISSION_DENIED: Read access to project ' <ãããžã§ã¯ãID> ' was denied. This command is authenticated as < ã¢ã«ãŠã³ã > which is the active account specified by the [ core/account ] property ã¡ãã»ãŒãžã¯æš©éã®äžè¶³ã瀺ããŠããŸãããå®éã®åå ã¯éä¿¡å
ã®ãšã³ããã€ã³ãã§ãã --log-http ãä»ããŠå®è¡ãããšã --location ã®æå®ããã¹ã«ã¯åæ ãããäžæ¹ã§ããã¹ãå㯠US ã®ãŸãŸã§ããããšã確èªã§ããŸãã # HTTP ãã°ãåºåããŠéä¿¡å
ãã¹ãåãç¢ºèª $ gcloud model-armor templates list --location = asia-northeast1 --project =< ãããžã§ã¯ãID > --log-http ----- åºåäŸ ----- uri: https://modelarmor.us.rep.googleapis.com/v1/projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/templates? alt =json status: 403 以äžã®ããã« gcloud ã®èšå®ã§ãšã³ããã€ã³ããäžæžããããšãæ±äº¬ãªãŒãžã§ã³ã®ãã³ãã¬ãŒããæäœã§ããŸãã # Model Armor ã® API ãšã³ããã€ã³ããæ±äº¬ãªãŒãžã§ã³ã«äžæžã $ gcloud config set api_endpoint_overrides/modelarmor https://modelarmor.asia-northeast1.rep.googleapis.com/ ãã®èšå®ã¯ gcloud å
šäœã«é©çšãããŸããä»ã®ãã±ãŒã·ã§ã³ã® Model Armor ãã³ãã¬ãŒããæäœããéã¯ã gcloud config unset api_endpoint_overrides/modelarmor ã§è§£é€ããŠãã ããã åè : ãã³ãã¬ãŒãã®ç®¡ç - gcloud CLI ã䜿çšã㊠API ãšã³ããã€ã³ãã®ãªãŒããŒã©ã€ããèšå®ãã åè : ããŒã¿æåšå°ãšãšã³ããã€ã³ã æ€æ»ãã³ãã¬ãŒãã®äœæ 2026幎8æçŸåšãSensitive Data Protection ã«ã¯ gcloud ã®ã³ãã³ãã°ã«ãŒããæäŸãããŠããªãããããã³ãã¬ãŒãã®äœæã«ã¯ REST API ã䜿çšããŸãã以äžã®å
容ã§ãªã¯ãšã¹ãæ¬æã®ãã¡ã€ã«ïŒ inspect-template.json ïŒãäœæããŸãã { " templateId ": " jp-pii-inspect ", " inspectTemplate ": { " displayName ": " æ¥æ¬ã®å人æ
å ±ã®æ€æ» ", " description ": " æ°åãã¡ãŒã«ã¢ãã¬ã¹ãé»è©±çªå·ããã€ãã³ããŒãæ€åºãã ", " inspectConfig ": { " infoTypes ": [ { " name ": " PERSON_NAME " } , { " name ": " EMAIL_ADDRESS " } , { " name ": " PHONE_NUMBER " } , { " name ": " JAPAN_INDIVIDUAL_NUMBER " } ] , " minLikelihood ": " POSSIBLE ", " includeQuote ": true } } } JAPAN_INDIVIDUAL_NUMBER ã¯ãã€ãã³ããŒïŒå人çªå·ïŒã®æ€åºåšã§ãããã®ããã«ãAdvanced æ§æã§ã¯æ¥æ¬åºæã® infoType ãæ€åºå¯Ÿè±¡ã«æå®ã§ããŸãã ãã³ãã¬ãŒããäœæããŸããããã§éèŠãªã®ã¯ã ãšã³ããã€ã³ãã«ãã±ãŒã·ã§ã³ãå«ãã ããšã§ããå
¬åŒããã¥ã¡ã³ãã«èšèŒãããŠãããšã³ããã€ã³ãã¯ãã±ãŒã·ã§ã³ãå«ãŸãªã圢åŒã§ããããã®ãŸãŸå®è¡ãããšãã³ãã¬ãŒã㯠global ã«äœæãããŸãã # æ±äº¬ãªãŒãžã§ã³ã«æ€æ»ãã³ãã¬ãŒããäœæ $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <ãããžã§ã¯ãID> " \ -H " Content-Type: application/json " \ -d @inspect-template.json \ " https://dlp.googleapis.com/v2/projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/inspectTemplates " ----- åºåäŸ ----- { " name " : " projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/inspectTemplates/jp-pii-inspect " , " displayName " : " æ¥æ¬ã®å人æ
å ±ã®æ€æ» " , " description " : " æ°åãã¡ãŒã«ã¢ãã¬ã¹ãé»è©±çªå·ããã€ãã³ããŒãæ€åºãã " , " createTime " : " 2026-08-22T14:01:23.172799Z " , " updateTime " : " 2026-08-22T14:01:23.172799Z " , " inspectConfig " : { " infoTypes " : [ { " name " : " PERSON_NAME " } , { " name " : " EMAIL_ADDRESS " } , { " name " : " PHONE_NUMBER " } , { " name " : " JAPAN_INDIVIDUAL_NUMBER " } ] , " minLikelihood " : " POSSIBLE " , " limits " : {} , " includeQuote " : true } } ã¬ã¹ãã³ã¹ã® name ã«ãã±ãŒã·ã§ã³ïŒ asia-northeast1 ïŒãå«ãŸããŠããããšã確èªããŸãã äœæããæ€æ»ãã³ãã¬ãŒãïŒã³ã³ãœãŒã«ïŒ åè : æ©å¯ããŒã¿ã®ä¿è·ã®æ€æ»ãã³ãã¬ãŒãã®äœæ å¿ååãã³ãã¬ãŒãã®äœæ ç¶ããŠå¿ååãã³ãã¬ãŒããäœæããŸããåœèšäºã§ã¯ãæ€åºããå€ã infoType åã«çœ®ãæãã replaceWithInfoTypeConfig ã䜿çšããŸãã倿åŸã®ããã¹ããèŠããšãã«ãã©ã®äœçœ®ã«ã©ã®çš®é¡ã®æ©å¯ããŒã¿ããã£ãããèªã¿åããããã§ãã 以äžã®å
容ã§ãªã¯ãšã¹ãæ¬æã®ãã¡ã€ã«ïŒ deidentify-template.json ïŒãäœæããŸãã { " templateId ": " jp-pii-deidentify ", " deidentifyTemplate ": { " displayName ": " æ¥æ¬ã®å人æ
å ±ã®å¿åå ", " description ": " æ€åºå€ã infoType åã«çœ®ãæãã ", " deidentifyConfig ": { " infoTypeTransformations ": { " transformations ": [ { " infoTypes ": [ { " name ": " PERSON_NAME " } , { " name ": " EMAIL_ADDRESS " } , { " name ": " PHONE_NUMBER " } , { " name ": " JAPAN_INDIVIDUAL_NUMBER " } ] , " primitiveTransformation ": { " replaceWithInfoTypeConfig ": {} } } ] } } } } transformations ã¯é
åã§ãããèŠçŽ ããšã«å¯Ÿè±¡ã® infoType ãšå€ææ¹åŒã®çµã¿åãããæå®ããŸããåœèšäºã§ã¯4ã€ã® infoType ããŸãšããŠ1ã€ã®èŠçŽ ã«ããŠããŸãããèŠçŽ ãåããã°ãæ°å㯠infoType åãžã®çœ®æïŒ replaceWithInfoTypeConfig ïŒãã¡ãŒã«ã¢ãã¬ã¹ã¯ * ã«ãããã¹ãã³ã°ïŒ characterMaskConfig ïŒã®ããã«ãinfoType ããšã«ç°ãªã倿æ¹åŒã䜿ãåããããšãã§ããŸãã ããã§æå®ãã infoType ã¯ãæ€æ»ãã³ãã¬ãŒãåŽã«ããã¹ãŠå«ãŸããŠããå¿
èŠããããŸã ãæ€æ»ãã³ãã¬ãŒãã§æ€åºããŠããªã infoType ãå¿ååãã³ãã¬ãŒãã«æžããŠãããã®å€ã¯å€æãããŸããã # æ±äº¬ãªãŒãžã§ã³ã«å¿ååãã³ãã¬ãŒããäœæ $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <ãããžã§ã¯ãID> " \ -H " Content-Type: application/json " \ -d @deidentify-template.json \ " https://dlp.googleapis.com/v2/projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/deidentifyTemplates " ----- åºåäŸ ----- { " name " : " projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify " , " displayName " : " æ¥æ¬ã®å人æ
å ±ã®å¿åå " , " description " : " æ€åºå€ã infoType åã«çœ®ãæãã " , " createTime " : " 2026-08-22T14:20:22.343392Z " , " updateTime " : " 2026-08-22T14:20:22.343392Z " , " deidentifyConfig " : { " infoTypeTransformations " : { " transformations " : [ { " infoTypes " : [ { " name " : " PERSON_NAME " } , { " name " : " EMAIL_ADDRESS " } , { " name " : " PHONE_NUMBER " } , { " name " : " JAPAN_INDIVIDUAL_NUMBER " } ] , " primitiveTransformation " : { " replaceWithInfoTypeConfig " : {} } } ] } } } äœæããå¿ååãã³ãã¬ãŒãïŒã³ã³ãœãŒã«ïŒ åè : æ©å¯ããŒã¿ã®ä¿è·ã®å¿ååãã³ãã¬ãŒãã®äœæ Model Armor ãã³ãã¬ãŒãã®äœæ äœæãã2ã€ã®ãã³ãã¬ãŒããåç
§ãã Model Armor ãã³ãã¬ãŒãããgcloud ã§äœæããŸããAdvanced æ§æã¯ --advanced-config-inspect-template ãš --advanced-config-deidentify-template ã®2ã€ã®ãã©ã°ã§ããããã®ãã³ãã¬ãŒãïŒæ€æ»ã»å¿ååïŒãæå®ããŸãã # SDP ãã³ãã¬ãŒããåç
§ãã Advanced æ§æã® Model Armor ãã³ãã¬ãŒããäœæ $ gcloud model-armor templates create ma-jp-pii \ --project =< ãããžã§ã¯ãID > \ --location = asia-northeast1 \ --advanced-config-inspect-template = projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/inspectTemplates/jp-pii-inspect \ --advanced-config-deidentify-template = projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify ----- åºåäŸ ----- Created template [ ma-jp-pii ] . Basic æ§æã䜿çšããå Žåã¯ã代ããã« --basic-config-filter-enforcement=enabled ãæå®ããŸããåè¿°ã®ãšããäž¡è
ã¯æä»ã§ãããããåæã«ã¯æå®ã§ããŸããã äœæããããã³ãã¬ãŒãã確èªããŸãã # äœæãã Model Armor ãã³ãã¬ãŒãã®å
容ã衚瀺 $ gcloud model-armor templates describe ma-jp-pii --location = asia-northeast1 --project =< ãããžã§ã¯ãID > ----- åºåäŸ ----- createTime: ' 2026-08-22T14:32:41.063443078Z ' filterConfig: sdpSettings: advancedConfig: deidentifyTemplate: projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify inspectTemplate: projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/inspectTemplates/jp-pii-inspect name: projects/ < ãããžã§ã¯ãID > /locations/asia-northeast1/templates/ma-jp-pii templateMetadata: dataResidencyCompliant: true updateTime: ' 2026-08-22T14:32:41.308232521Z ' äœæãã Model Armor ãã³ãã¬ãŒãïŒã³ã³ãœãŒã«ïŒ Sensitive Data Protection ã®ãã³ãã¬ãŒãã Model Armor ãã³ãã¬ãŒããšç°ãªããã±ãŒã·ã§ã³ã«ããå Žåããã³ãã¬ãŒãã®äœææã«ä»¥äžã®ãšã©ãŒãšãªããŸãã ----- åºåäŸ ----- ERROR: ( gcloud.model-armor.templates.create ) INVALID_ARGUMENT: Please check the SDP templates. Ensure that SDP templates are valid and present in the same location as the Model Armor templates. The format of the inspect template name should be ' projects/*/locations/*/inspectTemplates/* ' and the format of the deidentify template name should be ' projects/*/locations/*/deidentifyTemplates/* ' . ã¡ãã»ãŒãžã¯ãã³ãã¬ãŒãåã®æžåŒã«ã€ããŠè¿°ã¹ãŠããŸãããæžåŒã projects/*/locations/*/inspectTemplates/* ã®åœ¢ã«ä¿®æ£ããŠãããã±ãŒã·ã§ã³ãäžèŽããŠããªããã°åããšã©ãŒãè¿ããŸããSensitive Data Protection ã®ãã³ãã¬ãŒãã Model Armor ãã³ãã¬ãŒããšç°ãªããã±ãŒã·ã§ã³ã«ããå Žåã¯ãåããã±ãŒã·ã§ã³ïŒåœèšäºã§ã¯æ±äº¬ãªãŒãžã§ã³ïŒã«äœãçŽããŠãã ãããç¹ã«ãåè¿°ã®ãšãããã±ãŒã·ã§ã³ãå«ãŸãªããšã³ããã€ã³ãã§äœæãããš global ã«äœããããããæ³šæãå¿
èŠã§ãã åè : ãã³ãã¬ãŒãã®äœæãšç®¡ç ãã£ã«ã¿ããŒãžã§ã³ã®æå® gcloud ã§äœæããçŽåŸã® Model Armor ãã³ãã¬ãŒãã¯ããã£ã«ã¿ããŒãžã§ã³ v1 ã§åäœããŸããv1 ã¯2026幎9æ1æ¥ã« LEGACY ãžç§»è¡ããããããã®ç¶æ
ã§ãµãã¿ã€ãºãå®è¡ãããšãã¬ã¹ãã³ã¹ã® sanitizationMetadata.filterVersionConfig ã«ä»¥äžã®èŠåãå«ãŸããŸãã { " messageItems ": [ { " messageType ": " WARNING ", " message ": " WARNING: This filter version (V1) is in STABLE status and will be moved to LEGACY on 09-01-2026. Please migrate your template to the STABLE or LATEST version to ensure continued protection. " } ] } ãã£ã«ã¿ããŒãžã§ã³ã¯ templateMetadata.filterVersionSelector ã§æå®ããŸããã2026幎8æçŸåšã gcloud model-armor templates create ã«ã¯å¯Ÿå¿ãããã©ã°ããããŸããïŒ gcloud beta model-armor ãåæ§ïŒãæç€ºçã«èšå®ããã«ã¯ãREST API ã® PATCHãGoogle Cloud ã³ã³ãœãŒã«ãTerraform ã®ããããã䜿çšããŸããåœèšäºã§ã¯ãåäœç¢ºèªã«é²ãåã« REST API ã§ FILTER_VERSION_ALIAS_LATEST ãæå®ãã2026幎8æçŸåšã®ææ°ã§ãã v3 ã«åãæ¿ããŸãã # ãã£ã«ã¿ããŒãžã§ã³ãææ°ïŒLATESTïŒã«èšå® $ curl -s -X PATCH \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <ãããžã§ã¯ãID> " \ -H " Content-Type: application/json " \ -d ' {"templateMetadata": {"filterVersionSelector": {"alias": "FILTER_VERSION_ALIAS_LATEST"}}} ' \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/templates/ma-jp-pii?updateMask=templateMetadata " LATEST ãšã€ãªã¢ã¹ã¯ãæ°ãããã£ã«ã¿ããŒãžã§ã³ããªãªãŒã¹ããããšèªåã§è¿œåŸããŸããæ¬çªç°å¢ã§æåãåºå®ãããå Žåã¯ã alias ã« FILTER_VERSION_ALIAS_STABLE ãæå®ãããã version ã§ç¹å®ã®ããŒãžã§ã³ã«ãã³çãããããšãæ€èšããŠãã ããã Model Armor ãã³ãã¬ãŒãã®ããŒãžã§ã³ããææ°ãã«ãªã£ãŠãã åäœç¢ºèª sanitizeUserPrompt ã®å®è¡ äœæãã Model Armor ãã³ãã¬ãŒãã«å¯ŸããŠã sanitizeUserPrompt ã¡ãœããã§ããã³ãããæ€æ»ããŸãã以äžã®å
容ã§ãªã¯ãšã¹ãæ¬æã®ãã¡ã€ã«ïŒ prompt.json ïŒãäœæããŸãã { " userPromptData ": { " text ": " å±±ç°å€ªéããã®é£çµ¡å
㯠taro@example.comãé»è©±çªå·ã¯ 090-1234-5678 ã§ãããã€ãã³ããŒã¯ 123456789018 ã§ãã " } } ããã¹ãäžã®ãã€ãã³ããŒã¯ããã§ãã¯ãã£ãžãããæå¹ãªæ¶ç©ºã®å€ã§ãã JAPAN_INDIVIDUAL_NUMBER æ€åºåšã¯ãã§ãã¯ãã£ãžãããæ€èšŒãããããæ¡æ°ãåãããã ãã®å€ã§ã¯æ€åºãããŸãããåäœã詊ãéã¯æ³šæããŠãã ããã # Advanced æ§æã®ãã³ãã¬ãŒãã§ãŠãŒã¶ãŒããã³ããããµãã¿ã€ãº $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <ãããžã§ã¯ãID> " \ -H " Content-Type: application/json " \ -d @prompt.json \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/templates/ma-jp-pii:sanitizeUserPrompt " ----- åºåäŸ ----- { " sanitizationResult " : { " filterMatchState " : " MATCH_FOUND " , " filterResults " : { " sdp " : { " sdpFilterResult " : { " deidentifyResult " : { " executionState " : " EXECUTION_SUCCESS " , " matchState " : " MATCH_FOUND " , " data " : { " text " : " [PERSON_NAME]ã®é£çµ¡å
㯠[EMAIL_ADDRESS]ãé»è©±çªå·ã¯ [PHONE_NUMBER] ã§ãããã€ãã³ããŒã¯ [JAPAN_INDIVIDUAL_NUMBER] ã§ãã " } , " transformedBytes " : " 59 " , " infoTypes " : [ " EMAIL_ADDRESS " , " JAPAN_INDIVIDUAL_NUMBER " , " PERSON_NAME " , " PHONE_NUMBER " ] } } } } , " sanitizationMetadata " : { " filterVersionConfig " : { " filterVersion " : " v3 " , " filterVersionAlias " : " FILTER_VERSION_ALIAS_LATEST " , " releaseDate " : { " year " : 2026 , " month " : 5 , " day " : 25 } , " projectedDeprecationDate " : {} , " messageItems " : [ { " messageType " : " INFO " , " message " : " NOTE: This filter version (V3) is in LATEST status and will be moved to STABLE on 09-01-2026. " } ] } } , " invocationResult " : " SUCCESS " } } ã¬ã¹ãã³ã¹ã®èªã¿æ¹ ã¬ã¹ãã³ã¹ã®èŠç¹ãäžããé ã«èŠãŠãããŸãããµãã¿ã€ãºã®çµæã瀺ãéšåã ãã以äžã«æç²ããŠããŸãã { " sanitizationResult ": { " filterMatchState ": " MATCH_FOUND ", " filterResults ": { " sdp ": { " sdpFilterResult ": { " deidentifyResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", " data ": { " text ": " [PERSON_NAME]ã®é£çµ¡å
㯠[EMAIL_ADDRESS]ãé»è©±çªå·ã¯ [PHONE_NUMBER] ã§ãããã€ãã³ããŒã¯ [JAPAN_INDIVIDUAL_NUMBER] ã§ãã " } , " transformedBytes ": " 59 ", " infoTypes ": [ " EMAIL_ADDRESS ", " JAPAN_INDIVIDUAL_NUMBER ", " PERSON_NAME ", " PHONE_NUMBER " ] } } } } , // çç¥ " invocationResult ": " SUCCESS " } } æäžäœã® filterMatchState ã¯ããã³ãã¬ãŒãã§æå¹ã«ãããã£ã«ã¿å
šäœã®ãããç¶æ
ã§ããä»å㯠Sensitive Data Protection ãã£ã«ã¿ã®ã¿ãæå¹ã«ããŠãããããæ©å¯ããŒã¿ãæ€åºãããããšã MATCH_FOUND ã瀺ããŠããŸããæ€åºãããªãã£ãå Žå㯠NO_MATCH_FOUND ã§ãã // æ€åºããããã£ã«ã¿å
šäœã®ãããç¶æ
" filterMatchState ": " MATCH_FOUND ", ãã£ã«ã¿ããšã®çµæã¯ filterResults ã«æ ŒçŽãããŸããSensitive Data Protection ãã£ã«ã¿ã®çµæã¯ sdp.sdpFilterResult ã§ãããAdvanced æ§æã§å¿ååãã³ãã¬ãŒããæå®ããŠããå Žåã¯ããã®äžã® deidentifyResult ã«å¿ååã®çµæãå
¥ããŸãã executionState ã¯å¿åååŠçèªäœãæ£åžžã«å®è¡ãããããã matchState ã¯æ€åºã®æç¡ã瀺ããŸãã executionState ã EXECUTION_SUCCESS 以å€ã®å Žåã¯ããã¹ããå¿ååãããŠããªãããã matchState ã MATCH_FOUND ã§ãã£ãŠã泚æãå¿
èŠã§ãã // å¿åååŠçã®å®è¡ç¶æ
ãšæ€åºã®æç¡ " deidentifyResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", å¿åååŸã®ããã¹ã㯠data.text ã«æ ŒçŽãããŸããæ€åºããã4çš®é¡ã®å€ããã¹ãŠ infoType åã«çœ®ãæãã£ãŠãããLLM ãžæž¡ãããã¹ããšããŠã¯ãã®å€ã䜿çšããŸããæ°åã®ãå±±ç°å€ªéãããã¯ãæ¬ç§°ãå«ããç¯å²ã [PERSON_NAME] ã«çœ®æãããŠããŸãã replaceWithInfoTypeConfig ã§ã¯æ€åºåšãå€å®ããç¯å²ããã®ãŸãŸçœ®æå¯Ÿè±¡ã«ãªãããã倿åŸã®ããã¹ããã©ããªããã¯å®éã«ç¢ºèªããããšãæšå¥šããŸãã // å¿åååŸã®ããã¹ã " data ": { " text ": " [PERSON_NAME]ã®é£çµ¡å
㯠[EMAIL_ADDRESS]ãé»è©±çªå·ã¯ [PHONE_NUMBER] ã§ãããã€ãã³ããŒã¯ [JAPAN_INDIVIDUAL_NUMBER] ã§ãã " } , infoTypes ã«ã¯æ€åºããã infoType ã®äžèЧãã transformedBytes ã«ã¯å€æããããã€ãæ°ãå
¥ããŸãã infoTypes ãèŠãã°ãã©ã®çš®é¡ã®æ©å¯ããŒã¿ãå«ãŸããŠããããããã¹ããè§£æããã«å€å®ã§ãããããããã€ãã³ããŒãå«ãŸããŠããããªã¯ãšã¹ããäžæãããã®ãããªåå²ã«äœ¿çšã§ããŸãã // 倿ããããã€ãæ°ãšãæ€åºããã infoType ã®äžèЧ " transformedBytes ": " 59 ", " infoTypes ": [ " EMAIL_ADDRESS ", " JAPAN_INDIVIDUAL_NUMBER ", " PERSON_NAME ", " PHONE_NUMBER " ] ãªããåœèšäºã§ã¯åäœç¢ºèªã®ããã« REST API ã§ Model Armor ãçŽæ¥åŒã³åºããŠããŸãããã®å ŽåãModel Armor ãè¡ãã®ã¯æ€æ»ãšå¿ååã®çµæãè¿ããšãããŸã§ã§ãããå¿åååŸã®ããã¹ãã LLM ãžæž¡ãã®ãããªã¯ãšã¹ããäžæããã®ãã¯ãã¬ã¹ãã³ã¹ãåãåã£ãã¢ããªã±ãŒã·ã§ã³åŽã§å®è£
ããå¿
èŠããããŸãã å®éã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãGemini Enterprise Agent Platform ã ApigeeãAgent Gateway ãªã©ã®çµ±åã䜿çšããããšã§ãã¢ããªã±ãŒã·ã§ã³åŽã®å®è£
ãªãã«ããã©ãã£ãã¯ã®çµè·¯äžã§ Model Armor ã«ããæ€æ»ãšãããã¯ãè¡ãããšãã§ããŸãã åè : Model Armor ã®çµ±åã®æŠèŠ Basic æ§æãšã®æ¯èŒ åãããã¹ãã Basic æ§æã®ãã³ãã¬ãŒãã§æ€æ»ããçµæãæ¯èŒããŸããæ¯èŒçšã®ãã³ãã¬ãŒããäœæããŸãã # æ¯èŒçšã® Basic æ§æã® Model Armor ãã³ãã¬ãŒããäœæ $ gcloud model-armor templates create ma-basic-compare \ --project =< ãããžã§ã¯ãID > \ --location = asia-northeast1 \ --basic-config-filter-enforcement = enabled ----- åºåäŸ ----- Created template [ ma-basic-compare ] . å
ã»ã©ãšåã prompt.json ã䜿çšããŠããã®ãã³ãã¬ãŒãã«å¯ŸããŠãµãã¿ã€ãºãå®è¡ããŸãã # Basic æ§æã®ãã³ãã¬ãŒãã§ãŠãŒã¶ãŒããã³ããããµãã¿ã€ãº $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <ãããžã§ã¯ãID> " \ -H " Content-Type: application/json " \ -d @prompt.json \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<ãããžã§ã¯ãID>/locations/asia-northeast1/templates/ma-basic-compare:sanitizeUserPrompt " ----- åºåäŸ ----- { " sanitizationResult " : { " filterMatchState " : " NO_MATCH_FOUND " , " filterResults " : { " sdp " : { " sdpFilterResult " : { " inspectResult " : { " executionState " : " EXECUTION_SUCCESS " , " matchState " : " NO_MATCH_FOUND " } } } } , // çç¥ " invocationResult " : " SUCCESS " } } æ°åãã¡ãŒã«ã¢ãã¬ã¹ãé»è©±çªå·ããã€ãã³ããŒã®ããããæ€åºãããã NO_MATCH_FOUND ãšãªããŸãããBasic æ§æã®åºå® infoType ã«æ¥æ¬ã®å人æ
å ±ã察象ãšããæ€åºåšãå«ãŸããŠããªãããã§ãã ãŸãã¬ã¹ãã³ã¹ã«å«ãŸããã®ã¯ inspectResult ã®ã¿ã§ã deidentifyResult èªäœãè¿ã£ãŠããŸãããBasic æ§æãæ€æ»ã®ã¿ããµããŒãããå¿ååãè¡ããªãããšããã¬ã¹ãã³ã¹ã®æ§é ã«ã衚ããŠããŸããæ¥æ¬ã®å人æ
å ±ãæ±ã AI ã¢ããªã±ãŒã·ã§ã³ã§æ©å¯ããŒã¿ä¿è·ãã£ã«ã¿ã䜿çšããå Žåã¯ãAdvanced æ§æãéžæããããã§ãæ€åºå¯Ÿè±¡ã® infoType ãæ€æ»ãã³ãã¬ãŒãã§å®çŸ©ããŠãã ããã åè : Model Armor ã®æŠèŠ - Sensitive Data Protection äœã
æš é§¿å€ª (èšäºäžèЧ) ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš ã¯ã©ãŠããšã³ãžãã¢ãªã³ã°1課 åæµ·éåšäœ 倧åŠé¢ãŸã§ç€ŸäŒå¿çåŠãå°æ»ããAI ã«èå³ãæã¡ IT æ¥çãžã2022幎6æã« G-gen ã«ãžã§ã€ã³ãGoogle Cloud Partner Top Engineer ã«éžåºïŒ2024 / 2025 Fellow / 2026ïŒã奜ã㪠Google Cloud ãããã¯ã㯠Cloud Runã è¶£å³ã¯ã³ãŒããŒãå°èª¬ïŒSFããã¹ããªïŒãã«ã©ãªã±ãªã©ãæè¿ã¯æ³åŸã®å匷ã«ãç®èŠãã2çŽç¥ç財ç£ç®¡çæèœå£«ãååŸãæè¿ã¯å人æ
å ±ä¿è·æ³ãå匷äžã Follow @sasashun0805