dbTalk Databases Forums  

Centralized user management

comp.databases.mysql comp.databases.mysql


Discuss Centralized user management in the comp.databases.mysql forum.



Reply
 
Thread Tools Display Modes
  #11  
Old   
Dr.X
 
Posts: n/a

Default Re: Centralized user management - 03-23-2011 , 09:49 PM






On Wed, 23 Mar 2011 23:46:14 -0400, Jerry Stuckle
<jstucklex (AT) attglobal (DOT) net> wrote:

Quote:
On 3/23/2011 7:35 PM, Dr.X wrote:
On Wed, 23 Mar 2011 14:26:47 -0400, Jerry Stuckle
jstucklex (AT) attglobal (DOT) net> wrote:

On 3/23/2011 9:03 AM, PavelVD wrote:
we have phpmyadmin for management MySql servers,but I'm talking about
the convenience distribution grants to users, review the grants, the
simultaneous distribution grants to multiple servers, audit grants,
easily add users directly to the few servers and so on. in phpmyadmin
no such and unlikely to be because this istrument designed to control
at any one time by one server.

It's not just PHPMyAdmin - that's the way MySQL works. It isn't set up
to do what you want.

If you need such things, I suggest you go with a more mature database
such as Oracle, SQLServer or DB2. They should meet your needs.

Can MySql do replication of databases accross machines? And if so,
isn't the users stored in a database? One would think something as
simple as user management should be easily done using the servers
ability to replicate data accross servers. I could be wrong. Probably
am. :-\

I think it really would suck if multiple servers would have to be
administered seperately if there were too many of them like his
situation (80 servers?) Yikes!

Maybe a script that can import users from ldap?

-Dr.X

Yes, MySQL can do replication, and if you want exactly the same
databases and permissions across multiple systems, it can do that.

But typically multiple servers have different databases and different
permission requirements, so replication will do no good.

You're thinking of small companies which might have the same database(s)
on multiple systems, all with the same permissions. Such is NOT the
case in large enterprise systems. Each system has its own database(s)
and it's own access requirement.

Replication does not help in such an instance.

Well.... that sux

Sounds like a custom app solution is in order.

-Dr.X

Reply With Quote
  #12  
Old   
PavelVD
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 02:15 AM






Storage rights in the external storage is very controversial decision.
In any case, will be an additional layer of paper with a database
that, immediately below the index of reliability of the system as a
whole. Plus, in any case this (perhaps minimally) affect the
productivity and performance.

Reply With Quote
  #13  
Old   
Axel Schwenke
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 03:13 AM



Jerry Stuckle <jstucklex (AT) attglobal (DOT) net> wrote:
Quote:
On 3/23/2011 5:47 PM, Axel Schwenke wrote:

Which defeats the purpose of centralized administration, really.

Not IMHO
[full quote snipped]

Quote:
It's very simple, Axel. Storing the information in other areas gives
certain people permission to access specific things.

For instance - someone who is a member of the "HR" group would have
access to specific information in databases such as home address, phone,
salary, etc.
Bleh. I know all this.

Still the question is: if you have a database server that get hundreds
of login requests per second - do you really want to transfer GRANT
records (that can be from a dozen up to some hundred) from the
dictionary to the MySQL server for each single access?

In most cases the answer is "No"

But when you accept that, then you can as well have your central
repository of GRANTs and roll them out (automated, of course) to the
servers as needed. Say if HR moves Mr. Jerry S. from the database group
to facility management, they can strip the database permissions from
his dictionary entry and hit the magical "Synchronize With World"
button. In fact the same would work with passwords. And indeed many
companies implement it in a way where the central password dictionary
is pushed to edge servers only once a day or so.

I must also say that it is very uncommon to give permissions on the
SQL level to physical person accounts. Most database accounts are for
whole applications and if persons have different access rights, the
application handles those.

I never have seen the need to couple a MySQL database server with the
corporate dictionary. Instead we had the GRANT files for our MySQL
servers in CVS. And there was a script to automatically push the latest
GRANTs to the servers. IIRC we had about 10-20 accounts per server and
only one account (on one server) that directly matched a person.


XL

Reply With Quote
  #14  
Old   
Jerry Stuckle
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 06:35 AM



On 3/24/2011 5:13 AM, Axel Schwenke wrote:
Quote:
Jerry Stuckle<jstucklex (AT) attglobal (DOT) net> wrote:
On 3/23/2011 5:47 PM, Axel Schwenke wrote:

Which defeats the purpose of centralized administration, really.

Not IMHO

[full quote snipped]

It's very simple, Axel. Storing the information in other areas gives
certain people permission to access specific things.

For instance - someone who is a member of the "HR" group would have
access to specific information in databases such as home address, phone,
salary, etc.

Bleh. I know all this.

