KMC数据库设计

news/2025/3/11 10:29:55/文章来源:https://www.cnblogs.com/20222320zcc/p/18516656

存一下密钥管理中心数据库,免得找不到了

具体表格:

表名 列名 数据类型 主键 外键
Keys KeyID INT PK
KeyValue VARBINARY(256)
KeyType VARCHAR(50)
CreatedAt DATETIME
ExpirationDate DATETIME
Status ENUM
Key_Pools PoolID INT PK
PoolName ENUM
Description VARCHAR(255)
Key_Pool_Assignment AssignmentID INT PK
KeyID INT FK (Keys.KeyID)
PoolID INT FK (Key_Pools.PoolID)
AssignedAt DATETIME
Key_Usage UsageID INT PK
KeyID INT FK (Keys.KeyID)
UserID INT FK (Users.UserID)
Action ENUM
Timestamp DATETIME
Users UserID INT PK
Username VARCHAR(50)
PasswordHash VARBINARY(256)
CreatedAt DATETIME
LastLogin DATETIME
Role ENUM
Roles RoleID INT PK
RoleName ENUM
Description VARCHAR(255)
User_Roles UserRoleID INT PK
UserID INT FK (Users.UserID)
RoleID INT FK (Roles.RoleID)
Key_Policies PolicyID INT PK
KeyID INT FK (Keys.KeyID)
AllowedUsers VARCHAR(255)
ExpirationDuration INT
Audit_Log LogID INT PK
KeyID INT FK (Keys.KeyID)
UserID INT FK (Users.UserID)
Action VARCHAR(255)
Timestamp DATETIME
Key_Revocation RevocationID INT PK
KeyID INT FK (Keys.KeyID)
RevocationReason VARCHAR(255)
RevocationDate DATETIME
Key_Operation_Sessions SessionID VARCHAR(50) PK
KeyID INT FK (Keys.KeyID)
Operation ENUM
UserID INT FK (Users.UserID)
Timestamp DATETIME

sql设计:

