-
Notifications
You must be signed in to change notification settings - Fork 136
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
LL ID #3984 + LL ID #4008: Screenshots + Collective Updates (#663)
* Self-QA Updates Adding workshop changes to further align with the Self-QA checklist. * Update adb-free-container-setup.md * Post-Testing Edits V1 * Update adb-free-container-setup.md * Post-Testing Changes V2 * Updating Screenshots * WMSID# 11693: Adding the initial workshop structure. * Update adb-free-container-setup.md * Update adb-free-container-setup.md * [WMS ID #11029] DB Collective - JSON Duality Search * WMS ID #11029: Minor fix * Update manifest.json * LL ID #4004: Add JSON Duality Intro * LL ID# 4004: Minor Updates * LL ID #4004: Minor updates. * WMS ID #11693: Revising the workshop structure. * WMS ID# 11693 * HOL 46 * DB Collective - JSON Updates * LL ID #4004: DB Collective Changes * OCW & DB Collective Updates * Update new-duality-views-15.md * Update new-duality-views-15.md * Update new-duality-views-15.md * Update new-duality-views-15.md * Update new-duality-views-15.md * Update new-duality-views-15.md * LL ID #3984: Formatting Changes * HOL 46 Technical Fixes * Update inst-auth-container-setup.md * DB Collective + OCW 24 Updates * Update manifest.json --------- Co-authored-by: William Masdon <[email protected]> Co-authored-by: Hope Fisher <[email protected]>
- Loading branch information
1 parent
9b4fc02
commit 5bf6a19
Showing
15 changed files
with
150 additions
and
63 deletions.
There are no files selected for viewing
Binary file modified
BIN
-1.05 KB
(96%)
23aifree/adb-free-container-setup/images/check-container-status.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+298 KB
23aifree/adb-free-container-setup/images/download-configuration-files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed
BIN
-164 KB
23aifree/adb-free-container-setup/images/download-installation-files.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+14.7 KB
(110%)
23aifree/adb-free-container-setup/images/podman-compose-up.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-9.15 KB
(88%)
23aifree/adb-free-container-setup/images/podman-load-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
118 changes: 118 additions & 0 deletions
118
db-23ai-fundamentals/new-schema-level-privileges/new-schema-level-privileges-15.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# Working with Schema-Level Privileges | ||
|
||
## Introduction | ||
|
||
Welcome to the Working with Schema-Level Privileges lab. In this lab, you will learn how to work with the new schema-level privilege management feature introduced in Oracle Database 23ai. | ||
|
||
**_Estimated Lab Time: 10 minutes_** | ||
|
||
### **Objective** | ||
The objective of this workshop is to learn how to work with the schema-level privilege grant in Oracle Database 23ai and demonstrate its practical applications for managing access to application schemas in an easy way. | ||
|
||
### **Prerequisites** | ||
- Access to Oracle Database 23ai. | ||
- Basic understanding of database schemas and privileges is recommended but not required. | ||
|
||
## Task 1: Understanding Schema-Level Privileges | ||
|
||
1. Before we get into the code examples, let's briefly talk about the traditional methods of privilege management in Oracle databases. | ||
|
||
* **Individual Privilege Grants**: This involves granting individual privileges on each table or view in the application schema. While granular, it's cumbersome and could cause user errors, especially with schema changes. | ||
|
||
* **ANY Privileges**: Granting "ANY" privileges (e.g., `SELECT ANY TABLE`) provides broad access but compromises security by granting excessive permissions. | ||
|
||
* Oracle Database 23ai introduces a simpler approach: **Schema-Level Privileges**. This allows granting privileges at the schema level, offering a balance between granularity and convenience. | ||
|
||
## Task 2: Benefiting from Schema-Level Privileges | ||
|
||
1. From the Autonomous Database home page, **click** Database action and then **click** SQL. | ||
 | ||
|
||
2. Let's now look at the syntax and usage of schema-level privileges in Oracle Database 23ai. First, we'll add a couple of test users. | ||
|
||
``` | ||
<copy> | ||
drop user if exists bob cascade; | ||
drop user if exists sally cascade; | ||
create user bob identified by Oracle123long; | ||
create user sally identified by Oracle123long; | ||
</copy> | ||
``` | ||
 | ||
Now we can grant our bob user various privileges to other users or roles. | ||
``` | ||
<copy> | ||
-- tables, views, and materialized views | ||
grant select any table on schema sally to bob; | ||
grant insert any table on schema sally to bob; | ||
grant update any table on schema sally to bob; | ||
grant delete any table on schema sally to bob; | ||
-- procedures, functions, packages, and sequences | ||
grant execute any procedure on schema sally to bob; | ||
grant select any sequence on schema sally to bob; | ||
</copy> | ||
``` | ||
 | ||
