Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in de bètaversie. Azure Databricks maakt codebeveiligingsscanning mogelijk voor in aanmerking komende werkruimten tijdens de bèta.
Important
Beveiligingsscans kunnen valse positieven opleveren en identificeren mogelijk niet alle beveiligingsbugs.
Databricks Apps scant de broncode van je app op veelvoorkomende beveiligingsproblemen telkens wanneer je een broncodewijziging uitrolt. Scannen blokkeert een implementatie niet en laat deze niet mislukken. Bevindingen verschijnen op de beveiligingspagina van de app, waar een appmanager ze kan beoordelen en triageren.
Hoe codebeveiligingsscanning werkt
Code security scanning voert statische analyses uit op de broncode van je app als onderdeel van de deployment:
- Wordt uitgevoerd bij broncodewijzigingen: Een scan draait automatisch wanneer je een broncodewijziging uitrolt. Een deployment die een bestaande build hergebruikt zonder wijziging van de broncode wordt niet gescand.
- Leest alleen je broncode: De scanner analyseert je broncode zonder deze uit te voeren, en wijzigt je app nooit.
- Niet-blokkerend: De scanner rapporteert beveiligingsbevindingen, maar blokkeert de uitrol niet en laat deze ook niet mislukken. Bekijk en behandel bevindingen op basis van hun ernst en je beveiligingsvereisten.
- Failsafe: Als een scan niet kan worden voltooid, wordt het resultaat als niet beschikbaar geregistreerd in plaats van schoon, zodat een ontbrekende scan nooit wordt aangezien voor een geslaagde scan.
Wat scannen detecteert
Code security scanning analyseert alleen de broncode van je app. Het scant de afhankelijkheden van je app niet en voert geen dynamische analyse uit van de draaiende app.
De scanner gebruikt detectieregels die zijn geselecteerd, gemaakt en afgestemd door Azure Databricks voor Databricks-apps. Azure Databricks kan regels toevoegen, verwijderen of aanpassen om detectiedekking en nauwkeurigheid te verbeteren. De regels detecteren veelvoorkomende klassen van kwetsbaarheden, waaronder:
- Hardcoded inloggegevens en geheimen
- SQL-injectie
- Scripts op meerdere sites (XSS)
- Server-side request forgery (SSRF)
- padtraversal
- Onveilige deserialisatie
- Permissieve cross-origin resource sharing (CORS) configuratie
- Onveilig laden van YAML
- Blootstelling van gebruikerstokens (namens)
Opmerking
Een schone scan garandeert niet dat je app veilig is. De scanner controleert op een specifieke set issues, dus issues die niet door de regels worden gedekt, worden niet gedetecteerd. Houd je eigen code-review- en beveiligingspraktijken in stand, vooral voor apps die gevoelige gegevens verwerken. Voor meer beveiligingsrichtlijnen, zie Security best practices.
Bekijk beveiligingsbevindingen
Je moet de machtiging CAN MANAGE hebben om de beveiligingsbevindingen van een app te bekijken. Zie Machtigingen configureren voor een Databricks-app.
Om de bevindingen te bekijken:
- Open de app in je werkruimte. Zie Bekijk de details van een Databricks-app.
- Selecteer het tabblad Beveiliging.
De Security-pagina toont bevindingen voor de geselecteerde deployment, gegroepeerd per bestand. Elke bevinding omvat:
- De controle die overeenkwam
- Het bestandspad en regelnummer
- Een ernstniveau
- Een beschrijving van het probleem
De bevindingen gebruiken de volgende ernstniveaus:
- Kritiek: Een ernstig probleem, zoals een waarschijnlijke kwetsbaarheid, dat je moet aanpakken voordat je op de app gaat vertrouwen.
- Waarschuwing: Een mogelijk probleem dat je moet beoordelen en oplossen als het op je app van toepassing is.
- Info: Een observatie met een lager risico of suggestie voor veilige codering om op te letten.
Een samenvatting bovenaan de pagina toont het aantal openstaande bevindingen, het aantal cruciale bevindingen, een algemeen risiconiveau en het aantal bevindingen dat je hebt opgelost of genegeerd. Het risiconiveau weerspiegelt je open bevindingen en hun ernst; bevindingen die je oplost of negeert, tellen niet mee. Filter bevindingen op ernst om je te richten op de belangrijkste kwesties.
Om de resultaten van een eerdere implementatie te bekijken, gebruik je de codeversiekiezer om een eerdere implementatie te selecteren.
Triagebevindingen
Triage stelt je in staat bij te houden welke bevindingen je hebt aangepakt. Net als bij het bekijken van bevindingen moet je de machtiging CAN MANAGE hebben in de app om ze te triageren.
Elke bevinding heeft een van de volgende toestanden:
- Open: De standaardstatus voor een nieuwe bevinding.
- Opgelost: Markeer een bevinding als opgelost nadat je het onderliggende probleem hebt opgelost.
- Genegeerd: Negeer een bevinding die niet van toepassing is op jouw app of die je als bekend risico hebt geaccepteerd.
Om een bevinding te beoordelen, selecteer je 'Markeren als opgelost' of Negeer op de bevinding. Om een bevinding weer op openen te zetten, selecteer Reopen. Om meerdere bevindingen tegelijk te triageren, selecteer je meerdere bevindingen en pas je een actie in bulk toe.
De triagestatus wordt per bevinding opgeslagen en blijft bestaan tussen deployments. Als hetzelfde probleem later in een implementatie optreedt, behoudt het de toegewezen status, zodat je de reeds beoordeelde problemen niet opnieuw hoeft te triageren.
Scanresultaten
De beveiligingspagina geeft het resultaat van de scan van de implementatie weer. De scanuitkomst beschrijft wat de scan vond, en de scanstatus geeft aan of de scan is voltooid.
De resultaten weerspiegelen de detectieregels die van kracht waren toen de scan werd uitgevoerd. Azure Databricks scant een bestaande implementatie niet opnieuw wanneer regels veranderen, dus een eerder resultaat (inclusief Geen beveiligingsbevindingen) weerspiegelt mogelijk niet de huidige regels. Een nieuwe scan draait automatisch bij je volgende wijziging van de broncode.
De volgende uitkomsten beschrijven wat de scan vond:
| Outcome | Description |
|---|---|
| Geen beveiligingsbevindingen | De scan is voltooid en er werden geen problemen gevonden volgens de huidige regels. |
| Bevindingen | De scan vond één of meer problemen die beoordeeld en getriagerd moesten worden. |
De volgende statussen beschrijven de toestand van de scan zelf:
| Status | Description |
|---|---|
| Deze implementatie wordt gescand | De scan is in uitvoering. De pagina wordt automatisch bijgewerkt zodra de scan klaar is. |
| Scan onvolledig | De scan werd uitgevoerd maar sloeg sommige bestanden of regels over, dus de resultaten kunnen gedeeltelijk zijn. |
| Scanresultaten niet beschikbaar | De scan kon voor deze uitrol niet worden uitgevoerd. |
| Deze implementatie is niet gescand | De uitrol hergebruikte een bestaande build zonder wijziging in de broncode. Implementeer opnieuw na een codewijziging om het te scannen. |