Still the question is: if you have a database server that get hundreds
of login requests per second - do you really want to transfer GRANT
records (that can be from a dozen up to some hundred) from the
dictionary to the MySQL server for each single access?

In most cases the answer is "No"

Incorrect. In most large enterprises, the answer is YES.

Quote:
But when you accept that, then you can as well have your central
repository of GRANTs and roll them out (automated, of course) to the
servers as needed. Say if HR moves Mr. Jerry S. from the database group
to facility management, they can strip the database permissions from
his dictionary entry and hit the magical "Synchronize With World"
button. In fact the same would work with passwords. And indeed many
companies implement it in a way where the central password dictionary
is pushed to edge servers only once a day or so.

That's fine if you have one person or group managing all database
servers. That is definitely NOT the case in large companies - It's not
at all unusual to have hundreds of servers managed by dozens of groups
of people. And each group determines the permissions allowed for their
server(s). But that is still determined by overall position within the
company.

Quote:
I must also say that it is very uncommon to give permissions on the
SQL level to physical person accounts. Most database accounts are for
whole applications and if persons have different access rights, the
application handles those.

Yes and no. In the real world, it is VERY common to give permissions to
people also. It's an added layer of security to sensitive data.

Quote:
I never have seen the need to couple a MySQL database server with the
corporate dictionary. Instead we had the GRANT files for our MySQL
servers in CVS. And there was a script to automatically push the latest
GRANTs to the servers. IIRC we had about 10-20 accounts per server and
only one account (on one server) that directly matched a person.


XL
That's because you've never been in a large corporate environment. And
it's another example why MySQL is considered a toy database by large
companies.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex (AT) attglobal (DOT) net
==================

Reply With Quote
  #15  
Old   
Axel Schwenke
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 08:20 AM



Jerry Stuckle <jstucklex (AT) attglobal (DOT) net> wrote:
Quote:
On 3/24/2011 5:13 AM, Axel Schwenke wrote:

Still the question is: if you have a database server that get hundreds
of login requests per second - do you really want to transfer GRANT
records (that can be from a dozen up to some hundred) from the
dictionary to the MySQL server for each single access?

In most cases the answer is "No"

Incorrect. In most large enterprises, the answer is YES.
You talk bullshit. Have you ever seen a productive database?

Quote:
... indeed many
companies implement it in a way where the central password dictionary
is pushed to edge servers only once a day or so.

That's fine if you have one person or group managing all database
servers. That is definitely NOT the case in large companies - It's not
at all unusual to have hundreds of servers managed by dozens of groups
of people.
There is no contradiction here. Having a centralized dictionary for
users and permissions that are pushed to edge servers only occasionally
(meaning the edge servers have their own local dictionary) limits in no
way how many people or groups of people are managing the objects in the
dictionary.

Again I don't think *you* have ever seen a large company from inside.
Sun did it so. Oracle does it so. Change your password today and wait
up to 24 hours until it has been pushed to edge systems.


XL

Reply With Quote
  #16  
Old   
Jerry Stuckle
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 10:58 AM



On 3/24/2011 10:20 AM, Axel Schwenke wrote:
Quote:
Jerry Stuckle<jstucklex (AT) attglobal (DOT) net> wrote:
On 3/24/2011 5:13 AM, Axel Schwenke wrote:

Still the question is: if you have a database server that get hundreds
of login requests per second - do you really want to transfer GRANT
records (that can be from a dozen up to some hundred) from the
dictionary to the MySQL server for each single access?

In most cases the answer is "No"

Incorrect. In most large enterprises, the answer is YES.

You talk bullshit. Have you ever seen a productive database?

Axel, I spent 13 years with IBM, several of those working on DB2
databases. And I've been training Fortune 500 companies for another 20
years, including programming and Database Administration. I've seen a
lot more real world databases than you have.

Quote:
... indeed many
companies implement it in a way where the central password dictionary
is pushed to edge servers only once a day or so.

That's fine if you have one person or group managing all database
servers. That is definitely NOT the case in large companies - It's not
at all unusual to have hundreds of servers managed by dozens of groups
of people.

There is no contradiction here. Having a centralized dictionary for
users and permissions that are pushed to edge servers only occasionally
(meaning the edge servers have their own local dictionary) limits in no
way how many people or groups of people are managing the objects in the
dictionary.

Again I don't think *you* have ever seen a large company from inside.
Sun did it so. Oracle does it so. Change your password today and wait
up to 24 hours until it has been pushed to edge systems.


XL
Obviously from your updates here and other places, your ONLY experience
has been with MySQL. You really should learn what the REAL world is
like. It is NOT a toy database running on a web server.


--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex (AT) attglobal (DOT) net
==================

Reply With Quote
  #17  
