📖 Scenario: You are working in a company that uses Hadoop to store and process big data. To keep data safe, the company uses Apache Ranger to control who can access which data.Apache Ranger helps set rules so only the right people can see or change data.
🎯 Goal: You will create a simple setup to define user permissions using Apache Ranger concepts. You will create a list of users and their roles, set a permission level, check who can access data, and finally print the users who have access.
📋 What You'll Learn
Create a dictionary of users with their roles
Create a variable for minimum permission level required
Use a loop to find users with permission level equal or higher than the minimum
Print the list of users who have access
💡 Why This Matters
🌍 Real World
Apache Ranger is used in big data environments to control who can see or change data. This project shows a simple way to check user permissions.
💼 Career
Understanding authorization helps data engineers and security analysts protect sensitive data and comply with company policies.
Progress0 / 4 steps
1
Create a dictionary of users and their roles
Create a dictionary called user_roles with these exact entries: 'alice': 'admin', 'bob': 'user', 'carol': 'guest', 'dave': 'user', 'eve': 'admin'
Hadoop
Hint
Use curly braces {} to create a dictionary. Each entry has a username as key and role as value.
2
Set the minimum permission level required
Create a variable called min_permission and set it to the string 'user' to represent the minimum role needed to access data.
Hadoop
Hint
Just assign the string 'user' to the variable min_permission.
3
Find users with permission level equal or higher than minimum
Create a list called allowed_users that contains usernames from user_roles whose role is either 'admin' or 'user'. Use a for loop with variables user and role to iterate over user_roles.items().
Hadoop
Hint
Use a for loop to check each user's role. If role is 'admin' or 'user', add the username to allowed_users list.
4
Print the list of users who have access
Write a print statement to display the allowed_users list.
Hadoop
Hint
Use print(allowed_users) to show the list of users who have access.
Practice
(1/5)
1. What is the main purpose of Apache Ranger in a Hadoop ecosystem?
easy
A. To speed up data processing tasks
B. To store large amounts of data efficiently
C. To control who can access data and what actions they can perform
D. To backup data automatically
Solution
Step 1: Understand Apache Ranger's role
Apache Ranger is designed to manage security by controlling access to data.
Step 2: Compare options with Ranger's function
Only To control who can access data and what actions they can perform describes access control, which matches Ranger's purpose.
Final Answer:
To control who can access data and what actions they can perform -> Option C
Quick Check:
Authorization = Access control [OK]
Hint: Remember: Ranger = data access control tool [OK]
Common Mistakes:
Confusing Ranger with data storage tools
Thinking Ranger speeds up processing
Assuming Ranger handles backups
2. Which of the following is the correct way to define a policy in Apache Ranger?
easy
A. Specify users/groups, resources, and allowed actions
B. Write SQL queries to filter data
C. Create MapReduce jobs for data processing
D. Configure Hadoop cluster nodes
Solution
Step 1: Identify what a Ranger policy includes
A policy defines who (users/groups) can do what (actions) on which data (resources).
Step 2: Match options to policy components
Only Specify users/groups, resources, and allowed actions correctly lists these elements.
Final Answer:
Specify users/groups, resources, and allowed actions -> Option A
3. Given the following Ranger policy snippet: {"users": ["alice"], "resources": {"database": "sales"}, "permissions": ["select", "update"]} What actions can user 'alice' perform on the 'sales' database?
medium
A. Only select data
B. Select and update data
C. Delete data
D. No actions allowed
Solution
Step 1: Read the policy details
User 'alice' is allowed 'select' and 'update' permissions on the 'sales' database.
Step 2: Determine allowed actions
Since both 'select' and 'update' are listed, alice can perform both actions.
Final Answer:
Select and update data -> Option B
Quick Check:
Permissions = select + update [OK]
Hint: Check permissions list carefully for allowed actions [OK]
Common Mistakes:
Assuming delete permission without it listed
Ignoring update permission
Thinking no actions allowed if unsure
4. You created a Ranger policy but users report they cannot access the resource. Which of the following is the most likely error?
medium
A. The policy does not include the correct user or group
B. The Hadoop cluster is down
C. The data is corrupted
D. The policy has too many permissions
Solution
Step 1: Analyze why access is denied
If users cannot access, often the policy lacks their user or group in its definition.
Step 2: Evaluate other options
Cluster down or data corruption would cause broader issues, not just access denial. Too many permissions does not block access.
Final Answer:
The policy does not include the correct user or group -> Option A
Quick Check:
User/group missing = access denied [OK]
Hint: Check user/group inclusion in policy first [OK]
Common Mistakes:
Blaming cluster or data issues prematurely
Assuming too many permissions cause denial
Not verifying policy user/group settings
5. You want to create a Ranger policy that allows group 'data_scientists' to read any table in the 'analytics' database but not modify data. Which permission set should you assign?
hard
A. no permissions
B. select and update permissions
C. all permissions including delete
D. select permission only
Solution
Step 1: Understand the requirement
The group should only read data, which means 'select' permission is needed without any modify permissions.
Step 2: Match permissions to requirement
Only 'select' permission allows reading without modification.
Final Answer:
select permission only -> Option D
Quick Check:
Read only = select permission [OK]
Hint: Read-only access = select permission only [OK]
Common Mistakes:
Giving update permission when only read is needed
Assigning all permissions unnecessarily
Leaving permissions empty causing no access
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.