VNG-Realisatie / api-test-platform

6 stars 3 forks source link

Als developer wil ik dat mijn secrets verborgen blijven (API key, JWT, password/secret) #264

Closed alextreme closed 5 years ago

alextreme commented 5 years ago

Als developer wil ik dat mijn secrets verborgen blijven zodat mensen niet mijn API token's of username/password kunnen overnemen.

Bij het toevoegen van de eigen api-test.nl API test kwamen we tegen dat de username/password terug komen op de testsessie detail-scherm. Dit mag natuurlijk niet voorkomen, net zoals het niet de bedoeling is dat de API keys of JWT's inzichtelijk zijn.

Hier zijn een aantal mogelijkheden voor, waarbij waarschijnlijk een combinatie nodig is om dit afdoende af te dekken:

...

Screenshot_2019-08-22_15-31-59

Screenshot_2019-08-22_15-32-14

stevenbal commented 5 years ago

@HenriKorver omdat er binnen Newman geen optie is om bepaalde variabelen niet te laten zien in de HTML en JSON reports, doe ik nu een replace om de waardes van variabelen die gemarkeerd zijn als hidden (bijv. username en password) te vervangen met een placeholder {hidden} Screenshot from 2019-08-26 11-02-44

Het enige wat er dan nog overblijft is dat, bijv. in het geval van de test voor de API van het testplatform zelf, er ingelogd wordt via de API waarbij er een key teruggegeven wordt. Dit kan voor verschillende API's anders zijn, dus het is niet echt mogelijk om dit makkelijk eruit te filteren Screenshot from 2019-08-26 11-02-48

HenriKorver commented 5 years ago

Dus voor de ZGW-API's en de API van het API test Platform kunnen we het security probleem oplossen omdat we weten hoe het daar werkt. Als we andere API's willen testen op het platform zal dat vooralsnog elke keer maatwerk zijn. Ik zie ook zo snel niet een elegante generieke oplossing.

alextreme commented 5 years ago

Besproken met Henri en Steven

Een optie toevoegen om op Test scenario-niveau te configureren of de Newman HTML+JSON logs door derden gezien mogen worden.

Standaard staat dit aan, mocht een situatie zijn waarbij gevoelige gegevens uit een API terug komen dan heeft de ATP beheer-team de mogelijkheid om dit uit te schakelen.

alextreme commented 5 years ago

@stevenbal zou je vng-test hiermee kunnen updaten en daar dubbel-checken voor de zekerheid?

stevenbal commented 5 years ago

@alextreme ik heb gedeployed en nog eens gecheckt op test, en het werkt zoals gedacht.

alextreme commented 5 years ago

Besproken:

'private variabelen' zoals token wel zien als owner, anders 'hidden' ipv 'This field was marked as hidden' tonen.

https://vng-staging.maykin.nl/server/ccfd4f39-cc6a-4677-9e22-aa666ff4024c/

alextreme commented 5 years ago

In orde, gecontroleerd met:

https://staging.api-test.nl/server/ccfd4f39-cc6a-4677-9e22-aa666ff4024c/