Old   
Jerry Stuckle
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 01:25 PM



On 3/24/2011 12:54 PM, Michael Vilain wrote:
Quote:
In article<8i0s58-b9n.ln1 (AT) xl (DOT) homelinux.org>,
Axel Schwenke<axel.schwenke (AT) gmx (DOT) de> wrote:

Jerry Stuckle<jstucklex (AT) attglobal (DOT) net> wrote:
On 3/24/2011 5:13 AM, Axel Schwenke wrote:

Still the question is: if you have a database server that get hundreds
of login requests per second - do you really want to transfer GRANT
records (that can be from a dozen up to some hundred) from the
dictionary to the MySQL server for each single access?

In most cases the answer is "No"

Incorrect. In most large enterprises, the answer is YES.

You talk bullshit. Have you ever seen a productive database?

... indeed many
companies implement it in a way where the central password dictionary
is pushed to edge servers only once a day or so.

That's fine if you have one person or group managing all database
servers. That is definitely NOT the case in large companies - It's not
at all unusual to have hundreds of servers managed by dozens of groups
of people.

There is no contradiction here. Having a centralized dictionary for
users and permissions that are pushed to edge servers only occasionally
(meaning the edge servers have their own local dictionary) limits in no
way how many people or groups of people are managing the objects in the
dictionary.

Again I don't think *you* have ever seen a large company from inside.
Sun did it so. Oracle does it so. Change your password today and wait
up to 24 hours until it has been pushed to edge systems.


XL

I've been 'out of the game' for a while now, but most of the database
systems I've seen have been one-offs. They were built for a specific
application and ran that application with a set of users and grants for
those users. In contrast, the computing environment these systems ran
on had LDAP for single sign-on. I'm still trying to think of a
production environment that would have multiple database systems (e.g.
instances of MySQL) running on multiple machines that all shared the
same set of users. I'm having trouble picturing it. Obviously, the OP
has a case for this but I think it's far from the norm.

For now, the MySQL world doesn't distribute grants and only allows for
user/password through LDAP. So the OP is stuck administering multiple
machines or writing their own tool.

Not unusual at all in a corporate environment. For instance, the
corporate HQ would have a database with all employees. All employees
(and only employees) have access to some information on the database,
i.e. names, departments, internal phone numbers, etc.. Managers would
have access to additional information such as home address/phone,
salaries, etc. and be able to change that information for their
employees. Some employees could be on call 24/7, so dispatchers would
have home phone numbers (but not addresses, salaries, etc.).

Each site would have its own database containing site-specific
information. All employees would have access to some site information;
employees of that site would have access to additional information.
Managers of the site (and some employees) would have ability to
add/change information on the site.

A site with multiple buildings would have building-specific information,
similar to the site. And a department would have a database for the
department.

Now you could have multiple DBA groups involved; Corporate HQ would
obviously have one; each site could have one, and each building on a
site could have one. Departments probably wouldn't have DBA's - they
would leave it to the building DBA.

But each organization, all the way down to the department, may have
programmers writing code for things required by their organization.
These aren't necessarily fancy systems; often times it's just creating
reports from the data in a format their manager likes. But access must
be controlled.

Specific access rights are handled by groups at the organization level;
the DBA's for the system assign the desired database rights to the
group, but are not concerned about who is in the group.

With centralized administration, when an employee moves to a different
department, it's a simple matter for someone with the appropriate
authority (it could be HQ, but is often the person's old and new
managers or, even more often, an admin person assigned to that manager)
to remove that person from one set of groups and adding him/her to
another set of groups. The changes are made at the corporate level, and
are reflected down into the lower levels.

None of this is theoretical - it's the way large corporations typically
work when they have centralized administration.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex (AT) attglobal (DOT) net
==================

Reply With Quote
  #18  
Old   
Peter H. Coffin
 
Posts: n/a

Default Re: Centralized user management - 03-24-2011 , 01:43 PM



On Thu, 24 Mar 2011 09:54:02 -0700, Michael Vilain wrote:
Quote:
I've been 'out of the game' for a while now, but most of the database
systems I've seen have been one-offs. They were built for a specific
application and ran that application with a set of users and grants for
those users. In contrast, the computing environment these systems ran
on had LDAP for single sign-on.
Which is, when you think about it, entirely reasonable. Essentially,
you're really dealing with two different things: authentication and
access. Once you've established that it really is jblow at the other end
of the connection, you can THEN worry about what jblow is allowed to
look act. Which means a 5.5 style separation of authentication out to
{LDAP/PAM/some other means including internal tables} and retaining the
permissions list inside the system makes a good deal of sense.

--
94. When arresting prisoners, my guards will not allow them to stop and
grab a useless trinket of purely sentimental value.
--Peter Anspach's list of things to do as an Evil Overlord

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.