diff --git a/applications/views.py b/applications/views.py
index a886cfb1a61085f473ad4bf2608b643a071510ee..4c487b279a51870cc898bf94cbe477bba4f930a4 100644
--- a/applications/views.py
+++ b/applications/views.py
@@ -46,6 +46,7 @@ class ApplicationUpdateView(OwnerPermissionMixin, UpdateView):
     context_object_name = 'application'
 
     fields = '__all__'
+    permission_required = 'applications.change_application'
 
 
 class ApplicationDeleteView(OwnerPermissionMixin, DeleteView):
@@ -53,6 +54,7 @@ class ApplicationDeleteView(OwnerPermissionMixin, DeleteView):
     template_name = 'applications/application/delete.html'
     context_object_name = 'application'
 
+    permission_required = 'application.delete_application'
     success_url = reverse_lazy('applications:application.list')
 
 
diff --git a/datasources/views/datasource.py b/datasources/views/datasource.py
index 76ff48f105fab199c14f3cca99f21260424329e6..1ea6417e764043f439af276d276805c6458c6426 100644
--- a/datasources/views/datasource.py
+++ b/datasources/views/datasource.py
@@ -77,6 +77,7 @@ class DataSourceUpdateView(OwnerPermissionMixin, UpdateView):
     context_object_name = 'datasource'
 
     form_class = forms.DataSourceForm
+    permission_required = 'datasources.change_datasource'
 
 
 class DataSourceDeleteView(OwnerPermissionMixin, DeleteView):
@@ -84,6 +85,7 @@ class DataSourceDeleteView(OwnerPermissionMixin, DeleteView):
     template_name = 'datasources/datasource/delete.html'
     context_object_name = 'datasource'
 
+    permission_required = 'datasources.delete_datasource'
     success_url = reverse_lazy('datasources:datasource.list')