SlideShare a Scribd company logo
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0 : Roles
Harin Vadodaria,
Developer,
MySQL Server General Team
December 16, 2016
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Roles in MySQL 8
Questions & Answers
1
2
4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles - Introduction
• Containers for privileges
– Can contain variety of privileges and/or
other roles
• Grantable – just like regular
privileges
• Usually – without ability to login
– But pretty similar to users otherwise.
Confidential – Oracle Internal/Restricted/Highly Restricted 5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles - Introduction
• Makes administration easier
• Less complicated grant structure
• Easy to add/remove privileges
Confidential – Oracle Internal/Restricted/Highly Restricted 6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – In MySQL
• Shares namespace with users
– Logically similar to a user account : Albeit without ability to login
– Information is stored in mysql.user table
• Grant information
• Who is granted What and How?
• From mysql.roles_edges table
• Role activation information
• Which role is to be activated by default?
• From mysql.default_roles table
Confidential – Oracle Internal/Restricted/Highly Restricted 7
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – In MySQL
• Internals
– AuthorizationID: <user_identifier>@<host_identifier>
• Both, user and role are AuthorizationID
• Identical privilege representation
– Role graph is constructed using boost graph library
– Breadth-first search of roles for privilege checking
– New caching mechanism to boost privilege information retrieval in case of roles
Confidential – Oracle Internal/Restricted/Highly Restricted 8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Creating/Deleting roles
• CREATE ROLE roleA;
– Creates a placeholder in mysql.user as
a locked account
– roleA is not actually a role unless it is
granted
• Syntax variations
– IF NOT EXISTS
– Creating multiple roles
• DROP ROLE roleA;
– Removes roleA from database
– Including roleA’s grants and default
activation instructions if any
• Syntax variations
– IF EXISTS
– Dropping multiple roles
Confidential – Oracle Internal/Restricted/Highly Restricted 9
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Privilege Assignment
• GRANT SELECT ON *.* TO roleA;
– Just like grants for user
• Syntax variations
– Grant to multiple roles
– Supports different privilege levels
• Global
• Schema
• Object and Sub-object
• REVOKE SELECT ON *.* FROM roleA;
• Syntax variations
– Revoke privileges from multiple roles
Confidential – Oracle Internal/Restricted/Highly Restricted 10
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Management
• GRANT roleA TO userA;
– Grants roleA to userA
– Makes it possible for userA to inherit
roleA’s properties
• Syntax variations
– Grant multiple roles to multiple
users/roles
– WITH ADMIN OPTION
• More on that later!
• REVOKE roleA FROM userA;
– Revokes roleA from userA
• Syntax variations
– Revoke multiple roles from multiple
users/roles
Confidential – Oracle Internal/Restricted/Highly Restricted 11
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Management
• Roles hierarchy
– Possible to grant roles to other roles
– Facilitates composition
Confidential – Oracle Internal/Restricted/Highly Restricted 12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Management
• WITH ADMIN OPTION
– Delegates ability to control a role
– Create lesser admins to manage
subset of roles
Confidential – Oracle Internal/Restricted/Highly Restricted 13
GRANT roleA TO userA
WITH ADMIN OPTION
GRANT roleA TO userB
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Activation/Deactivation
• Principle of least privilege : Don’t always use the big guns!
• SET ROLE roleA
– Roles are not active by default
• Syntax variations
– SET ROLE <role_list>
– SET ROLE ALL
• SET ROLE NONE
– Deactivate all active roles
Confidential – Oracle Internal/Restricted/Highly Restricted 14
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Activation/Deactivation
Confidential – Oracle Internal/Restricted/Highly Restricted 15
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Default Activation
• Activate common minimum set by default
– SET DEFAULT ROLE roleA TO userA | ALTER USER userA SET DEFAULT ROLE roleA
– Roles are activated automatically upon successful login
– Possible to activate multiple roles by default
Confidential – Oracle Internal/Restricted/Highly Restricted 16
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Information
• New extension:
SHOW GRANTS FOR <user>
USING <role>
Confidential – Oracle Internal/Restricted/Highly Restricted 17
• SHOW GRANTS
– Direct grants
• SHOW GRANTS … USING …
– Direct grants + grants from given role
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roles – Information
• ROLES_GRAPHML() : graphml representation of entire role graph
Confidential – Oracle Internal/Restricted/Highly Restricted 18
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Questions &
Answers
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The preceding is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
20
MySQL 8.0 : Roles

