Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
476 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ Oracle ] Vue et problème de droits

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Oracle ] Vue et problème de droits

n°1585610
jeoff
Posté le 12-07-2007 à 10:31:59  profilanswer
 

Bonjour,

 

Je ne comprends pas pourquoi si j'ajoute des droits en passant par un role, je peux faire des select mais pas créer des vues se basant sur des select !

 

Compte Admin
-------------
grant select on dvpt.p_article to majauto;
grant majauto to sunopsis;

 

Compte Sunopsis
----------------
select * from dvpt.p_article;
--->OK
CREATE or replace VIEW article AS SELECT
  * from
  dvpt.p_article
;

 

Error report:
SQL Error: ORA-01031: privilèges insuffisants

 


Par contre :

 

Compte Admin
-------------

 

grant select on dvpt.p_article to sunopsis;

 

Compte Sunopsis
----------------
select * from dvpt.p_article;
--->OK
CREATE or replace VIEW article AS SELECT
  * from
  dvpt.p_article
;
CREATE or replace VIEW succeeded.

 


Ca fonctionne ...

 

Une idée ?

 

Merci :)


Message édité par jeoff le 12-07-2007 à 10:33:34

---------------
Mon blog séduction
mood
Publicité
Posté le 12-07-2007 à 10:31:59  profilanswer
 

n°1585811
MagicBuzz
Posté le 12-07-2007 à 15:31:16  profilanswer
 

Parce que SUNOPSIS a le droit à l'instruction "create" surtout.
 
Je crois même que t'as le droit de créer une vue sur une table om tu n'as pas le droit de faire SELECT dessus.
Par contre, tu ne pourras pas créer une vue si t'as pas l'autorisation CREATE dans la base.
 
PS : Même mieux, si tu as des informations sensibles dans une table, tu peux créer une vue dessus ne laissant pas apparaître les informations sensibles, mettre un grant à tout le monde sur la vue, et faire un deny à tout le monde sur la table : les gens pourront lire la table à travers la vue, sans jamais pouvoir accéder à la table directement (et donc tomber sur les infos sensibles).
 
C'est notamment comme ça que je sécurise mes bases WEB : j'use et abuse de PS et vues auxquelles je donne des autorisation à mon user "web". Puis le lui colle un deny de tous les autres objets. Ceci dit, je fais ça sous SQL Server, je ne sais pas ce que ça donne avec Oracle, mais le fonctionnement devrait être le même.


Message édité par MagicBuzz le 12-07-2007 à 15:31:56
n°1585824
jeoff
Posté le 12-07-2007 à 15:48:08  profilanswer
 

Désolé mais j'ai beau relire 3 fois ton message, je ne vois pas de réponse à ma question donc je me suis certainement mal exprimé !

 

Je souhaite créer un ROLE 'majauto' qui a les droits pour faire des SELECT sur certaines tables du SCHEMA de 'user2'.

 

J'affecte ce ROLE à un utilisateur SUNOPSIS.

 

Je n'arrive aps à créer de VUE sous le SCHEMA 'sunopsis' via les droits accordés par le ROLE 'majauto'

 

----

 

Si je ne passe pas par un ROLE pour attribuer les droits d'accès mais que j'autorise le SELECT directment sur le SCHEMA 'sunopsis'; je peux créer ma VUE.


Message édité par jeoff le 12-07-2007 à 15:49:26

---------------
Mon blog séduction
n°1585836
MagicBuzz
Posté le 12-07-2007 à 15:58:20  profilanswer
 

ah ouais, je viens de relire mieux ton script.
chelou ton machin.
 
sunopsis n'aurait pas un autre rôle contradictoire à majauto ?
 
quand tu lui enlèves le droit select, tu lui colle un DENY, ou tu ne fais que supprimer le GRANT ?
 
effectivement, si tu colles un DENY sur le compte directement, même s'il a un GRANT via son rôle, c'est le DENY qui prime.
 
(par contre, je pige pas le rapport entre le droit SELECT et l'autorisation de créer une vue... oracle serait-il encore plus pourri que ce que j'imaginais ?)

n°1585837
ajnag
where no man has gone before
Posté le 12-07-2007 à 16:00:21  profilanswer
 

normalement, seul le propriétaire du schema a le droit de donner des privilèges sur ces objets.
 
tu passes bien les grants avec le owner ?

n°1585863
jeoff
Posté le 12-07-2007 à 16:34:28  profilanswer
 

alors pas de deny, juste des grant et des revoke jusqu'à présent.
 
Pour passer les droits, j'utilise le compte sys as sysdba donc c'est peut être pour ça que ça déconne !
 
Je vais tester avec le compte du proprio :)


---------------
Mon blog séduction
n°1601863
gustavo3
Posté le 21-08-2007 à 17:20:27  profilanswer
 

