ãã®ããã¥ã¡ã³ãã§ã¯ãApigee API 管çãšæ¬¡ã® Google Cloud ãããã¯ãã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãš API ãä¿è·ãããã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
ãã®ããã¥ã¡ã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç®¡çããå®å šæ§ãã¹ã±ãŒã©ããªãã£ãããã©ãŒãã³ã¹ã«åªãã API ã®å ¬éãè¡ããAPI ã¢ãŒããã¯ããã»ãã¥ãªã㣠ã¢ãŒããã¯ãããšã³ãžãã¢ãªã³ã° ãªãŒãã察象ãšããŠäœæãããŸããã
ãã®ããã¥ã¡ã³ãã§ã¯ãäžé£ã®ãµã³ãã« ã¢ãŒããã¯ãã£ã䜿çšããŠãApigee API Management ã®äœ¿çšã«é¢ãããã¹ã ãã©ã¯ãã£ã¹ãæç€ºããŸããããã«ããŠã§ãã¢ããªãš API ã®ä¿è·ïŒWAAPïŒã䜿çšããããã®ãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠã説æããŸããWAAP ã¯ãã¢ããªã±ãŒã·ã§ã³ã API ã®ä¿è·ã«åœ¹ç«ã€å æ¬çãªã»ãã¥ãªã㣠ãœãªã¥ãŒã·ã§ã³ã§ãã
ãã®ããã¥ã¡ã³ãã¯ããããã¯ãŒãã³ã°ãAPIãGoogle Cloudã«ç²ŸéããŠããããšãåæãšããŠããŸãã
Apigee API Management
Apigee 㯠API ãéçºããã³ç®¡çããããã®ãã©ãããã©ãŒã ã§ãããµãŒãã¹ã«ãããã·ã¬ã€ã€ã远å ããããšã§ãApigee ã¯ãããã¯ãšã³ã ãµãŒãã¹ API ã®ä¿è·ã«åœ¹ç«ã€æœè±¡åãŸãã¯ãã¡ãµãŒããæäŸããŸãã
ãŠãŒã¶ãŒã¯ OAuth 2.0 ãšèš±å¯ãªã¹ãç»é²æžã¿ã® IP ã¢ãã¬ã¹ç¯å²ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãæäœã§ããŸããæ¬¡ã®å³ã«ç€ºãããã«ããŠãŒã¶ãŒã¯ã¢ããªã±ãŒã·ã§ã³ãæäœã§ããããŒã¿ãšãµãŒãã¹ã¯åæ¹åã®ãããŒã§å ¬éãããŸãã
ã»ãã¥ãªã㣠ãã€ã³ãã¯æ¬¡ã®ãšããã§ãã
- ãŠãŒã¶ãŒ:
- OAuth 2.0
- IP ã¢ãã¬ã¹ ã¢ã¯ã»ã¹å¶åŸ¡
- ã¢ããªã±ãŒã·ã§ã³
- API ããŒ
- OAuth 2.0
- TLS
- ããããããŒãšããŒãããŒ
- SSO
- RBAC
- API
- OAuth 2.0
- OpenID Connect
- å²ãåœãŠ
- Spike Arrest
- è åšããã®ä¿è·
- API ããŒã
- IAM RBAC
- 飿ºããžãã¯
- ããŒã¿ ãã¹ãã³ã°
- ç£æ»ãã°
- ããã¯ãšã³ã
- ãã©ã€ããŒã ãããã¯ãŒã¯
- çžäº TLS
- IP ã¢ãã¬ã¹ ã¢ã¯ã»ã¹å¶åŸ¡
äžã®å³ã«ç€ºãããã«ãTransport Layer SecurityïŒTLSïŒãåãã API ããŒã OAuth 2.0 ãªã©ã®ããŸããŸãªã»ãã¥ãªã㣠ã¡ã«ããºã ãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããŸããAPI ã¬ã€ã€ã®ããã¯ãšã³ãã«å¯ŸããŠãã¬ãŒãå¶éãè åšä¿è·ããªã·ãŒã®è¿œå ãçžäº TLS ã®æ§æãã§ããŸãã
Apigee ãã©ãããã©ãŒã å ã§ API ããŒã ã®ã¢ã¯ã»ã¹ç®¡çã容æã«ããããã«ãApigee ã¯ããŒã«ããŒã¹ ã¢ã¯ã»ã¹å¶åŸ¡ïŒRBACïŒãšé£æºãã°ã€ã³ãåããŠããŸãã
API ãä¿è·ããããã«ãApigee ã®ããã©ã«ã ããªã·ãŒã䜿çšããããšãããããããŸããããªã·ãŒã¯æ¬¡ã®ãšããã§ãã
- ãã©ãã£ãã¯ç®¡ç: ãã£ãã·ã¥ã®æ§æãå²ãåœãŠã®å¶åŸ¡ããã©ãã£ãã¯æ¥å¢ã®åœ±é¿ã®è»œæžãAPI ãã©ãã£ãã¯ã®å¶åŸ¡ãã§ããŸãã
- ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è·: ãªã¯ãšã¹ã ãã€ããŒãã®æ€æ»ãšåŠ¥åœæ§ç¢ºèªãè¡ããæªæã®ããæ»æè ããããã¯ãšã³ããä¿è·ã§ããŸãã
- ã»ãã¥ãªãã£: API ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããã®ã«åœ¹ç«ã¡ãŸãã
ãã®ããªã·ãŒã®ãã¡ 1 ã€ä»¥äžããããã·ã¬ã€ã€ã«æ¥ç¶ã§ããŸããæ¬¡ã®è¡šã¯ãããªã·ãŒã¿ã€ãå¥ã«åé¡ããããåããªã·ãŒã®ã»ãã¥ãªã㣠ãŠãŒã¹ã±ãŒã¹ã瀺ããŠããŸãã
ããªã·ãŒã¿ã€ã | ããªã·ãŒå | ã»ãã¥ãªã㣠ãŠãŒã¹ã±ãŒã¹ |
---|---|---|
ãã©ãã£ãã¯ç®¡ç | SpikeArrest ããªã·ãŒ | ããã¯ãšã³ãã«éä¿¡ããããªã¯ãšã¹ãæ°ã«ã¬ãŒãå¶éãé©çšããŸãã |
ãã©ãã£ãã¯ç®¡ç | å²ãåœãŠããªã·ãŒ | çµç¹ãäžè¬ãŠãŒã¶ãŒããšã«å²ãåœãŠïŒå®è¡ããã API åŒã³åºãã®æ°ïŒãé©çšã§ããããã«ãªããŸãã |
ãã©ãã£ãã¯ç®¡ç | ResponseCache ããªã·ãŒ | ã¬ã¹ãã³ã¹ããã£ãã·ã¥ã«ä¿åããŠãããã¯ãšã³ããžã®ãªã¯ãšã¹ãæ°ãæžãããŸãã |
ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è· | OASValidation ããªã·ãŒ | OpenAPI 3.0 仿§ïŒJSON ãŸã㯠YAMLïŒã«å¯Ÿããåä¿¡ãªã¯ãšã¹ããŸãã¯ã¬ã¹ãã³ã¹ ã¡ãã»ãŒãžã®åŠ¥åœæ§ç¢ºèªãè¡ããŸãã |
ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è· | SOAPMessageValidation ããªã·ãŒ | éžæããã¹ããŒãã«å¯Ÿãã XML ã¡ãã»ãŒãžã®åŠ¥åœæ§ç¢ºèªãè¡ããŸããWSDL ã«å¯Ÿãã SOAP ã¡ãã»ãŒãžã®åŠ¥åœæ§ç¢ºèªãè¡ããJSON ã¡ãã»ãŒãžãš XML ã¡ãã»ãŒãžã®åœ¢åŒãæ£ãããã©ããã倿ããŸãã |
ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è· | JSONThreatProtection ããªã·ãŒ | é åãæååãªã©ã® JSON æ§é ãå¶éããããšã§ãã³ã³ãã³ã ã¬ãã«ã®æ»æã®ãªã¹ã¯ãäœæžããã®ã«åœ¹ç«ã¡ãŸãã |
ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è· | XMLThreatProtection ããªã·ãŒ | ã¡ãã»ãŒãžã®å 容ãè©äŸ¡ããã¡ãã»ãŒãžã«ç Žæãäžé©åãªåœ¢åŒãå«ãŸããŠããªãããè§£æåã«æ€åºããããšã§ãXML ã®è匱æ§ãžã®å¯ŸåŠã𿻿ãªã¹ã¯ã®äœæžããµããŒãããŸãã |
ã¡ãã»ãŒãž ã¬ãã«ã®ä¿è· | RegularExpressionProtection ããªã·ãŒ | äºåå®çŸ©æžã¿ã®æ£èŠè¡šçŸã«ç §ãããŠã³ã³ãã³ããè©äŸ¡ããåŒã true ã®å Žåã¯æåŠããŸãã |
ã»ãã¥ãªã㣠| BasicAuthentication ããªã·ãŒ | Base64 ã§ãŠãŒã¶ãŒèªèšŒæ å ±ããšã³ã³ãŒãããã³ãã³ãŒãããŸãã |
ã»ãã¥ãªã㣠| VerifyAPIKey ããªã·ãŒ | å®è¡æã« API ããŒã®æ€èšŒãšåŠ¥åœæ§ç¢ºèªãè¡ããŸããAPI ãããã¯ãã«é¢é£ä»ããããæ¿èªæžã¿ã® API ããŒãæã€ã¢ããªã±ãŒã·ã§ã³ã®ã¿ã« API ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸãã |
ã»ãã¥ãªã㣠| OAuthV2 ããªã·ãŒ | OAuth 2.0 æš©éä»äžã¿ã€ã ãªãã¬ãŒã·ã§ã³ãå®è¡ããŠãã¢ã¯ã»ã¹ ããŒã¯ã³ã®çæãšåŠ¥åœæ§ç¢ºèªãè¡ããŸãã |
ã»ãã¥ãªã㣠| JWS ããªã·ãŒãš JWT ããªã·ãŒ | JSON Web TokenïŒJWTïŒãš JSON Web SignatureïŒJWSïŒãçæãæ€èšŒããã³ãŒãããŸãã |
ã»ãã¥ãªã㣠| HMAC ããªã·ãŒ | èªèšŒãšã¢ããªã±ãŒã·ã§ã³ ã¬ãã«ã®æŽåæ§ãã§ãã¯ã®ããã«ãããã·ã¥ããŒã¹ã®ã¡ãã»ãŒãžèªèšŒã³ãŒãïŒHMACïŒãèšç®ããã³æ€èšŒããŸãã |
ã»ãã¥ãªã㣠| SAMLAssertion ããªã·ãŒ |
|
ã»ãã¥ãªã㣠| CORS ããªã·ãŒ | ãŠã§ã ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããã API ã«å¯ŸããŠã¯ãã¹ãªãªãžã³ ãªãœãŒã¹ ã·ã§ã¢ãªã³ã°ïŒCORSïŒããããŒãèšå®ã§ããŸãã |
IP ã¢ãã¬ã¹ãšäœçœ®æ å ±ããŒã¹ã®ã¢ã¯ã»ã¹å¶åŸ¡ã«ã¯ãCloud Armor ã䜿çšããããšãããããããŸãããã ãã䜿çšã§ããªãå Žå㯠AccessControl ããªã·ãŒã䜿çšã§ããŸããApigee ããããã¯ãšã³ããžã®æ¥ç¶ãä¿è·ããããã«ãApigee ã«ã¯ TLS handshake çšã®ããŒã¹ãã¢ãšãã©ã¹ãã¹ãã¢ãæ§æã§ããããŒã¹ãã¢ã®ç®¡çãçšæãããŠããŸãã
Apigee ã§ API ãããã¯ããäœæãããšãAPI ãªãã¬ãŒã·ã§ã³ããã³ãã«åããã¢ããªã±ãŒã·ã§ã³ ããããããŒã«æäŸããŠäœ¿çšãããããšãã§ããŸããAPI ãããã¯ãã¯ã1 ã€ä»¥äžã®ãªãã¬ãŒã·ã§ã³ããã³ãã«åãããã®ã§ãããªãã¬ãŒã·ã§ã³ã¯ãAPI ãããã·ãšãã®ãããã·ããã¢ã¯ã»ã¹ã§ãããªãœãŒã¹ãã¹ãæå®ããŸãããªãã¬ãŒã·ã§ã³ã§ã¯ HTTP ã¡ãœãããšå²ãåœãŠã«ãã£ãŠã¢ã¯ã»ã¹ãå¶éããããšãã§ããŸãã
API ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããã«ã¯ãAPI ãããã¯ãã䜿çšããŸããããããã㌠ã¢ããªã±ãŒã·ã§ã³ã§ 1 ã€ä»¥äžã® API ãããã¯ããå®çŸ©ããããšã«ãããAPI ããŒã䜿çšããŠãããã·ãžã®ã¢ã¯ã»ã¹ãå¶éã§ããŸããããšãã°ã顧客ã䜿çšããã¢ãã€ã«ã¢ããªã¯ã/v1/payments
ãšã³ããã€ã³ãïŒãã®å Žå㯠https://$DOMAIN/v1/payments
ïŒã§ã¯ POST ãªãã¬ãŒã·ã§ã³ã ããå®è¡ã§ããŸããå¥ã®äŸãšããŠãã³ãŒã«ã»ã³ã¿ãŒã®ã¹ã¿ããã䜿çšããã³ãŒã«ã»ã³ã¿ãŒ ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãhttps://$DOMAIN/v1/payments/1234
ãªã©ã® /payments
ãšã³ããã€ã³ãã§ PUT ã DELETE ãªã©ã®ãªãã¬ãŒã·ã§ã³ãå®è¡ããããšã§ãæ¯æãã®åãæ¶ãã鿝æããã§ããŸãã
åæã®ã¢ãŒããã¯ãã£
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãããŒã¿ã»ã³ã¿ãŒãšã¯ã©ãŠã ãããã€ãã«ãããã€ããããµãŒãã¹ã䜿çšãããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã®äŸãæç€ºããŸãã以äžã®ã¢ãŒããã¯ãã£ã®ãã¹ã ãã©ã¯ãã£ã¹ã¯ãåæã®ã¢ãŒããã¯ãã£ã®ã€ãã¬ãŒã·ã§ã³ãæ¹åã®æ¹æ³ã瀺ããŠããŸãã
ãã®åæã¢ãŒããã¯ãã£ã«ã¯æ¬¡ã®ãããªèŠçŽ ããããŸãã
- æ¯æããšã¢ã«ãŠã³ã ãµãŒãã¹ã¯ããŒã¿ã»ã³ã¿ãŒã§ãã¹ããããééãµãŒãã¹ã¯ Google Cloudã§ãã¹ããããŠããŸãã
- å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã¯ããµãŒãã¹ãžã®äžãïŒå åãïŒãã©ãã£ãã¯ãå¶åŸ¡ããã³æ§æããŸãã
- å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµããé©åãªããã¯ãšã³ããŸãã¯ãµãŒãããŒã㣠ãµãŒãã¹ã«ãªã¯ãšã¹ãã転éããTLS handshake ãåŠçããŸãã
ãã®ã¢ãŒããã¯ãã£äŸã®åæç¶æ ã«ã¯æ¬¡ã®ãããªå¶çŽããããŸãã
- ã¹ã±ãŒãªã³ã°ãèŠèŸŒããªãã
- æªæã®ããæ»æããã·ã¹ãã ãä¿è·ã§ããªãå¯èœæ§ãé«ãã
- çµç¹å ã®ããŸããŸãªããŒã ã«ãã£ãŠãµãŒãã¹ãéçºã管çãããŠãããããã»ãã¥ãªãã£ãšãã®ã³ã°ã«é¢ããäžè²«æ§ã®ãããã¹ã ãã©ã¯ãã£ã¹ãé©çšãããªãã
ã¢ãŒããã¯ãã£ã«é¢ãããã¹ã ãã©ã¯ãã£ã¹
Apigee ã䜿çšãããšããã¹ãŠã® API ã«æšæºã®ã»ãã¥ãªã㣠ããªã·ãŒ ã»ãããå®è£ ããããšã§ããµãŒãã¹ã®äŸ¡å€ãé«ãŸãã顧客ãžã®å ¬éã容æã«ãªããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãApigee ã䜿çšã㊠API ãä¿è·ããããã®ãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
Apigee ããããã·ã¬ã€ã€ãšããŠäœ¿çšãã
次ã®å³ã¯ããããã·ïŒãã¡ãµãŒãïŒã¬ã€ã€ãšã㊠Apigee ã远å ããåæã®ã¢ãŒããã¯ãã£ã瀺ããŠããŸãã
Apigee 㯠Google Cloud ãããžã§ã¯ãã§ããããžã§ãã³ã°ãããã©ã³ã¿ã€ã 㯠VPC ãããã¯ãŒã¯ ãã¢ãªã³ã°ã䜿çšããŠããã³ã ãããžã§ã¯ãã«ããããžã§ãã³ã°ããã³ãã¢ãªã³ã°ãããŸããã·ã¹ãã ãä¿è·ããããã«ãã€ã³ã¿ãŒãããçµç±ã§ããŒã¿ãéä¿¡ããã®ã§ã¯ãªããApigee ããããã·ã¬ã€ã€ãšããŠäœ¿çšããŠãCloud Interconnect ã§ããŒã¿ã»ã³ã¿ãŒãžã®çŽæ¥ïŒãã©ã€ããŒãïŒæ¥ç¶ã確ç«ã§ããŸãã
ãªã¯ãšã¹ã ãããŒã¯æ¬¡ã®ãšããã§ãã
- ã¯ã©ã€ã¢ã³ãã¯ãããŒãããŒã¯ã³ãèšŒææžãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã®èªèšŒæ å ±ã䜿çšããŠå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- ããŒããã©ã³ãµã¯ããªã¯ãšã¹ãã Apigee ã«è»¢éããŸãã
- Apigee ã¯ãªã¯ãšã¹ããåŠçããApigee API Management ã®èª¬æã«åŸã£ãŠã»ãã¥ãªã㣠ããªã·ãŒãå®è¡ããŠãªã¯ãšã¹ããèš±å¯ãŸãã¯æåŠããŸããApigee ã¯ãã¯ã©ã€ã¢ã³ãããªã¯ãšã¹ãããŸãã¯ãã®äž¡æ¹ã«åºã¥ããŠç°ãªãããã¯ãšã³ãã«ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ããããã«ã䜿çšã§ããŸãã
- Apigee ã¯ãå éš IP ã¢ãã¬ã¹ãä»ããŠãªã¯ãšã¹ãã GKE ããã¯ãšã³ãã«çŽæ¥è»¢éããŸããApigee ãšééãµãŒãã¹éã®éä¿¡ã¯ãäž¡è ãšããã¢ãªã³ã°ããããããã¯ãŒã¯å ã«ãããããRFC 1918 ã¢ãã¬ã¹ïŒå éš IP ã¢ãã¬ã¹ïŒãéããŠè¡ãããŸãã
- Apigee 㯠Cloud Interconnect çµç±ã§ãã©ã€ããŒã ããŒã¿ã»ã³ã¿ãŒ ããã¯ãšã³ãã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- Apigee ã¯ãApigee NAT IP ã¢ãã¬ã¹ã®ããããžã§ãã³ã°ãä»ããŠãµãŒãããŒã㣠ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸãã
Apigee ã§ WAF ã¬ã€ã€ãšã㊠Cloud Armor ã䜿çšãã
Cloud Armor ãã¢ãŒããã¯ãã£ã«è¿œå ããŠãã»ãã¥ãªãã£å¢çãæ¡å€§ã§ããŸããCloud Armor ã¯ã Google Cloudã®ã°ããŒãã«ãªããŒã ãã©ã³ã·ã³ã° ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžéšã§ãããŠã§ã ã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã¢ãŠã©ãŒã«ïŒWAFïŒæ©èœãåãã忣åãµãŒãã¹æåŠïŒDDoSïŒæ»æã®é²æ¢ã«æçšã§ãããŸããOWASP Top Ten ã«ãªã¹ããããŠãããªã¹ã¯ããã¢ããªã±ãŒã·ã§ã³ãžã®è åšã軜æžããŸãã
å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«å°éããã¯ã©ã€ã¢ã³ãããã®ãã¹ãŠã®åŒã³åºããè©äŸ¡ããã«ã¯ãCloud Armor ã®ã«ãŒã«ãšããªã·ãŒãæ§æããŸããCloud Armor ããªã·ãŒã®æ§æãèªååããããšãã§ããŸããCloud Armor ã§ã«ãŒã«ãæ§æããæ¹æ³ã®è©³çްã«ã€ããŠã¯ãCloud Armor ã®å ¥éã¬ã€ããã芧ãã ããã
次ã®å³ã¯ãApigee ãš Cloud Armor ã®äž¡æ¹ãå«ãã¢ãŒããã¯ãã£ã®äŸã瀺ããŠããŸãã
ãã®ã¢ãŒããã¯ãã£ã®ã€ãã³ããããŒã¯ããã®ããã¥ã¡ã³ãã®ååã§èª¬æãã Apigee ããããã·ã¬ã€ã€ãšããŠäœ¿çšããã§èª¬æãããŠãããããŒãšäŒŒãŠããŸãããªã¯ãšã¹ã ãããŒã¯æ¬¡ã®ãšããã§ãã
- ã¯ã©ã€ã¢ã³ãã¯ãããŒãããŒã¯ã³ãèšŒææžãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã®èªèšŒæ å ±ã䜿çšããŠå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã§æå¹ã«ãªã£ãŠãããããCloud Armor ã¯ãã®ãªã¯ãšã¹ãããã£ã«ã¿ãªã³ã°ããŸããæ§ææžã¿ã®ãã¹ãŠã®ã«ãŒã«ãšããªã·ãŒãé©çšããè©äŸ¡ããŸããããããã®ã«ãŒã«ã«éåããŠããå ŽåãCloud Armor ã¯ãªã¯ãšã¹ããæåŠãããšã©ãŒ ã¡ãã»ãŒãžãšã¹ããŒã¿ã¹ ã³ãŒããè¿ããŸãã
- Cloud Armor ã«ãŒã«ã®éåããªãå Žåãå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã¯ãªã¯ãšã¹ãã Apigee ã«ã«ãŒãã£ã³ã°ããŸãã
- Apigee ã¯ãªã¯ãšã¹ããåŠçããã»ãã¥ãªã㣠ããªã·ãŒãå®è¡ããŠããªã¯ãšã¹ããèš±å¯ãŸãã¯æåŠããŸããã¯ã©ã€ã¢ã³ãããªã¯ãšã¹ãããŸãã¯ãã®äž¡æ¹ã«åºã¥ããŠç°ãªãããã¯ãšã³ãã«ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ããããã«ã䜿çšã§ããŸãã
- Apigee ã¯ãå éš IP ã¢ãã¬ã¹ãä»ããŠãªã¯ãšã¹ãã GKE ããã¯ãšã³ãã«çŽæ¥è»¢éããŸããApigee ãšééãµãŒãã¹éã®éä¿¡ã¯ãäž¡è ãšããã¢ãªã³ã°ããããããã¯ãŒã¯å ã«ãããããRFC 1918 ã¢ãã¬ã¹ïŒå éš IP ã¢ãã¬ã¹ïŒãéããŠè¡ãããŸãã
- Apigee 㯠Cloud Interconnect çµç±ã§ãã©ã€ããŒã ããŒã¿ã»ã³ã¿ãŒ ããã¯ãšã³ãã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- Apigee ã¯ãApigee NAT IP ã¢ãã¬ã¹ã®ããããžã§ãã³ã°ãä»ããŠãµãŒãããŒã㣠ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸãã
WAAP ã䜿çšãã
ã»ãã¥ãªã㣠ãããã¡ã€ã«ãããã«åŒ·åããããã«ãWAAP ã䜿çšããããšãã§ããŸããWAAP ã¯ãCloud ArmorãreCAPTCHAãApigee ãçµ±åããŠãDDoS æ»æãš bot ããã·ã¹ãã ãä¿è·ããŸãããŸããWAF ãš API ä¿è·ãå®è£ ããŸãã
ãŠã§ããµã€ããšã¢ãã€ã«ã¢ããªãã API åŒã³åºããè¡ãããäŒæ¥ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãWAAP ãããããããŸããreCAPTCHA ã©ã€ãã©ãªãèªã¿èŸŒã¿ãreCAPTCHA ããŒã¯ã³ãçæããŠãªã¯ãšã¹ãäœææã«äžç·ã«éä¿¡ãããããã¢ããªã±ãŒã·ã§ã³ãèšå®ã§ããŸãã
次ã®å³ã¯ãã®ã¯ãŒã¯ãããŒã瀺ããŠããŸãã
äžã®å³ã®ãªã¯ãšã¹ã ãããŒã¯æ¬¡ã®ãšããã§ãã
- ïŒ1ïŒé¡§å®¢ãš API å©çšè ã«ãããã¹ãŠã® HTTP(S) ãªã¯ãšã¹ããå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«éä¿¡ãããŸãã
- ïŒ2ïŒWAAP ãœãªã¥ãŒã·ã§ã³ã®æåã®çªå£ã¯ Cloud Armor ã§ãã
- ïŒ2aïŒCloud Armor ããªã·ãŒã«ãã£ãŠãããã®ã«ãŒã«ãããªã¬ãŒãããªãå Žåããªã¯ãšã¹ã㯠reCAPTCHA API ã«éä¿¡ãããåä¿¡ãã©ãã£ãã¯ãæ£èŠãªã¯ãšã¹ããã©ãããè©äŸ¡ãããŸãã
- ïŒ3aïŒæ£èŠãªã¯ãšã¹ãã®å Žåããªã¯ãšã¹ãã¯ããã¯ãšã³ãã«è»¢éãããŸãã
- ïŒ2bïŒæ£èŠãªã¯ãšã¹ãã§ãªãå ŽåãCloud Armor ã¯ãªã¯ãšã¹ããæåŠãããŠãŒã¶ãŒã« 403 ã¬ã¹ãã³ã¹ ã³ãŒããéä¿¡ããŸãã
- ïŒ3bïŒAPI ãªã¯ãšã¹ãã®å ŽåãCloud Armor OWASP ã«ãŒã«ãš DDoS 察çãè©äŸ¡ãããåŸããªã¯ãšã¹ã㯠Apigee ã«è»¢éãããAPI ãªã¯ãšã¹ãã®æå¹æ§ã確èªãããŸãã
- ïŒ4ïŒApigee ã¯ããªã¯ãšã¹ãã§äœ¿çšãããŠãã API ããŒãŸãã¯ã¢ã¯ã»ã¹ ããŒã¯ã³ãæå¹ãã©ããã倿ããŸããApigee ãæ£èŠãªã¯ãšã¹ãã§ãªããšå€æããå ŽåãApigee ãã 403 ã¬ã¹ãã³ã¹ ã³ãŒããéä¿¡ãããŸãã
- ïŒ5ïŒæ£èŠãªã¯ãšã¹ãã®å ŽåãApigee ã¯ãªã¯ãšã¹ããããã¯ãšã³ãã«è»¢éããŸãã
次ã®å³ã¯ãAPI ãªã¯ãšã¹ãçšã® Cloud ArmorãreCAPTCHAãApigee ã䜿çšãã WAAP ã®ã¢ãŒããã¯ãã£ã瀺ããŠããŸãã
äžã®å³ã®ãªã¯ãšã¹ã ãããŒã¯æ¬¡ã®ãšããã§ãã
- ã¯ã©ã€ã¢ã³ãã¯ãããŒãããŒã¯ã³ãèšŒææžãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã®èªèšŒæ å ±ã䜿çšããŠå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã§ Cloud Armor ãæå¹ã«ãªã£ãŠãããããCloud Armor ããªã¯ãšã¹ããéžæããŸããæ§ææžã¿ã®ãã¹ãŠã®ã«ãŒã«ãšããªã·ãŒãé©çšããè©äŸ¡ããŸããããããã®ã«ãŒã«ã«éåããŠããå ŽåãCloud Armor ã¯ãªã¯ãšã¹ããæåŠãããšã©ãŒ ã¡ãã»ãŒãžãšã¹ããŒã¿ã¹ ã³ãŒããè¿ããŸãã
- ãã°ã€ã³ããŒãžã®ãã©ãŒã éä¿¡ã®ãããªãŠã§ããµã€ãåŒã³åºãã«é¢ããŠã¯ãCloud Armor 㯠reCAPTCHA ãšçµ±åãããŠããŸããreCAPTCHA ã¯åä¿¡ãã©ãã£ãã¯ãè©äŸ¡ããæ£èŠã®ãã©ãã£ãã¯ã«ãªã¹ã¯ã¹ã³ã¢ã远å ããŸããæ£èŠã®ãã©ãã£ãã¯ã§ãªãå Žåã¯ãCloud Armor ããªã¯ãšã¹ããæåŠããŸãã
- Cloud Armor ã«ãŒã«ã®éåããªãå Žåãå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã¯ API ãªã¯ãšã¹ãã Apigee ã«ã«ãŒãã£ã³ã°ããŸãã
- Apigee ã¯ãªã¯ãšã¹ããåŠçããã»ãã¥ãªã㣠ããªã·ãŒãå®è¡ããŠããªã¯ãšã¹ããèš±å¯ãŸãã¯æåŠããŸããApigee ã¯ãã¯ã©ã€ã¢ã³ãããªã¯ãšã¹ãããŸãã¯ãã®äž¡æ¹ã«åºã¥ããŠç°ãªãããã¯ãšã³ãã«ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ããããã«ã䜿çšã§ããŸãã
- Apigee ã¯ãå éš IP ã¢ãã¬ã¹ãä»ããŠãªã¯ãšã¹ãã GKE ããã¯ãšã³ãã«çŽæ¥è»¢éããŸããApigee ãšééãµãŒãã¹éã®éä¿¡ã¯ãäž¡è ãšããã¢ãªã³ã°ããããããã¯ãŒã¯å ã«ãããããRFC 1918 ã¢ãã¬ã¹ïŒå éš IP ã¢ãã¬ã¹ïŒãéããŠè¡ãããŸãã
- Apigee 㯠Cloud Interconnect çµç±ã§ãã©ã€ããŒã ããŒã¿ã»ã³ã¿ãŒ ããã¯ãšã³ãã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- Apigee ã¯ãApigee NAT IP ã¢ãã¬ã¹ã®ããããžã§ãã³ã°ãä»ããŠãµãŒãããŒã㣠ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸãã
ãã£ãã·ã¥ä¿åã« Cloud CDN ã䜿çšãã
Cloud CDN ã¯ãGoogle ã®ã°ããŒãã« ãããã¯ãŒã¯ã䜿çšããŠãŠãŒã¶ãŒã®è¿ãããã³ã³ãã³ããé ä¿¡ããŸããããã«ããããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã®ã¬ã¹ãã³ã¹æéãççž®ã§ããŸããCloud CDN ã«ã¯ããã£ãã·ã¥ããã¬ã¹ãã³ã¹ãè¿ãããã¯ãšã³ãã®ãã£ãã·ã¥ä¿åæ©èœããããŸããã¢ã¯ã»ã¹é »åºŠãé«ãããŒã¿ã Google ãããã¯ãŒã¯ã®ãšããžã«ãã Google Front EndïŒGFEïŒã«ãã£ãã·ã¥ä¿åããããšã«ãããããŒã¿ã¯å¯èœãªéããŠãŒã¶ãŒã«è¿ãå Žæã«ä¿åãããé«éã¢ã¯ã»ã¹ãå¯èœã«ãªã£ãŠããŸãã
ãŸããCloud CDN ã«ãããäŒæ¥ãæ°åŠæã®ææãªã©ã®ãã©ãã£ãã¯ã®å£ç¯çãªæ¥å¢ãçµç¹ã¯ã·ãŒã ã¬ã¹ã«åŠçã§ããŸãããããããã£ãã·ã¥ä¿åã®ææ³ã«ããããšã³ã·ã¹ãã ã§ã®ä¿¡é Œæ§ãšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãåäžããŸãããŸãããŠã§ããµãŒããŒã®è² è·ãã³ã³ãã¥ãŒãã£ã³ã°ããããã¯ãŒã¯äœ¿çšéãæå°éã«æããã®ã«ã圹ç«ã¡ãŸãããã®ã¢ãŒããã¯ãã£ãå®è£ ããã«ã¯ãApigee ã®ãã©ãã£ãã¯ãåŠçããããŒããã©ã³ãµã§ Cloud CDN ãæå¹ã«ããå¿ èŠããããŸãã
Cloud CDN ã¯ããã®ããã¥ã¡ã³ãã§èª¬æããã©ã®ãªãã·ã§ã³ã§ã䜿çšã§ããŸããæ¬¡ã®å³ã¯ãCloud CDN ã远å ãã WAAP ã®åæã®ã¢ãŒããã¯ãã£ã®äŸã瀺ããŠããŸãã
äžã®å³ã«ç€ºãããŠãããªã¯ãšã¹ã ãããŒã¯æ¬¡ã®ãšããã§ãã
- ã¯ã©ã€ã¢ã³ãã reCAPTCHA ã©ã€ãã©ãªã䜿çšããŠããŒã¯ã³ãååŸããã¢ããªã±ãŒã·ã§ã³ã®èªèšŒæ å ±ïŒããŒãããŒã¯ã³ãèšŒææžãªã©ïŒã䜿çšããŠãªã¯ãšã¹ããå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«éä¿¡ããŸãã
- Cloud CDN ã¯ããã£ãã·ã¥ããŒã䜿çšããŠãã£ãã·ã¥ããã§ãã¯ãããã£ãã·ã¥ ãããã true ã®å Žåã¯ã¬ã¹ãã³ã¹ãè¿ããŸãã
- ãã£ãã·ã¥ ãããã false ã®å Žåãå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«ããæå¹ã«ãªã£ãŠãã Cloud Armor ããªã¯ãšã¹ãããã£ã«ã¿ããŸããCloud Armor ã¯ãæ§æããããã¹ãŠã®ã«ãŒã«ãšããªã·ãŒãé©çšããè©äŸ¡ããŸããããããã®ã«ãŒã«ã«éåããŠããå ŽåãGoogle Cloud Armor ã¯ãªã¯ãšã¹ããæåŠãããšã©ãŒ ã¡ãã»ãŒãžãšã¹ããŒã¿ã¹ ã³ãŒããè¿ããŸãã
- Cloud Armor 㯠reCAPTCHA ãšçµ±åãããŠããŸããreCAPTCHA ã¯ããªã¹ã¯ã¹ã³ã¢ã§æ£èŠã®åä¿¡ãã©ãã£ãã¯ãè©äŸ¡ããŸããæ£èŠã®ãã©ãã£ãã¯ã§ãªãå Žåã¯ãCloud Armor ããªã¯ãšã¹ããæåŠããŸãã
- Cloud Armor ã«ãŒã«ã®éåããªãå Žåãå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã¯ãªã¯ãšã¹ãã Apigee ã«ã«ãŒãã£ã³ã°ããŸãã
- Apigee ã¯ãªã¯ãšã¹ããåŠçããApigee API Management ã®èª¬æã«åŸã£ãŠã»ãã¥ãªã㣠ããªã·ãŒãå®è¡ããŠãªã¯ãšã¹ããèš±å¯ãŸãã¯æåŠããŸããã¯ã©ã€ã¢ã³ãããªã¯ãšã¹ãããŸãã¯ãã®äž¡æ¹ã«åºã¥ããŠç°ãªãããã¯ãšã³ãã«ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ããããã«ã䜿çšã§ããŸãã
- Apigee ã¯ãå éš IP ã¢ãã¬ã¹ãä»ããŠãªã¯ãšã¹ãã GKE ããã¯ãšã³ãã«çŽæ¥è»¢éããŸããApigee ãšééãµãŒãã¹éã®éä¿¡ã¯ãäž¡è ãšããã¢ãªã³ã°ããããããã¯ãŒã¯å ã«ãããããRFC 1918 ã¢ãã¬ã¹ïŒå éš IP ã¢ãã¬ã¹ïŒãéããŠè¡ãããŸãã
- Apigee 㯠Cloud Interconnect çµç±ã§ãã©ã€ããŒã ããŒã¿ã»ã³ã¿ãŒ ããã¯ãšã³ãã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- Apigee ã¯ãApigee NAT IP ã¢ãã¬ã¹ã®ããããžã§ãã³ã°ãä»ããŠãµãŒãããŒã㣠ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- ã¬ã¹ãã³ã¹ãã¯ã©ã€ã¢ã³ãã«è¿éããããšãCloud CDN ã¯ããããã£ãã·ã¥ã«ä¿åãã以éã®åŒã³åºãã§ã¯ãã£ãã·ã¥ããã¬ã¹ãã³ã¹ãè¿ããããã«ããŸãã
次ã®ã¹ããã
- Apigee ããããžã§ãã³ã° ãªãã·ã§ã³ã®è©³çްã確èªããã
- Apigee ãš Cloud Armor ã«ããå€å±€ API ã»ãã¥ãªãã£ã®æŠèŠãèªãã
- Apigee X ãš Cloud CDN ã䜿çšããé«ããã©ãŒãã³ã¹ã®ã°ããŒãã« API ãæäŸããæ¹æ³ãåŠã¶ã
- Apigee ã³ãã¥ããã£ã§é²èЧã質åãè¡ãã
- GitHub ã® Apigee ãªããžããªã確èªããã
- Cloud ã¢ãŒããã¯ã㣠ã»ã³ã¿ãŒã§ããªãã¡ã¬ã³ã¹ ã¢ãŒããã¯ãã£ãå³ããã¹ã ãã©ã¯ãã£ã¹ã確èªããã