More Related Content

What's hot

NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
Mario Beck
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
Olivier DASINI
 
MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
Mark Swarbrick
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
Mario Beck
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Markus Michalewicz
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Mario Beck
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
Olivier DASINI
 
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
Frederic Descamps
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Markus Michalewicz
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
Mark Swarbrick
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of Nottingham
Mark Swarbrick
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
Ted Wennmark
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted Wennmark
 
MySQL Security & GDPR
MySQL Security & GDPRMySQL Security & GDPR
MySQL Security & GDPR
Mark Swarbrick
 
DevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 SecurityDevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 Security
Georgi Kodinov
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
Ted Wennmark
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
Markus Michalewicz
 
MySQL 8
MySQL 8MySQL 8
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Ted Wennmark
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 

What's hot (20)

NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
 
MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of Nottingham
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL Security & GDPR
MySQL Security & GDPRMySQL Security & GDPR
MySQL Security & GDPR
 
DevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 SecurityDevTalks.ro 2019 What's New in MySQL 8.0 Security
DevTalks.ro 2019 What's New in MySQL 8.0 Security
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
MySQL 8
MySQL 8MySQL 8
MySQL 8
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 

Viewers also liked

Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
Chien Chung Shen
 
Oracle Database Undo Segment Operation Concept
Oracle Database Undo Segment Operation ConceptOracle Database Undo Segment Operation Concept
Oracle Database Undo Segment Operation Concept
Chien Chung Shen
 
Commonly Misspelled English Words Spelling Quiz
Commonly Misspelled English Words Spelling QuizCommonly Misspelled English Words Spelling Quiz
Commonly Misspelled English Words Spelling Quiz
Jonna Cadores
 
User Management and Role Management in IT360
User Management and Role Management in IT360User Management and Role Management in IT360
User Management and Role Management in IT360
K.Lakshmi Shankar Davey
 
User, roles and privileges
User, roles and privilegesUser, roles and privileges
User, roles and privileges
Yogiji Creations
 
security and privacy in dbms and in sql database
security and privacy in dbms and in sql databasesecurity and privacy in dbms and in sql database
security and privacy in dbms and in sql database
gourav kottawar
 
OIM11g R2PS2 Architecture
OIM11g R2PS2 ArchitectureOIM11g R2PS2 Architecture
OIM11g R2PS2 Architecture
Atul Goyal
 
Database backup and recovery
Database backup and recoveryDatabase backup and recovery
Database backup and recovery
Anne Lee
 
Présentation Oracle DataBase 11g
Présentation Oracle DataBase 11gPrésentation Oracle DataBase 11g
Présentation Oracle DataBase 11g
Cynapsys It Hotspot
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释
Yanpo Zhang
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oracle
sadegh salehi
 
MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?
Norvald Ryeng
 
MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions
oysteing
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
Sidney Chen
 
Overview of Oracle Identity Management - Customer Presentation
Overview of Oracle Identity Management - Customer PresentationOverview of Oracle Identity Management - Customer Presentation
Overview of Oracle Identity Management - Customer Presentation
Delivery Centric
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overview
honglee71
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Kenny Gryp
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performance
oysteing
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture ppt
Deepak Shetty
 

Viewers also liked (19)

Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
 
Oracle Database Undo Segment Operation Concept
Oracle Database Undo Segment Operation ConceptOracle Database Undo Segment Operation Concept
Oracle Database Undo Segment Operation Concept
 
