diff --git a/accounts-service/com.endlessm.ParentalControls.Dns.xml b/accounts-service/com.endlessm.ParentalControls.Dns.xml
new file mode 100644
index 0000000..fe5967c
--- /dev/null
+++ b/accounts-service/com.endlessm.ParentalControls.Dns.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/accounts-service/com.endlessm.ParentalControls.policy.in b/accounts-service/com.endlessm.ParentalControls.policy.in
index ceae227..295f301 100644
--- a/accounts-service/com.endlessm.ParentalControls.policy.in
+++ b/accounts-service/com.endlessm.ParentalControls.policy.in
@@ -40,6 +40,46 @@
+
+ Change your own DNS servers
+ Authentication is required to change your DNS servers.
+
+ auth_admin_keep
+ auth_admin_keep
+ auth_admin_keep
+
+
+
+
+ Read your own DNS servers
+ Authentication is required to read your DNS servers.
+
+ yes
+ yes
+ yes
+
+
+
+
+ Change another user’s DNS servers
+ Authentication is required to change another user’s DNS servers.
+
+ auth_admin_keep
+ auth_admin_keep
+ auth_admin_keep
+
+
+
+
+ Read another user’s DNS servers
+ Authentication is required to read another user’s DNS servers.
+
+ auth_admin_keep
+ auth_admin_keep
+ auth_admin_keep
+
+
+
Change your own session limits
Authentication is required to change your session limits.
diff --git a/accounts-service/com.endlessm.ParentalControls.rules.in b/accounts-service/com.endlessm.ParentalControls.rules.in
index fa021fa..be6a3b6 100644
--- a/accounts-service/com.endlessm.ParentalControls.rules.in
+++ b/accounts-service/com.endlessm.ParentalControls.rules.in
@@ -24,6 +24,8 @@ polkit.addRule(function(action, subject) {
* needing an additional polkit authorisation dialogue. */
if ((action.id == "com.endlessm.ParentalControls.AppFilter.ReadOwn" ||
action.id == "com.endlessm.ParentalControls.AppFilter.ReadAny" ||
+ action.id == "com.endlessm.ParentalControls.Dns.ReadOwn" ||
+ action.id == "com.endlessm.ParentalControls.Dns.ReadAny" ||
action.id == "com.endlessm.ParentalControls.SessionLimits.ReadOwn" ||
action.id == "com.endlessm.ParentalControls.SessionLimits.ReadAny") &&
subject.active && subject.local &&
diff --git a/accounts-service/meson.build b/accounts-service/meson.build
index 198692c..967cfff 100644
--- a/accounts-service/meson.build
+++ b/accounts-service/meson.build
@@ -9,6 +9,7 @@ i18n.merge_file(
dbus_interfaces = [
'com.endlessm.ParentalControls.AccountInfo',
'com.endlessm.ParentalControls.AppFilter',
+ 'com.endlessm.ParentalControls.Dns',
'com.endlessm.ParentalControls.SessionLimits',
]