These grants provides user bob with select, insert, update, delete, execute any procedures, functions, packages, and select sequence privileges on all tables and views within the schema sally. | ||
3. Schema-level privileges dynamically adapt to schema changes. If new tables or views are added to the schema, users granted schema-level privileges instantly gain access without additional management. | ||
4. Oracle Database 23ai simplifies privilege management with dedicated views. We can use views like `DBA_SCHEMA_PRIVS` to check the schema-level privileges granted to users. Others include ROLE\_SCHEMA\_PRIVS, USER\_SCHEMA\_PRIVS, and SESSION\_SCHEMA\_PRIVS. | ||
``` | ||
<copy> | ||
SELECT * FROM DBA_SCHEMA_PRIVS WHERE GRANTEE = 'BOB'; | ||
</copy> | ||
``` | ||
 | ||
5. Just as expected, we can revoke the privileges too. Let's revoke bobs privileges on sally's schema | ||
``` | ||
<copy> | ||
-- tables, views, and materialized views | ||
revoke select any table on schema sally from bob; | ||
revoke insert any table on schema sally from bob; | ||
revoke update any table on schema sally from bob; | ||
revoke delete any table on schema sally from bob; | ||
-- procedures, functions, packages, and sequences | ||
revoke execute any procedure on schema sally from bob; | ||
revoke select any sequence on schema sally from bob; | ||
</copy> | ||
``` | ||
 | ||
## Task 3: Understanding Advanced Privilege Management | ||
1. You can also grant schema-level privileges on schemas without special privileges. However, granting privileges on other schemas requires additional privileges like GRANT ANY SCHEMA PRIVILEGE. | ||
3. In this lab, you've explored the schema-level privilege management in Oracle Database 23ai. By using schema-level privileges, you can drastically reduce the management and administration needed to grant schema privileges prior to 23ai and improve security through their use. | ||
4. We can clean up from the lab by dropping our tables. | ||
``` | ||
<copy> | ||
drop user if exists bob cascade; | ||
drop user if exists sally cascade; | ||
</copy> | ||
``` | ||
You may now **proceed to the next lab** | ||
## Learn More | ||
- [Oracle Database 23ai Documentation](https://docs.oracle.com/en/database/oracle/oracle-database/index.html) | ||
- [Oracle Blog - Exploring Schema-Level Privileges](https://blogs.oracle.com/cloudsecurity/post/schemalevel-privilege-grants-with-database-23c) | ||
## Acknowledgements | ||
* **Author** - Killian Lynch, Database Product Management | ||
* **Contributors** - Dom Giles, Distinguished Database Product Manager | ||
* **Last Updated By/Date** - Killian Lynch, April 2024 |
20 changes: 4 additions & 16 deletions
20
db-23ai-fundamentals/workshops/ai-db-collective-security-15/manifest.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,22 @@ | ||
{ | ||
"workshoptitle": "Security Quick Start", | ||
"workshoptitle": "Oracle 23ai Quick Start: Schema Level Privileges", | ||
"help": "[email protected]", | ||
"tutorials": [ | ||
{ | ||
"title": "Introduction", | ||
"description": "This is an introduction to security in 23ai", | ||
"description": "This is an introduction to Schema Level Privileges", | ||
"type": "livelabs", | ||
"filename": "../../intro/security-intro-15.md" | ||
}, | ||
{ | ||
"title": "Get Started with LiveLabs", | ||
"filename": "../../intro/green-button-setup.md" | ||
}, | ||
{ | ||
"title": "Lab 1: SQL Firewall", | ||
"description": "Fortify your database security with SQL Firewall, protecting against unauthorized access and potential threats.", | ||
"type": "livelabs", | ||
"filename": "../../new-sql-firewall/new-sql-firewall.md" | ||
}, | ||
{ | ||
"title": "Lab 2: Schema Level Privileges", | ||
"title": "Lab 1: Schema Level Privileges", | ||
"description": "Gain insights into schema-level privileges management, enhancing control and security at a granular level.", | ||
"type": "livelabs", | ||
"filename": "../../new-schema-level-privileges/new-schema-level-privileges.md" | ||
}, | ||
{ | ||
"title": "Lab 3: Developer Role", | ||
"description": "Establish and configure a dedicated developer role, streamlining development activities within the database.", | ||
"type": "livelabs", | ||
"filename": "../../new-developer-role/new-developer-role.md" | ||
"filename": "../../new-schema-level-privileges/new-schema-level-privileges-15.md" | ||
}, | ||
|
||
{ | ||
|