Commonly Misspelled English Words Spelling Quiz
Commonly Misspelled English Words Spelling QuizCommonly Misspelled English Words Spelling Quiz
Commonly Misspelled English Words Spelling Quiz
 
User Management and Role Management in IT360
User Management and Role Management in IT360User Management and Role Management in IT360
User Management and Role Management in IT360
 
User, roles and privileges
User, roles and privilegesUser, roles and privileges
User, roles and privileges
 
security and privacy in dbms and in sql database
security and privacy in dbms and in sql databasesecurity and privacy in dbms and in sql database
security and privacy in dbms and in sql database
 
OIM11g R2PS2 Architecture
OIM11g R2PS2 ArchitectureOIM11g R2PS2 Architecture
OIM11g R2PS2 Architecture
 
Database backup and recovery
Database backup and recoveryDatabase backup and recovery
Database backup and recovery
 
Présentation Oracle DataBase 11g
Présentation Oracle DataBase 11gPrésentation Oracle DataBase 11g
Présentation Oracle DataBase 11g
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oracle
 
MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?
 
MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
Overview of Oracle Identity Management - Customer Presentation
Overview of Oracle Identity Management - Customer PresentationOverview of Oracle Identity Management - Customer Presentation
Overview of Oracle Identity Management - Customer Presentation
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overview
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performance
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture ppt
 

Similar to MySQL 8.0 : Roles

MySQL in OPC(Oracle Public Cloud)
MySQL in OPC(Oracle Public Cloud)MySQL in OPC(Oracle Public Cloud)
MySQL in OPC(Oracle Public Cloud)
Ramana Yeruva
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
Morgan Tocker
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
Dave Stokes
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners Guide
Courtney Llamas
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
Jeff Smith
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
Doug Gault
 
Pl17: MySQL 8.0: security
Pl17: MySQL 8.0: securityPl17: MySQL 8.0: security
Pl17: MySQL 8.0: security
Georgi Kodinov
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Ben Krug
 
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
Dave Stokes
 
Less06 users
Less06 usersLess06 users
Less06 users
Imran Ali
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)
Jeff Smith
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
Ivan Ma
 
MySQL Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
Morgan Tocker
 
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and ContainersJfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and Containers
Mika Rinne
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
AiougVizagChapter
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Chris Muir
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
Steven Davelaar
 

Similar to MySQL 8.0 : Roles (20)

MySQL in OPC(Oracle Public Cloud)
MySQL in OPC(Oracle Public Cloud)MySQL in OPC(Oracle Public Cloud)
MySQL in OPC(Oracle Public Cloud)
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners Guide
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
 
Pl17: MySQL 8.0: security
Pl17: MySQL 8.0: securityPl17: MySQL 8.0: security
Pl17: MySQL 8.0: security
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
 
Less06 users
Less06 usersLess06 users
Less06 users
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
 
MySQL Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
 
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and ContainersJfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and Containers
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 

Recently uploaded

Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
jrodriguezq3110
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
VictoriaMetrics
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
Softradix Technologies
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdfThe Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
kalichargn70th171
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
mohitd6
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Building the Ideal CI-CD Pipeline_ Achieving Visual Perfection
Building the Ideal CI-CD Pipeline_ Achieving Visual PerfectionBuilding the Ideal CI-CD Pipeline_ Achieving Visual Perfection
Building the Ideal CI-CD Pipeline_ Achieving Visual Perfection
Applitools
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
servicesNitor
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 

Recently uploaded (20)

Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdfThe Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
The Ultimate Guide to Top 36 DevOps Testing Tools for 2024.pdf
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Building the Ideal CI-CD Pipeline_ Achieving Visual Perfection
Building the Ideal CI-CD Pipeline_ Achieving Visual PerfectionBuilding the Ideal CI-CD Pipeline_ Achieving Visual Perfection
Building the Ideal CI-CD Pipeline_ Achieving Visual Perfection
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 

