Bene .. questa è una domanda abbastanza ampia, ma, fammi vedere quello che posso scoprire per te. Iniziamo con le tue domande:
- Alcuni servizi potrebbero persino avere quello specificato a livello di API, ad esempio un servizio pubblico con alcune chiamate API interne (è una cattiva idea?).
Non sono sicuro di capire cosa viene chiesto qui. Quando si dice "chiamata API interna", presumo che si stia facendo riferimento a un servizio privato a cui l'API pubblica sta accedendo. Questo è effettivamente "ok", assumendo che il servizio interno sia protetto da un firewall rigido.
- In che modo l'infrastruttura che interconnette i servizi riflette le politiche di sicurezza? Esistono approcci standard a questo?
Iniziamo con la creazione di un nuovo servizio. Consiglio vivamente di visualizzare questo libro , in particolare per i controlli di accesso. In sostanza, un servizio o soggetto appena creato dovrebbe assumere quanto segue:
- Una politica di sicurezza sicura dovrebbe essere applicata a qualsiasi soggetto appena creato
- Gli attributi del sistema non devono essere espressi in termini che possono essere facilmente falsificati come un indirizzo IP.
- Un ID utente o ID servizio dovrebbe rimanere assegnato in modo permanente a un servizio / soggetto
Una volta creato, il servizio dovrà quindi comunicare con i servizi interni. In termini di sicurezza e politica, è piuttosto difficile rispondere in quanto dipende da cosa si sceglie per i protocolli di trasferimento / messaggistica / ecc ... Ad esempio, utilizzando un'architettura interna come ESB . Ecco alcuni articoli per delineare l'utilizzo di ESB:
e alcuni articoli incentrati sulla sicurezza che descrivono SOA ESB:
Tuttavia, so che Amazon non usa ESB tramite questo articolo , anche se ho trovato alcuni articoli che potrebbero aiutare pure:
Ancora una volta, le politiche di sicurezza rifletteranno ciò che il protocollo di trasferimento / protocollo di messaggistica, ecc. per il servizio al servizio. Ad esempio, servizi che comunicano tramite porte proprietarie (tutte dietro a un firewall).
Spero che qualcosa in là possa aiutarti!