0Pricing
Neo4j Graph Database Fundamentals · Lesson

User Management and Roles

Learn to create and manage users, assign roles, and define custom access privileges within Neo4j.

User Management and Roles is a free Neo4j Graph Database Fundamentals lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Neo4j Graph Database Fundamentals learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Secure Your Graph Data

Welcome to securing your Neo4j database! Just like any valuable asset, your graph data needs protection.

This lesson introduces the essential steps to manage who can access and modify your Neo4j database.

Control Access to Your Data

Why bother with user management? Imagine a bank vault without proper access control – chaos!

  • Security: Prevent unauthorized access.
  • Accountability: Track who does what.
  • Compliance: Meet regulatory requirements.

It's about making sure only the right people have the right permissions.

AuthN vs. AuthZ

These terms are often confused, but they're distinct:

  • Authentication (AuthN): Who are you? This verifies a user's identity (e.g., username and password).
  • Authorization (AuthZ): What can you do? This determines what actions an authenticated user is allowed to perform.

First, we prove who we are (AuthN), then the system decides what we can do (AuthZ).

Meet the Default Admin

When you first install Neo4j, a default administrative user named neo4j is created.

  • It has full administrative privileges.
  • The initial password is also neo4j.
  • Important: Always change this default password immediately after installation for security!

This user is your entry point to managing the database.

Adding New Users

To add new individuals or applications to your database, you'll create new user accounts.

Each user needs a unique username and a strong password. This ensures proper authentication before any actions are taken.

Let's see how to do this using Cypher, Neo4j's query language.

Creating Users with Cypher

The CREATE USER command is straightforward. Remember to choose a secure password!

Try running this example in your Neo4j Browser or cypher-shell:

CREATE USER 'alice' SET PASSWORD 'securePassword123';

Changing Passwords

Passwords should be changed regularly, and users might forget them. Neo4j provides commands to manage user passwords.

  • Change your own password: ALTER CURRENT USER SET PASSWORD 'newPassword';
  • Change another user's password (admin only): ALTER USER 'alice' SET PASSWORD 'anotherNewPass';

Always use strong, unique passwords!

What are Roles?

Roles are collections of privileges that can be assigned to users. Instead of giving individual permissions to each user, you assign them a role.

Neo4j comes with several built-in roles, such as:

  • admin: Full administrative access.
  • architect: Can create/manage schema (nodes, relationships, properties).
  • publisher: Can write data.
  • reader: Can only read data.

This simplifies managing permissions across many users.

Granting Roles

Once you've created users and understand roles, the next step is to grant specific roles to users. A user can have multiple roles.

Use the GRANT ROLE command to assign roles. To remove a role, use REVOKE ROLE.

Let's grant our new user 'alice' the 'reader' role:

GRANT ROLE reader TO alice;

Check Your Understanding

You've learned how to create users and assign roles. Let's test your knowledge!

Lesson Summary

Great job! In this lesson, we covered the fundamentals of user management and roles in Neo4j:

  • The importance of authentication and authorization.
  • How to create new users using CREATE USER.
  • Managing user passwords with ALTER USER.
  • Understanding built-in roles like admin, reader, and publisher.
  • Assigning roles to users with GRANT ROLE.

This knowledge is crucial for securing your graph database! Next, we'll dive deeper into defining custom access privileges.

Frequently asked questions

Is the “User Management and Roles” lesson free?

Yes — the full text of “User Management and Roles” is free to read here on the web, and the Neo4j Graph Database Fundamentals course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Neo4j Graph Database Fundamentals course, upgrade to CoddyKit PRO.

What will I learn in “User Management and Roles”?

Learn to create and manage users, assign roles, and define custom access privileges within Neo4j. You practise Neo4j Graph Database Fundamentals with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Neo4j Graph Database Fundamentals?

No prior experience is required. Neo4j Graph Database Fundamentals on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “User Management and Roles” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Neo4j Graph Database Fundamentals lesson?

Yes. Every Neo4j Graph Database Fundamentals lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. User Management and Roles
  2. Authentication and Authorization
  3. Securing Your Neo4j Deployment
  4. Fine-Grained Access Control and Auditing
← Back to Neo4j Graph Database Fundamentals