MySQL 8.0 : Roles

  • 1.
  • 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 : Roles Harin Vadodaria, Developer, MySQL Server General Team December 16, 2016
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda Roles in MySQL 8 Questions & Answers 1 2 4
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles - Introduction • Containers for privileges – Can contain variety of privileges and/or other roles • Grantable – just like regular privileges • Usually – without ability to login – But pretty similar to users otherwise. Confidential – Oracle Internal/Restricted/Highly Restricted 5
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles - Introduction • Makes administration easier • Less complicated grant structure • Easy to add/remove privileges Confidential – Oracle Internal/Restricted/Highly Restricted 6
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – In MySQL • Shares namespace with users – Logically similar to a user account : Albeit without ability to login – Information is stored in mysql.user table • Grant information • Who is granted What and How? • From mysql.roles_edges table • Role activation information • Which role is to be activated by default? • From mysql.default_roles table Confidential – Oracle Internal/Restricted/Highly Restricted 7
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – In MySQL • Internals – AuthorizationID: <user_identifier>@<host_identifier> • Both, user and role are AuthorizationID • Identical privilege representation – Role graph is constructed using boost graph library – Breadth-first search of roles for privilege checking – New caching mechanism to boost privilege information retrieval in case of roles Confidential – Oracle Internal/Restricted/Highly Restricted 8
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Creating/Deleting roles • CREATE ROLE roleA; – Creates a placeholder in mysql.user as a locked account – roleA is not actually a role unless it is granted • Syntax variations – IF NOT EXISTS – Creating multiple roles • DROP ROLE roleA; – Removes roleA from database – Including roleA’s grants and default activation instructions if any • Syntax variations – IF EXISTS – Dropping multiple roles Confidential – Oracle Internal/Restricted/Highly Restricted 9
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Privilege Assignment • GRANT SELECT ON *.* TO roleA; – Just like grants for user • Syntax variations – Grant to multiple roles – Supports different privilege levels • Global • Schema • Object and Sub-object • REVOKE SELECT ON *.* FROM roleA; • Syntax variations – Revoke privileges from multiple roles Confidential – Oracle Internal/Restricted/Highly Restricted 10
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Management • GRANT roleA TO userA; – Grants roleA to userA – Makes it possible for userA to inherit roleA’s properties • Syntax variations – Grant multiple roles to multiple users/roles – WITH ADMIN OPTION • More on that later! • REVOKE roleA FROM userA; – Revokes roleA from userA • Syntax variations – Revoke multiple roles from multiple users/roles Confidential – Oracle Internal/Restricted/Highly Restricted 11
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Management • Roles hierarchy – Possible to grant roles to other roles – Facilitates composition Confidential – Oracle Internal/Restricted/Highly Restricted 12
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Management • WITH ADMIN OPTION – Delegates ability to control a role – Create lesser admins to manage subset of roles Confidential – Oracle Internal/Restricted/Highly Restricted 13 GRANT roleA TO userA WITH ADMIN OPTION GRANT roleA TO userB
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Activation/Deactivation • Principle of least privilege : Don’t always use the big guns! • SET ROLE roleA – Roles are not active by default • Syntax variations – SET ROLE <role_list> – SET ROLE ALL • SET ROLE NONE – Deactivate all active roles Confidential – Oracle Internal/Restricted/Highly Restricted 14
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Activation/Deactivation Confidential – Oracle Internal/Restricted/Highly Restricted 15
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Default Activation • Activate common minimum set by default – SET DEFAULT ROLE roleA TO userA | ALTER USER userA SET DEFAULT ROLE roleA – Roles are activated automatically upon successful login – Possible to activate multiple roles by default Confidential – Oracle Internal/Restricted/Highly Restricted 16
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Information • New extension: SHOW GRANTS FOR <user> USING <role> Confidential – Oracle Internal/Restricted/Highly Restricted 17 • SHOW GRANTS – Direct grants • SHOW GRANTS … USING … – Direct grants + grants from given role
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roles – Information • ROLES_GRAPHML() : graphml representation of entire role graph Confidential – Oracle Internal/Restricted/Highly Restricted 18
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Questions & Answers
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 20