This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
Shape the future of IBM!
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Search existing ideas
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post your ideas
Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,
Post an idea
Upvote ideas that matter most to you
Get feedback from the IBM team to refine your idea
Specific links you will want to bookmark for future use
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
IBM Employees should enter Ideas at https://ideas.ibm.com
I understand your point now with the above example! We might plan to lift some column mask restrictions(SQLCODE -20478) including reason code 24, will it be okay for above scenario?
Db2 provided a built-in scalar function VERIFY_GROUP_FOR_USER, it could be used in column mask definition to decide whether a user can get mask or unmask value of the column.
In the following example, the EMPLOYEE table has column access control enabled. If the connection
is established outside a trusted context and Mary, who has a secondary authorization ID of "MGR",
queries the social security number of Tom from the EMPLOYEE table, the social security number is
returned. When Mary is no longer a manager, the same query displays the last four digits of Tom's
social security number.
CREATE MASK SSN_MASK ON EMPLOYEE
FOR COLUMN SSN
RETURN
CASE WHEN VERIFY_GROUP_FOR_USER(SESSION_USER, 'MGR') = 1
THEN SSN
ELSE 'XXX-XX-' || SUBSTR(SSN, 8, 4)
END
ENABLE;
COMMIT;
An ALTER TABLE statement is then issued to activate the column mask on the EMPLOYEE table:
ALTER TABLE EMPLOYEE
ACTIVATE COLUMN ACCESS CONTROL;
COMMIT;
Mary connects to Db2, issues the following query, then disconnects from Db2:
SELECT SSN
FROM EMPLOYEE
WHERE NAME = 'Tom';
Mary receives Tom's social security number.
When Mary is no longer a manager, the secondary authorization ID, MGR is removed for her
authorization ID. The next time Mary connects to Db2 and issues the following command, only the
last four digits of Tom's social security number are displayed because of the column mask SSN_MASK:
SELECT SSN
FROM EMPLOYEE
WHERE NAME = 'Tom'