Identity Management User Interface (IDMUI)

Software Engineering / Infrastructure Management

Project Details

Project Information

Project Title: Identity Management User Interface (IDMUI)

Category: Software Engineering / Infrastructure Management

Semester: Fall 2024

Course: CS619

Complexity: Complex

Project Description

Identity Management User Interface (IDMUI)

 


Project Domain / Category

 

Software Engineering/Infrastructure Management

 

Abstract/Summary

 

In OpenStack, Keystone is the identity service that provides authentication, authorization, and service discovery mechanisms for other OpenStack services. It plays a central role in managing users and their permissions, ensuring access to resources across the OpenStack environment is secure and controlled. Holistically, the key stack provides the following capabilities.

 

Keystone handles user and service authentication by verifying credentials (username/password, tokens, etc.) and issuing authentication tokens that can be used to access other OpenStack services. After authentication, Keystone manages authorization by defining roles and permissions. It determines what resources users and services are allowed to access based on predefined roles and access control policies. Keystone manages projects (also known as tenants) to isolate resources. Users belong to projects and can have different access levels within those projects. Keystone maintains a service catalog, which lists all available OpenStack services and their endpoints. This allows clients to discover which services are available in the environment. Keystone issues and manages authentication tokens that are used by other OpenStack services to verify identity and authorization without needing to re-authenticate the user on every request. It provides the ability to manage multiple domains, each with its own set of users, groups, and projects, supporting hierarchical multi-tenancy. Keystone handles the creation, management, and association of users, groups, and their roles. In this project, you will develop a web-based User interface for managing the identity service.

 

Functional Requirements:

 

you will first prepare a virtual machine using Oracle VirtualBox or VMWARE and install the latest Ubuntu Server Operating System and Keystone package and OpenStack API. You will develop a web application called IDMUI using any framework/language of your choice. The application must be able to perform the following tasks

1.      View the status of the Keystone Service running in the VM.

 

2.      Allow start/stop and change the configuration of the keystone service in a user-friendly way.

 

3.      Should provide a top-level menu named: Identity Service and provide the following options and submenu.

 

      Service Management

 

      Endpoint Management

 

      User and Role Management

 

      Project (Tenant) Management

 

      Token Management

 

      Domain Management

 

      Group Management

 

      Configuration management

 

4.      Create another top-level menu named Database Management

 

5.      Each menu should provide suitable options for configuration/view status/statics which are provided by the keystone service.

 

6.      The IDMUI will communicate with the Keystone server via open stack APIs.

 

7.      You must use the MySQL database as the common database for keystone and application data management requirements.

 

8.      IDMUI should provide state-of-the-art UIs for login, logout, and real-time messaging for the commands that the user executes.

 

9.      the IDMUI should be able to run across multiple platforms including mobile tablets etc.

 

10.  The IDMUI should be able to generate PDF reports of user activity.

 

11.  The web app must use the same keystone authentication for user login and toles

 

assignment

 

12.

 

Non-Functional Requirements

 

1 – IDMUI should use a fluid layout and provide ease of working it

 

2 – Real-time messages related to events of the IDMUI should be displayed in the message bar at the bottom of the UI.

 

3 – You must ensure the color scheme conforms to colour-blind guidelines. See the URL:

 

https://accessiblyapp.com/blog/color-blind-accessibility/ for more details

 

Tools and Reading Material:

 

      Students must use Ubuntu Server (Latest Version) and any language of choice, preferably Python. For web apps, students may use Native Python Flask, PHP, or Python Django framework.

 

      Student must use MySQL Database Server

 

        Oracle Virtual Box: https://www.virtualbox.org/

 

        Ubuntu Latest: https://ubuntu.com/download/server

 

        Keystone Reference: https://docs.openstack.org/keystone/latest/

 

        OpenStack API Reference: https://docs.openstack.org/api-quick-start/

 

 

Supervisor:

 

Name: Arif Husen

Email ID: arif.husen@vu.edu.pk

 

Skype ID: vu.arifhrashid@outlook.com

 

Languages

  • Python Language

Tools

  • • Students must use Ubuntu Server (Latest Version) and any language of choice, preferably Python. For web apps, students may use Native Python Flask, PHP, or Python Django framework. • Student must use MySQL Database Server Tool

Project Schedules

Assignment #
Title
Start Date
End Date
Sample File
1
SRS Document
Friday 8, November, 2024 12:00AM
Wednesday 4, December, 2024 12:00AM
2
Design Document
Thursday 5, December, 2024 12:00AM
Thursday 27, February, 2025 12:00AM
3
Prototype Phase
Friday 28, February, 2025 12:00AM
Tuesday 18, March, 2025 12:00AM
4
Final Deliverable
Wednesday 19, March, 2025 12:00AM
Monday 5, May, 2025 12:00AM

Viva Review Submission

Review Information
Supervisor Behavior

Student Viva Reviews

No reviews available for this project.