Benutzer mit den meisten Antworten
Benutzerberechtigung - Schreibberechtigung wird nicht übernommen ...

Frage
-
Ich habe mit einem bestimmten Benutzer ein Problem Datensätze hinzuzufügen.
Der Benutzer ist Domänenbenutzer und kann problemlos DS lesen.
Ich habe nun schon alles möglcihe versucht, inkl. dem Benutzer sämtliche Rechte auf der Tabelle zu geben.
Danach sieht man tatsächlich bei Explizit Kreuzchen überall; es gibt aber grundsätzlich jeweils 2 Zeilen;
einmal mit Kreuzchen, einmal ohne. Die Zeile mit Kreuzchen hat jeweils noch dbo dabei.
und obwohl überall Kreuzchen sind - auch bei Aktualisieren und Einfügen taucht unter "effektiv" nur SELECT für alle Spalten auf.
Was mache ich verkehrt?
Ach ja: Die Gruppe Domänen-Benutzer hat bei den Sicherugsfähigen Elementen NICHTS eingetragen.
Antworten
-
Ich weiss nicht warum, aber es scheint zufunktioneiren.
Ich habe den bewussten Benutzer gelöscht und dann wieder hinzugefügt. Danach konnte ich Rechte setzen , die dann auch effektiv sind.
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 1. August 2022 12:18
- Als Antwort markiert Stefan FalzModerator Donnerstag, 4. August 2022 09:41
Alle Antworten
-
Hallo Nico,
zeig mal bitte Screenshots von den Dialogen mit den Berechtigungen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Man hat leider 3 Ebenen von Berechtigungen.
a) Sicherheit->Anmeldungen
b) Datenbank->Sicherheit->Benutzer und Rollen
c) Tabelle->Eigenschaften->BerechtigungenPrüfe genau, auf welcher Ebene du tatsächlich Berechtigungen vergibst. Die auf der DB/Tabelle selber sind strenger.
- Bearbeitet Der Suchende Donnerstag, 28. Juli 2022 17:48
-
einmal mit Kreuzchen, einmal ohne
Spielst Du Tic-Tac-Toe oder ...
Eine genauere Beschreibung wäre hilfreich, wo Du wie welche Rechte vergibts. Und bedenke: Deny geht vor Grant, wenn also irgendwo Berechtigungen verweigert werden, hat das vor allen anderen Rechten Vorrang.es gibt aber grundsätzlich jeweils 2 Zeilen;
Dass ist ein bekannter Bug in älteren SSMS Versionen.
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Hier kommt mal ein Bild
Aus irgendeinem Grunde bleibt es effektiv bei der SELECT-Berechtigung. auch wenn auf dem ersten Bild etwas anderes erscheint.
Der Account ist ein Domänen-Benutzer und Mitglied der Kontenverwalter
Ich habe schon überall geschaut , aber nichts gefunden was diesem Benutzer irgendwas verbeitet- Bearbeitet NicoNi Freitag, 29. Juli 2022 06:21
-
Hallo Nico,
ich würde mir zum einen die Berechtigungen noch einmal mit diesem SQL anschauen und dann die Vergabe der Berechtigung mal per T-SQL machen:
GRANT INSERT on dbo.tblRules to [<user>];
Und hier das Analyse-SQL:
WITH perms_cte(principal_name,principal_id, principal_type_desc,class_desc, [object_name], permission_name, permission_state_desc, login ) as ( select USER_NAME(p.grantee_principal_id) AS principal_name, dp.principal_id, dp.type_desc AS principal_type_desc, p.class_desc, OBJECT_SCHEMA_NAME(p.major_id) +'.'+OBJECT_NAME(p.major_id) AS [object_name], p.permission_name, p.state_desc AS permission_state_desc, sp.name as login from sys.database_permissions p left JOIN sys.database_principals dp on p.grantee_principal_id = dp.principal_id left Join sys.server_principals sp on dp.sid = sp.sid ) -- users SELECT p.principal_name, p.principal_type_desc, login, p.class_desc, p.[object_name], p.permission_name, p.permission_state_desc, cast('<explizites>' as sysname) as role_name FROM perms_cte p UNION -- role members SELECT rm.member_principal_name, rm.principal_type_desc, rm.login, p.class_desc, p.[object_name], p.permission_name, coalesce(p.permission_state_desc, '<mitglied>'), rm.role_name FROM perms_cte p right outer JOIN ( select role_principal_id, dp.type_desc as principal_type_desc, member_principal_id,user_name(member_principal_id) as member_principal_name, user_name(role_principal_id) as role_name, sp.name as login from sys.database_role_members rm INNER JOIN sys.database_principals dp ON rm.member_principal_id = dp.principal_id left Join sys.server_principals sp on dp.sid = sp.sid ) rm ON rm.role_principal_id = p.principal_id order by 2, 1, 4, 5, 6, 8;
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
-
Hier findest du im Bereich "Präzise Berechtigungssysteme" divese Erklärungen (incl. Poster) als auch SQL's um Detailinfos zu bekommen:
-
Ich weiss nicht warum, aber es scheint zufunktioneiren.
Ich habe den bewussten Benutzer gelöscht und dann wieder hinzugefügt. Danach konnte ich Rechte setzen , die dann auch effektiv sind.
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 1. August 2022 12:18
- Als Antwort markiert Stefan FalzModerator Donnerstag, 4. August 2022 09:41