CREATE TABLE Keys (KeyID INT PRIMARY KEY AUTO_INCREMENT,KeyValue VARBINARY(256) NOT NULL,KeyType VARCHAR(50) NOT NULL,CreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,ExpirationDate DATETIME,Status ENUM('ACTIVE', 'BACKUP', 'DESTROYED', 'REVOKED') DEFAULT 'ACTIVE'
);CREATE TABLE Key_Pools (PoolID INT PRIMARY KEY AUTO_INCREMENT,PoolName ENUM('ACTIVE_POOL', 'BACKUP_POOL', 'DESTROYED_POOL') NOT NULL,Description VARCHAR(255)
);CREATE TABLE Key_Pool_Assignment (AssignmentID INT PRIMARY KEY AUTO_INCREMENT,KeyID INT,PoolID INT,AssignedAt DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID),FOREIGN KEY (PoolID) REFERENCES Key_Pools(PoolID)
);CREATE TABLE Key_Usage (UsageID INT PRIMARY KEY AUTO_INCREMENT,KeyID INT,UserID INT,Action ENUM('ENCRYPT', 'DECRYPT', 'SIGN', 'VERIFY') NOT NULL,Timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID),FOREIGN KEY (UserID) REFERENCES Users(UserID)
);CREATE TABLE Users (UserID INT PRIMARY KEY AUTO_INCREMENT,Username VARCHAR(50) UNIQUE NOT NULL,PasswordHash VARBINARY(256) NOT NULL,CreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,LastLogin DATETIME,Role ENUM('SYSTEM_ADMIN', 'AUDITOR', 'OPERATOR') NOT NULL -- 用户角色
);CREATE TABLE Key_Policies (PolicyID INT PRIMARY KEY AUTO_INCREMENT,KeyID INT,AllowedUsers VARCHAR(255),ExpirationDuration INT,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID)
);CREATE TABLE Audit_Log (LogID INT PRIMARY KEY AUTO_INCREMENT,KeyID INT,UserID INT,Action VARCHAR(255),Timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID),FOREIGN KEY (UserID) REFERENCES Users(UserID)
);CREATE TABLE Key_Revocation (RevocationID INT PRIMARY KEY AUTO_INCREMENT,KeyID INT,RevocationReason VARCHAR(255),RevocationDate DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID)
);CREATE TABLE Roles (RoleID INT PRIMARY KEY AUTO_INCREMENT,RoleName ENUM('SYSTEM_ADMIN', 'AUDITOR', 'OPERATOR') UNIQUE NOT NULL,Description VARCHAR(255)
);CREATE TABLE User_Roles (UserRoleID INT PRIMARY KEY AUTO_INCREMENT,UserID INT,RoleID INT,FOREIGN KEY (UserID) REFERENCES Users(UserID),FOREIGN KEY (RoleID) REFERENCES Roles(RoleID)
);CREATE TABLE Key_Operation_Sessions (SessionID VARCHAR(50) PRIMARY KEY,KeyID INT,Operation ENUM('调密钥', '冻结', '销毁') NOT NULL,UserID INT,Timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (KeyID) REFERENCES Keys(KeyID),FOREIGN KEY (UserID) REFERENCES Users(UserID)
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824371.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】异步阻塞、异步回调模式

1 前言 为什么要看这个异步回调呢?是因为我上节在看 RocektMQ 发送消息的时候,它支持同步、异步、一次性的模式,后两者不会阻塞当前线程,但是看这两者都没用到线程池,那它是如何处理的呢?我们看下三者最后的落点,都是在 NettyRemotingAbstract 这个类里:// NettyRemot…

DBeaver如何生成select,update,delete,insert语句

前言 我们在使用DBeaver时,经常是需要查看数据库表的。有时候,我们需要用DBeaver生成select,update,delete,insert等语句,这样可以使我们方便的开发代码,那么应该怎么生成呢? 如何生成语句 首先,我们点击下我们要生成语句的表,右键点击。然后,我们点击下生成SQL选项…

CF1802 题解

CF1802 题解 A likes 最大值一定是一个前缀全部关注, 一个后缀全部取关. 最小值一定是一个前缀关注完立刻取关, 后面全部是关注. 模拟即可. B Settlement of Guinea Pigs 那些未确定性别的只能每个单独占一个笼子, 其他的需要我们去分配. 如果有 \(m\) 个松鼠被确定性别了, 其中…

DBeave如何查看数据库表的DDL创建语句

前言 我们在使用DBeave时,有时候是需要看一下某个表的创建语句的,这样方便我们在其他数据库创建该表。 那么,我们呢应该如何查看表的创建语句呢? 如何查看DDL 首先,我们选择我们要查看的数据库表,然后鼠标双击下该表。然后,我们点击下上方的属性,然后在下面再点下DDL选…

20222424 2024-2025-1 《网络与系统攻防技术》实验三实验报告

20222424 2024-2025-1 《网络与系统攻防技术》实验三实验报告 1.实验内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程(2)通过组合应用各种技术…

人工智能实验报告1

​ 姓名:熊俊松________________________ 班级:2220422__________________________________ 学号:20222024234_______________________ 实验题目:___________________________ **回归 **___________________________________ 实验目的:掌握回归算法的编程实现细节,要求…

数据采集与融合技术第三次作业

作业内容 作业①: 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线程的方式爬取。 –务必控制总页数(学号尾数2位)、总下载的图片数量(尾数后3位)等限制爬取的措施。 主要代码:…

2024年网鼎杯青龙组 pwn

pwn2 开局泄露栈地址,又是栈溢出,直接栈转移拿下 from pwn import * from LibcSearcher import LibcSearcher #from Crypto.Util.number import bytes_to_long,bytes_to_long #--------------------setting context--------------------- context.clear(arch=amd64, os=linux…

新东方在线视频课程资料下载工具,如何在电脑端下载新东方在线视频课程讲义到本地?

一. 安装新东方在线课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/koolearn_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学…

强连通分量学习笔记+杂题

图论系列: 前言: 僕は 明快さ故にアイロニー 優柔不断なフォローミー 後悔後悔夜の果て 相关题单:戳我 一.强连通分量相关定义 基本摘自oi wiki ,相关定义还是需要了解。(实际就是搬了个oi wiki) 强连通分量主要在研究有向图可达性,针对的图类型为有向弱联通图。 1.强连通…

CMake 生成器表达式---条件表达式和逻辑运算符

CMake 的生成器表达式用于在构建系统级别上进行条件判断和逻辑运算,它们通常用在目标属性和生成器表达式上下文中。这些表达式允许你根据不同的平台、配置或编译器来定制构建过程。【写在前面】 CMake 的生成器表达式用于在构建系统级别上进行条件判断和逻辑运算,它们通常用在…

ESP32-LVGL驱动框架

ESP32另一种LVGL驱动架构问题背景 最近在调试一个新屏幕的过程中,使用LVGL官方的lvgl_esp32_driver驱动,在我这个分辨率比较大(454 x 454)的屏幕下会出现,在分配完成buff后,若buff过大会出现,在刷屏的时候会这种警告。 txdata transfer > hardware max supported len研…