bonjour je suis actuellement en stage et je commence a manipuler oracle 9i  
le probleme c ke je ne suis pas administrateur de ma base et je veu kand meme créer des base de donnée  
mais une fois tapez create database nom_base ; il me met "ORA-01031: privilèges insuffisants"  
je voulai savoir comment faire pour avoir tous les privileges  pour pouvoir créer ma base de donnée ou si il y a peut etre un login et mot de passe pour administrateur par defauts merci d'avance

n°1601926
ajnag
where no man has gone before
Posté le 21-08-2007 à 20:01:34  profilanswer
 

pas besoin de faire un create database sous oracle
 
par defaut, ta base de donnée est celle de ton utilisateur courant, il lui faut juste le droit "resource" afin de pouvoir creer des objets ( si tu arrives a faire un create table, c'est tout bon )
 
objets sur lesquels tu aura plein pouvoir
 
P.S. si tu te connectes en admin, le DBA va t'appeler Arthur [:ddr555]


Message édité par ajnag le 21-08-2007 à 20:02:08

---------------
Chasser sans bière c'est comme... pêcher sans bière.
n°1602072
gustavo3
Posté le 22-08-2007 à 09:37:46  profilanswer
 

merci ajnag  
enfaite j'ai reussi a créer ma propre base ( et differents tables aussi) avec la console oracle enterprise manager mais je n'arrive a me connecter a oracle management server (OMS) alors ke je rentre bien l'utilisateur et le mot de passe  
aidez moi svp

n°1604079
gustavo3
Posté le 26-08-2007 à 08:33:00  profilanswer
 

bonjour
j'ai reussi a importé une base de donnée mais je ne sais pas comment la lire ni la trouvé donc aidez mois vp merci d'avance

mood
Publicité
Posté le 26-08-2007 à 08:33:00  profilanswer
 

n°1604390
kavernwoma​n
Posté le 27-08-2007 à 13:31:55  profilanswer
 

arrives-tu à te connecter en sql+ ?


---------------
Le tout n'est pas de demander ... il faut aussi avoir cherché...
n°1609973
gustavo3
Posté le 10-09-2007 à 11:05:49  profilanswer
 

bonjour je veu me connecter a ma base oracle 9i via vb.net j'ecri le code suivant:  
 
 Imports Oracle.DataAccess.Client
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim MyConnection As OleDbConnection
    Dim MyCommand As OleDbCommand
 
#Region " Code généré par le Concepteur Windows Form "
 
    Public Sub New()
        MyBase.New()
 
        'Cet appel est requis par le Concepteur Windows Form.
        InitializeComponent()
 
        'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
 
    End Sub
 
    'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    'Requis par le Concepteur Windows Form
    Private components As System.ComponentModel.IContainer
 
    'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
    'Elle peut être modifiée en utilisant le Concepteur Windows Form.  
    'Ne la modifiez pas en utilisant l'éditeur de code.
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Label1 = New System.Windows.Forms.Label
        Me.Button1 = New System.Windows.Forms.Button
        Me.SuspendLayout()
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(184, 24)
        Me.Label1.Name = "Label1"
        Me.Label1.TabIndex = 0
        Me.Label1.Text = "connection2"
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(152, 88)
        Me.Button1.Name = "Button1"
        Me.Button1.TabIndex = 1
        Me.Button1.Text = "Button1"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.Label1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)
 
    End Sub
 
#End Region
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim str As String
        Dim MyConnection = New OleDbConnection("Provider=oraoledb.oracle.1;UserID=rasinfotel;password=05051981;database=moustapha" )
        Try
            MyConnection.Open()
        Catch ex As Exception
            MsgBox(" connection failed" )
            MsgBox("la connection a echouée" )
            MsgBox(ex.Source & " " & Err.Description)
            str = "SELECT NOM FROM EMPL"
            MyCommand = New OleDbCommand(str, MyConnection)
            Dim a As String
            Dim myReader As OleDbDataReader = MyCommand.ExecuteReader()
            Do While myReader.Read()
                a = myReader(0)
            Loop
            myReader.Close()
            MyConnection.Close()
        End Try
    End Sub
End Class
 
et sa m'affiche connection echoué alors ke la base et l'utilisateur sont existant et sa m'affiche aussi  
 
""Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll""
donc aider moi svp


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ Oracle ] Vue et problème de droits

 

Sujets relatifs
Problème bindingSource/TabControlproblème recherchev(vlookup vba)
Problème encodage PHP/XML/HTMLprobleme de height avec IE
Problème de recopie d'une date.probleme de lancement de script
Problème : URL et anti-pubProblème avec chaine de caractère et caracrtère spécial.
[AS3]gestion d'évènement [RESOLU] mais autre problèmeProblème avec la génération de certain PDF
Plus de sujets relatifs à : [ Oracle ] Vue et problème de droits


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR