1
0

Compare commits

..

No commits in common. "e268fc074bf406960aa55bc3284e34c3b052f2e7" and "65f753dfb4354c1cd1836c60c58e796f4eaa6def" have entirely different histories.

259 changed files with 803 additions and 7487 deletions

View File

@ -6,6 +6,5 @@
"obsidian-minimal-settings", "obsidian-minimal-settings",
"obsidian-weread-plugin", "obsidian-weread-plugin",
"obsidian-linter", "obsidian-linter",
"obsidian-excalidraw-plugin", "obsidian-excalidraw-plugin"
"obsidian-icon-folder"
] ]

35
.obsidian/graph.json vendored
View File

@ -5,8 +5,37 @@
"showAttachments": false, "showAttachments": false,
"hideUnresolved": false, "hideUnresolved": false,
"showOrphans": false, "showOrphans": false,
"collapse-color-groups": true, "collapse-color-groups": false,
"colorGroups": [], "colorGroups": [
{
"query": "tag:#博客",
"color": {
"a": 1,
"rgb": 14701138
}
},
{
"query": "tag:#阅读",
"color": {
"a": 1,
"rgb": 10967200
}
},
{
"query": "tag:#技术 ",
"color": {
"a": 1,
"rgb": 5417696
}
},
{
"query": "tag:#工作 ",
"color": {
"a": 1,
"rgb": 5397472
}
}
],
"collapse-display": true, "collapse-display": true,
"showArrow": false, "showArrow": false,
"textFadeMultiplier": 2, "textFadeMultiplier": 2,
@ -17,6 +46,6 @@
"repelStrength": 20, "repelStrength": 20,
"linkStrength": 0.75, "linkStrength": 0.75,
"linkDistance": 400, "linkDistance": 400,
"scale": 0.09085236301906145, "scale": 0.4993882638266578,
"close": true "close": true
} }

View File

@ -1,43 +0,0 @@
{
"settings": {
"migrated": 6,
"iconPacksPath": "Obsidian/Static",
"fontSize": 16,
"emojiStyle": "native",
"iconColor": null,
"recentlyUsedIcons": [
"🧰",
"📐",
"📚",
"💼",
"🧑‍💻"
],
"recentlyUsedIconsSize": 5,
"rules": [],
"extraMargin": {
"top": 0,
"right": 4,
"bottom": 0,
"left": 0
},
"iconInTabsEnabled": false,
"iconInTitleEnabled": false,
"iconInTitlePosition": "above",
"iconInFrontmatterEnabled": false,
"iconInFrontmatterFieldName": "icon",
"iconColorInFrontmatterFieldName": "iconColor",
"iconsBackgroundCheckEnabled": false,
"iconsInNotesEnabled": true,
"iconsInLinksEnabled": true,
"iconIdentifier": ":",
"lucideIconPackType": "native",
"debugMode": false
},
"Archive": "📦",
"NaturalSciences": "🌍",
"Personal": "🧑‍💻",
"Professional": "💼",
"SocialSciences": "📚",
"FormalSciences": "📐",
"Obsidian": "🧰"
}

File diff suppressed because one or more lines are too long

View File

@ -1,10 +0,0 @@
{
"id": "obsidian-icon-folder",
"name": "Iconize",
"version": "2.14.3",
"minAppVersion": "0.9.12",
"description": "Add icons to anything you desire in Obsidian, including files, folders, and text.",
"author": "Florian Woelki",
"authorUrl": "https://florianwoelki.com/",
"isDesktopOnly": false
}

View File

@ -1,119 +0,0 @@
.iconize-inline-title-wrapper {
width: var(--line-width);
margin-inline: var(--content-margin);
}
.iconize-title-icon {
max-width: var(--max-width);
margin-right: var(--size-4-2);
}
.iconize-icon-in-link {
transform: translateY(20%);
margin-right: var(--size-2-2);
display: inline-flex;
}
.iconize-icon {
border: 1px solid transparent;
margin: 0px 4px 0px 0px;
display: flex;
align-self: center;
margin: auto 0;
}
.nav-folder-title,
.nav-file-title {
align-items: center;
}
.iconize-setting input[type='color'] {
margin: 0 6px;
}
.iconize-modal.prompt-results {
margin: 0;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
margin-top: 12px;
font-size: 12px;
color: gray;
grid-column-start: 1;
grid-column-end: 6;
}
@media (max-width: 640px) {
.iconize-modal.prompt-results {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
grid-column-end: 4;
}
}
.iconize-modal.prompt-results .suggestion-item {
cursor: pointer;
white-space: pre-wrap;
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column-reverse;
text-align: center;
font-size: 13px;
color: var(--text-muted);
padding: 16px 8px;
line-break: auto;
word-break: break-word;
line-height: 1.3;
}
.iconize-modal.prompt-results .suggestion-item.suggestion-item__center {
justify-content: center;
}
.iconize-icon-preview {
font-size: 22px;
}
.iconize-icon-preview img {
width: 16px;
height: 16px;
}
.iconize-icon-preview svg {
width: 24px;
height: 24px;
color: currentColor;
margin-bottom: 4px;
}
.iconize-dragover {
position: relative;
}
.iconize-dragover-el {
position: absolute;
width: 100%;
height: 100%;
color: var(--text-normal);
background-color: var(--background-secondary-alt);
display: flex;
align-items: center;
justify-content: center;
}
/* Custom rule modal. */
.iconize-custom-modal .modal-content {
display: flex;
align-items: center;
justify-content: center;
}
.iconize-custom-modal .modal-content input {
width: 100%;
margin-right: 0.5rem;
}

Binary file not shown.

View File

@ -1,50 +0,0 @@
---
title: 2.3-软件即服务SaaS
description: SaaS 通过浏览器提供云应用及其底层 IT 基础架构和平台。用户避免购买和维护本地软件转为订阅模式。SaaS 降低前期成本,依赖高速互联网连接。示例包括 Google Docs、Microsoft Office 365。SaaS 应用通常基于多租户架构由提供商管理更新和维护。SaaS 依赖订阅模式置备软件许可证,与永久许可证不同。
keywords:
- 软件即服务
- SaaS
- 订阅模式
- 云应用
- 多租户架构
tags:
- FormalSciences/ComputerScience
- CloudService/Overview
author: 仲平
date: 2024-10-13
---
## 概述
**软件即服务SaaS是一种云计算形式可通过网络浏览器为终端用户提供云应用及其所有的底层 IT 基础架构和平台。** 对于符合以下条件的大型企业、小型企业或个人而言SaaS 可能是理想的解决方案:
- 想避免购买或维护基础架构、平台和本地软件的麻烦。
- 更喜欢通过运营支出OPEX进行更简单的成本管理而不是通过资本支出投资CAPEX
- 需要尽可能减少自定义。
- 青睐软件订阅模式。
## SaaS 是如何运作的?
**不再像传统软件那样需要永久购买软件或投资可靠的本地 IT 基础架构SaaS 可以降低用户的前期成本。** 然而,由于**服务性能取决于互联网连接速度**SaaS 用户应投资购买高速的网络硬件。
SaaS 的示例包括一些应用服务提供商ASP如 Google Docs 和 Microsoft Office 365以及一些提供人力资源软件、电子商务系统、客户关系管理工具和集成开发环境IDE的企业服务。
常见部署模式有两种,软件供应商通常会选择其一或两者皆选:
- 数据中心
- 公共云服务提供商(如 AWS、Azure 或 IBM Cloud管理托管 SaaS 解决方案的云环境。
**SaaS 应用利用多租户架构来隔离用户数据。** 软件更新、漏洞修复以及其他常规应用维护都是由 SaaS 提供商负责用户通过网络浏览器与软件交互。SaaS 解决方案通常功能齐全但有时通过应用编程接口API如 REST 或 SOAP融入自定义集成以连接其他功能。
**SaaS 的特性使提供商更容易向客户推出新功能。** 大多数 SaaS 应用都是预配置的即插即用产品SaaS 提供商将管理这些应用背后的所有内容,包括:
- 硬件组件,例如网络、存储和数据中心服务器
- 平台,例如虚拟化、操作系统和中间件
- 各种软件要求,例如运行时、数据和应用本身
## SaaS 模式
**SaaS 应用在很大程度上依赖于订阅模式置备软件许可证。** 和永久许可证不同,该软件交付模式是将每个帐户与订阅进行关联,而后者则在一段时间内(通常是每年或每月)授予 SaaS 相应的访问权限。缴纳订阅费后通常帐户会获得对产品文档和服务级别协议SLA规定的持续支持的访问权限但有些 SaaS 提供商会收取额外的支持费用,才能进行源代码级别上的自定义代码更改。

View File

@ -1,17 +1,13 @@
--- ---
title: 1.1-基础架构 title: IT 基础架构
description: IT 基础架构由硬件、软件、网络组件、操作系统和数据存储组成支持企业IT服务。它可部署在云或企业自建设施中。硬件包括服务器、数据中心等物理设备。软件涉及操作系统和应用程序。网络负责系统间的通信。基础架构类型包括传统企业自管、云如公有云、私有云、混合云和超融合统一管理计算、网络、存储。IT管理涵盖操作系统、云、虚拟化、IT运维、自动化、容器编排、配置、API、风险和数据管理。 description: IT 基础架构
keywords: keywords:
- IT 基础架构 - IT 基础架构
- 硬件
- 软件
- 网络
- 传统架构
tags: tags:
- FormalSciences/ComputerScience - 技术/云计算
- CloudService/Overview - 云计算/基础
author: 仲平 author: 仲平
date: 2024-10-13 date: 2024-06-19
--- ---
## 概述 ## 概述

View File

@ -1,18 +1,14 @@
--- ---
title: 1.2-云计算 title: 云计算概述
description: 云计算通过互联网由第三方提供商托管包括基础架构、平台或软件。云服务促进数据流动和云原生应用构建提供灵活性。服务选项包括IaaS计算、网络、存储资源、PaaS运行应用的平台、SaaS完整的云应用、FaaS事件驱动型执行模型。云基础架构将计算功能与硬件分离通过虚拟化提供。云平台提供在线环境支持开发和运行应用整合多种技术。公共云为多客户端共享资源池支持自动置备和横向扩展。私有云为特定用户创建通常位于用户防火墙内。云软件提供完整的Web应用可通过云原生方法和微服务架构实现。 description: 云计算概述
keywords: keywords:
- 云计算 - 云计算
- IaaS - 概述
- PaaS
- FaaS
- 云服务器
- 云平台
tags: tags:
- FormalSciences/ComputerScience - 技术/云计算
- CloudService/Overview - 云计算/基础
author: 仲平 author: 仲平
date: 2024-10-13 date: 2024-06-19
--- ---
## 云计算 ## 云计算

View File

@ -1,17 +1,14 @@
--- ---
title: 2.4-功能即服务FaaS title: 功能即服务FaaS
description: FaaS 是一种无服务器云计算服务允许开发人员构建、运行和管理应用功能而无需维护基础架构。它基于事件驱动模型在无状态容器中运行由服务提供商管理服务器端逻辑。FaaS 实例包括 IBM 云功能、AWS Lambda、Google 云功能等。FaaS 支持动态扩展按需付费适用于处理大数据交易、IoT 服务、移动和 Web 应用等。 description: 功能即服务FaaS
keywords: keywords:
- 功能即服务 - 功能即服务
- FaaS - FaaS
- 无服务器计算
- 事件驱动
- 容器
tags: tags:
- FormalSciences/ComputerScience - 技术/云计算
- CloudService/Overview - 云计算/基础
author: 仲平 author: 仲平
date: 2024-10-13 date: 2024-06-19
--- ---
## 概述 ## 概述

View File

@ -1,22 +1,19 @@
--- ---
title: 2.1-基础架构即服务IaaS title: 基础架构即服务IaaS
description: IaaS 提供基础架构服务如存储和虚拟化用户负责操作系统及应用而提供商管理网络、服务器等。IaaS 提供灵活性和成本效益适合快速构建和拆解开发环境。IaaS 与虚拟化、自动化和容器化紧密相关,支持 DevOps 工作流。与无服务器计算不同IaaS 需要用户管理服务器扩展。选择 IaaS 提供商时需考虑灵活性、经济性、控制性、安全性、多租户问题、服务和可靠性。 description: 基础架构即服务IaaS
keywords: keywords:
- 基础架构即服务 - 基础架构即服务
- IaaS - IaaS
- 虚拟化
- 自动化
- 容器化
tags: tags:
- FormalSciences/ComputerScience - 技术/云计算
- CloudService/Overview - 云计算/基础
author: 仲平 author: 仲平
date: 2024-10-13 date: 2024-06-19
--- ---
## IaaS 概述 ## IaaS 概述
基础架构即服务IaaS让您从本地 IT 基础架构往轻松迈进了一步。这是一种即付即用的服务,由外部的第三方提供商根据您的需要,利用互联网(通过云)为您提供基础架构服务(如存储和虚拟化)。 基础架构即服务IaaS让您从本地 [IT 基础架构](Tech/cloud-service/基础/IT%20基础架构.md) 往轻松迈进了一步。这是一种即付即用的服务,由外部的第三方提供商根据您的需要,利用互联网(通过云)为您提供基础架构服务(如存储和虚拟化)。
**作为用户,您只需负责操作系统以及任何数据、应用、中间件和运行时,而提供商会给您访问和管理所需网络、服务器、虚拟化和存储的权限。** **作为用户,您只需负责操作系统以及任何数据、应用、中间件和运行时,而提供商会给您访问和管理所需网络、服务器、虚拟化和存储的权限。**

View File

@ -1,17 +1,14 @@
--- ---
title: 2.2-平台即服务PaaS title: 平台即服务PaaS
description: PaaS 提供了一个云计算平台允许用户开发、运行和管理应用而无需构建相关基础架构。它托管硬件和软件提供开发工具和环境。PaaS 的优势包括降低成本、缩短开发周期、提高工作效率和维护安全。PaaS 适合希望专注于应用开发而非基础架构维护的团队。选择 PaaS 时需考虑功能覆盖、语言和框架优化、服务支持和用户规模。 description: 平台即服务PaaS
keywords: keywords:
- 平台即服务 - 平台即服务
- PaaS - PaaS
- 开发
- 运维
- 云计算
tags: tags:
- FormalSciences/ComputerScience - 技术/云计算
- CloudService/Overview - 云计算/基础
author: 仲平 author: 仲平
date: 2024-10-13 date: 2024-06-19
--- ---
## 概述 ## 概述

View File

@ -0,0 +1,47 @@
---
title: 软件即服务SaaS
description: 软件即服务SaaS
keywords:
- 软件即服务
- SaaS
tags:
- 技术/云计算
- 云计算/基础
author: 仲平
date: 2024-06-19
---
## 概述
**软件即服务SaaS是一种云计算形式可通过网络浏览器为终端用户提供云应用及其所有的底层 IT 基础架构和平台。**对于符合以下条件的大型企业、小型企业或个人而言SaaS 可能是理想的解决方案:
- 想避免购买或维护基础架构、平台和本地软件的麻烦。
- 更喜欢通过运营支出OPEX进行更简单的成本管理而不是通过资本支出投资CAPEX
- 需要尽可能减少自定义。
- 青睐软件订阅模式。
## SaaS 是如何运作的?
**不再像传统软件那样需要永久购买软件或投资可靠的本地 IT 基础架构SaaS 可以降低用户的前期成本。**然而,由于**服务性能取决于互联网连接速度**SaaS 用户应投资购买高速的网络硬件。
SaaS 的示例包括一些应用服务提供商ASP如 Google Docs 和 Microsoft Office 365以及一些提供人力资源软件、电子商务系统、客户关系管理工具和集成开发环境IDE的企业服务。
常见部署模式有两种,软件供应商通常会选择其一或两者皆选:
- 数据中心
- 公共云服务提供商(如 AWS、Azure 或 IBM Cloud管理托管 SaaS 解决方案的云环境。
**SaaS 应用利用多租户架构来隔离用户数据。**软件更新、漏洞修复以及其他常规应用维护都是由 SaaS 提供商负责用户通过网络浏览器与软件交互。SaaS 解决方案通常功能齐全但有时通过应用编程接口API如 REST 或 SOAP融入自定义集成以连接其他功能。
**SaaS 的特性使提供商更容易向客户推出新功能。**大多数 SaaS 应用都是预配置的即插即用产品SaaS 提供商将管理这些应用背后的所有内容,包括:
- 硬件组件,例如网络、存储和数据中心服务器
- 平台,例如虚拟化、操作系统和中间件
- 各种软件要求,例如运行时、数据和应用本身
## SaaS 模式
**SaaS 应用在很大程度上依赖于订阅模式置备软件许可证。**和永久许可证不同,该软件交付模式是将每个帐户与订阅进行关联,而后者则在一段时间内(通常是每年或每月)授予 SaaS 相应的访问权限。缴纳订阅费后通常帐户会获得对产品文档和服务级别协议SLA规定的持续支持的访问权限但有些 SaaS 提供商会收取额外的支持费用,才能进行源代码级别上的自定义代码更改。

View File

@ -1,12 +1,12 @@
--- ---
title: 3.1-IPv4 DNS 服务 title: IPv4 DNS 服务
description: IPv4 DNS 服务 公共 DNS 服务地址 description: IPv4 DNS 服务 公共 DNS 服务地址
keywords: keywords:
- IPV4 - IPV4
- DNS - DNS
tags: tags:
- FormalSciences/ComputerScience - 技术/计算机网络
- ComputerNetwork/PublicServices - 公共服务/DNS
author: 仲平 author: 仲平
date: 2024-07-21 date: 2024-07-21
--- ---

View File

@ -1,12 +1,12 @@
--- ---
title: 3.2-IPv6 DNS 服务 title: IPv6 DNS 服务
description: IPv6 DNS 服务 description: IPv6 DNS 服务
keywords: keywords:
- IPv6 - IPv6
- DNS 服务 - DNS 服务
tags: tags:
- FormalSciences/ComputerScience - 技术/计算机网络
- ComputerNetwork/PublicServices - 公共服务/DNS
author: 仲平 author: 仲平
date: 2024-07-21 date: 2024-07-21
--- ---

View File

@ -4,8 +4,8 @@ description: Mirror 镜像站
keywords: keywords:
- Mirror 镜像站 - Mirror 镜像站
tags: tags:
- FormalSciences/ComputerScience - 技术/计算机网络
- ComputerNetwork/PublicServices - 公共服务/Mirror
author: 仲平 author: 仲平
date: 2024-07-21 date: 2024-07-21
--- ---

View File

@ -4,8 +4,8 @@ description: NTP 服务器
keywords: keywords:
- NTP 服务器 - NTP 服务器
tags: tags:
- FormalSciences/ComputerScience - 技术/计算机网络
- ComputerNetwork/PublicServices - 公共服务/NTP
author: 仲平 author: 仲平
date: 2024-07-21 date: 2024-07-21
--- ---

View File

@ -5,8 +5,9 @@ keywords:
- CDN - CDN
- 概述 - 概述
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/CDN应用
- ComputerNetwork/PublicServices - 技术/计算机网络
sidebar_position: 1
author: 7Wate author: 7Wate
date: 2023-06-27 date: 2023-06-27
--- ---

View File

@ -5,10 +5,11 @@ keywords:
- DHCP - DHCP
- 动态主机配置协议 - 动态主机配置协议
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/DHCP协议
- ComputerNetwork/Protocols - 技术/计算机网络
sidebar_position: 2
author: 7Wate author: 7Wate
date: 2024-10-13 date: 2023-06-28
--- ---
## 简介 ## 简介

View File

@ -6,8 +6,9 @@ keywords:
- 域名系统 - 域名系统
- 概述 - 概述
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/DNS协议
- ComputerNetwork/Protocols - 技术/计算机网络
sidebar_position: 1
author: 7Wate author: 7Wate
date: 2023-06-28 date: 2023-06-28
--- ---

View File

@ -6,8 +6,8 @@ keywords:
- 网际协议 - 网际协议
- 网络协议 - 网络协议
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/IP协议
- ComputerNetwork/Protocols - 技术/计算机网络
author: 仲平 author: 仲平
date: 2024-01-15 date: 2024-01-15
--- ---

View File

@ -5,8 +5,8 @@ keywords:
- TCP - TCP
- 传输控制协议 - 传输控制协议
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/TCP传输控制协议
- ComputerNetwork/Protocols - 技术/计算机网络
author: 仲平 author: 仲平
date: 2024-01-11 date: 2024-01-11
--- ---

View File

@ -5,8 +5,8 @@ keywords:
- UDP - UDP
- 用户数据报协议 - 用户数据报协议
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/UDP用户数据报协议
- ComputerNetwork/Protocols - 技术/计算机网络
author: 仲平 author: 仲平
date: 2024-01-11 date: 2024-01-11
--- ---

View File

@ -4,8 +4,8 @@ description: 网络基础
keywords: keywords:
- 网络基础 - 网络基础
tags: tags:
- FormalSciences/ComputerScience - 计算机网络/网络基础
- ComputerNetwork/Overview - 技术/计算机网络
author: 仲平 author: 仲平
date: 2024-01-04 date: 2024-01-04
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: 1.1-简明指南 title: 简明指南
description: 密码学简明指南 description: 密码学简明指南
keywords: keywords:
- 密码学 - 密码学

View File

@ -0,0 +1,8 @@
{
"label": "权限设计方案",
"position": 2,
"link": {
"type": "generated-index",
"title": "权限设计方案"
}
}

View File

@ -11,50 +11,8 @@ author: 7Wate
date: 2023-06-28 date: 2023-06-28
--- ---
## 认证
**认证Identification** 是指根据声明者所特有的识别信息,确认声明者的身份。**你需要用身份证证明你自己是你自己**。比如我们常见的认证技术:身份证、用户名和密码、用户手机:手机短信、手机二维码扫描、手势密码、电子邮箱、指纹、语音、眼睛虹膜、大数据识别等等
## 授权
**授权Authorization**在信息安全领域是指**资源所有者**委派**执行者**,赋予**执行者**指定范围的资源操作权限,以便对资源的相关操作。
- **现实生活领域**:银行卡(由银行派发)、门禁卡(由物业管理处派发)、钥匙(由房东派发),这些都是现实生活中授权的实现方式。
- **互联网领域** Web 服务器的 Session 机制、Web 浏览器的 Cookie 机制、颁发授权令牌Token等都是一个授权的机制。
## 鉴权
**鉴权Authentication**在信息安全领域是指**对于一个声明者所声明的身份权利,对其所声明的真实性进行鉴别确认的过程**。若从授权出发,则会更加容易理解鉴权。授权和鉴权是两个上下游相匹配的关系:**先授权,后鉴权**。
- **现实生活领域:** 门禁卡需要通过门禁卡识别器,银行卡需要通过银行卡识别器;
- **互联网领域:** 校验 Session / Cookie / Token 的合法性和有效性
**鉴权**是一个承上启下的一个环节上游它接受授权的输出校验其真实性后然后获取权限Permission这个将会为下一步的权限控制做好准备。
## 权限控制
**权限控制Access/Permission Control** 将可执行的操作定义为权限列表,然后判断操作是否允许/禁止。对于权限控制,可以分为两部分进行理解:一个是**权限**,另一个是**控制**。**权限是抽象的逻辑概念,而控制是具体的实现方式。**
- **现实生活领域:** 以门禁卡的权限实现为例,一个门禁卡,拥有开公司所有的门的权限;一个门禁卡,拥有管理员角色的权限,因而可以开公司所有的门。
- **互联网领域:** 通过 Web 后端服务,来控制接口访问,允许或拒绝访问请求。
## 认证、授权、鉴权和权限控制的关系?
![关系](https://static.7wate.com/img/2022/08/29/05d140d5e8751.png)
**认证**、**授权**、**鉴权**和**权限控制**,这四个环节是一个**前后依次发生**、**上下游**的关系;需要说明的是,这四个环节在有些时候会同时发生。 例如在下面的几个场景:
- **使用门禁卡开门:** 认证、授权、鉴权、权限控制四个环节一气呵成,在瞬间同时发生。
- **用户的网站登录:** 用户在使用用户名和密码进行登录时,认证和授权两个环节一同完成,而鉴权和权限控制则发生在后续的请求访问中,比如在选购物品或支付时。
权限管控可以通俗的理解为权力限制,即不同的人由于拥有不同权力,他所看到的、能使用的可能不一样。对应到一个应用系统,其实就是一个用户可能拥有不同的数据权限(看到的)和操作权限(使用的)。 权限管控可以通俗的理解为权力限制,即不同的人由于拥有不同权力,他所看到的、能使用的可能不一样。对应到一个应用系统,其实就是一个用户可能拥有不同的数据权限(看到的)和操作权限(使用的)。
## 权限模型
主流的权限模型主要分为以下五种: 主流的权限模型主要分为以下五种:
- **ACL 模型**:访问控制列表 - **ACL 模型**:访问控制列表
@ -63,7 +21,7 @@ date: 2023-06-28
- **ABAC 模型**:基于属性的访问控制 - **ABAC 模型**:基于属性的访问控制
- **RBAC 模型**:基于角色的权限访问控制 - **RBAC 模型**:基于角色的权限访问控制
### ACL 模型:访问控制列表 ## ACL 模型:访问控制列表
**Access Control List**ACL 是最早的、最基本的一种访问控制机制,是基于客体进行控制的模型,在其他模型中也有 ACL 的身影。为了解决相同权限的用户挨个配置的问题,后来也采用了用户组的方式。 **Access Control List**ACL 是最早的、最基本的一种访问控制机制,是基于客体进行控制的模型,在其他模型中也有 ACL 的身影。为了解决相同权限的用户挨个配置的问题,后来也采用了用户组的方式。
@ -73,7 +31,7 @@ date: 2023-06-28
**缺点**:当主体的数量较多时,配置和维护工作就会成本大、易出错。 **缺点**:当主体的数量较多时,配置和维护工作就会成本大、易出错。
### DAC 模型:自主访问控制 ## DAC 模型:自主访问控制
Discretionary Access ControlDAC 是 ACL 的一种拓展。 Discretionary Access ControlDAC 是 ACL 的一种拓展。
@ -83,7 +41,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:对权限控制比较分散,例如无法简单地将一组文件设置统一的权限开放给指定的一群用户。主体的权限太大,无意间就可能泄露信息。 **缺点**:对权限控制比较分散,例如无法简单地将一组文件设置统一的权限开放给指定的一群用户。主体的权限太大,无意间就可能泄露信息。
### MAC 模型:强制访问控制 ## MAC 模型:强制访问控制
**Mandatory Access Control**MAC 模型中主要的是双向验证机制。常见于机密机构或者其他等级观念强烈的行业,如军用和市政安全领域的软件。 **Mandatory Access Control**MAC 模型中主要的是双向验证机制。常见于机密机构或者其他等级观念强烈的行业,如军用和市政安全领域的软件。
@ -93,7 +51,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:控制太严格,实现工作量大,缺乏灵活性。 **缺点**:控制太严格,实现工作量大,缺乏灵活性。
### ABAC 模型:基于属性的访问控制 ## ABAC 模型:基于属性的访问控制
**Attribute-Based Access Control**,能很好地解决 RBAC 的缺点,在新增资源时容易维护。 **Attribute-Based Access Control**,能很好地解决 RBAC 的缺点,在新增资源时容易维护。
@ -110,7 +68,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:规则复杂,不易看出主体与客体之间的关系,实现非常难,现在应用的很少。 **缺点**:规则复杂,不易看出主体与客体之间的关系,实现非常难,现在应用的很少。
### RBAC 基于角色的权限访问控制 ## RBAC 基于角色的权限访问控制
**Role-Based Access Control**,核心在于用户只和角色关联,而角色代表对了权限,是一系列权限的集合。 **Role-Based Access Control**,核心在于用户只和角色关联,而角色代表对了权限,是一系列权限的集合。
@ -252,31 +210,6 @@ RBAC 权限模型由三大部分构成,即**用户管理**、**角色管理**
![角色管理](https://static.7wate.com/img/2022/08/08/d81016b4c7467.png) ![角色管理](https://static.7wate.com/img/2022/08/08/d81016b4c7467.png)
### 唯一登录
唯一登录是指**禁止多人同时登录同一账号,后者的登录行为,会导致前者掉线。**
通俗点讲就是A 账号在 A 电脑上登录后A 账号此时又用 B 电脑再次登录,则 A 电脑请求页面时,提示“重新登录”的信息,并跳转到登录页面
#### 唯一登录流程图
![唯一登录流程图](https://static.7wate.com/img/2022/08/30/f71a772c45d73.png)
#### 唯一登录步骤详解
#### 用户 - 客户端 A 操作
1. 输入账号请求登录接口。
2. 后端生成对应 Token 并且返回给客户端 A并且在服务端保存一个登录状态。
3. 客户端 A 保存 Token并且每次请求都在 header 头中携带对应的 Token。
#### 用户 - 客户端 B 操作
1. 输入账号请求登录接口。
2. ……
用户在客户端 B 上开始登录操作时,我们会发现,步骤和在客户端 A 上面的操作几乎是一致的。只是后端在生成新的 Token 时,要**先验证登录状态**,然后再生成对应新的 Token
## 用户管理系统权限设计中的更多实践细节 ## 用户管理系统权限设计中的更多实践细节
### 1. 超级管理员 ### 1. 超级管理员

View File

@ -0,0 +1,8 @@
{
"label": "鉴权解决方案",
"position": 3,
"link": {
"type": "generated-index",
"title": "鉴权解决方案"
}
}

View File

@ -0,0 +1,38 @@
---
title: 唯一登录
description: 唯一登录
keywords:
- 唯一登录
tags:
- 计算机安全/用户安全
- 技术/计算机安全
author: 7Wate
date: 2022-08-31
---
## 唯一登录
### 唯一登录定义
唯一登录是指**禁止多人同时登录同一账号,后者的登录行为,会导致前者掉线。**
通俗点讲就是A 账号在 A 电脑上登录后A 账号此时又用 B 电脑再次登录,则 A 电脑请求页面时,提示“重新登录”的信息,并跳转到登录页面
### 唯一登录流程图
![唯一登录流程图](https://static.7wate.com/img/2022/08/30/f71a772c45d73.png)
### 唯一登录步骤详解
#### 用户 - 客户端 A 操作
1. 输入账号请求登录接口。
2. 后端生成对应 Token 并且返回给客户端 A并且在服务端保存一个登录状态。
3. 客户端 A 保存 Token并且每次请求都在 header 头中携带对应的 Token。
#### 用户 - 客户端 B 操作
1. 输入账号请求登录接口。
2. ……
用户在客户端 B 上开始登录操作时,我们会发现,步骤和在客户端 A 上面的操作几乎是一致的。只是后端在生成新的 Token 时,要**先验证登录状态**,然后再生成对应新的 Token

View File

@ -0,0 +1,52 @@
---
title: 简明指南
description: 用户安全简明指南
keywords:
- 用户安全
- 简明指南
tags:
- 计算机安全/用户安全
- 技术/计算机安全
author: 7Wate
date: 2022-08-31
---
## 认证
**认证Identification**是指根据声明者所特有的识别信息,确认声明者的身份。**你需要用身份证证明你自己是你自己**。比如我们常见的认证技术:身份证、用户名和密码、用户手机:手机短信、手机二维码扫描、手势密码、电子邮箱、指纹、语音、眼睛虹膜、大数据识别等等
## 授权
**授权Authorization**在信息安全领域是指**资源所有者**委派**执行者**,赋予**执行者**指定范围的资源操作权限,以便对资源的相关操作。
- **现实生活领域**:银行卡(由银行派发)、门禁卡(由物业管理处派发)、钥匙(由房东派发),这些都是现实生活中授权的实现方式。
- **互联网领域** Web 服务器的 Session 机制、Web 浏览器的 Cookie 机制、颁发授权令牌Token等都是一个授权的机制。
## 鉴权
**鉴权Authentication**在信息安全领域是指**对于一个声明者所声明的身份权利,对其所声明的真实性进行鉴别确认的过程**。若从授权出发,则会更加容易理解鉴权。授权和鉴权是两个上下游相匹配的关系:**先授权,后鉴权**。
- **现实生活领域:** 门禁卡需要通过门禁卡识别器,银行卡需要通过银行卡识别器;
- **互联网领域:** 校验 Session / Cookie / Token 的合法性和有效性
**鉴权**是一个承上启下的一个环节上游它接受授权的输出校验其真实性后然后获取权限Permission这个将会为下一步的权限控制做好准备。
## 权限控制
**权限控制Access/Permission Control** 将可执行的操作定义为权限列表,然后判断操作是否允许/禁止。对于权限控制,可以分为两部分进行理解:一个是**权限**,另一个是**控制**。**权限是抽象的逻辑概念,而控制是具体的实现方式。**
- **现实生活领域:** 以门禁卡的权限实现为例,一个门禁卡,拥有开公司所有的门的权限;一个门禁卡,拥有管理员角色的权限,因而可以开公司所有的门。
- **互联网领域:** 通过 Web 后端服务,来控制接口访问,允许或拒绝访问请求。
## 认证、授权、鉴权和权限控制的关系?
![关系](https://static.7wate.com/img/2022/08/29/05d140d5e8751.png)
**认证**、**授权**、**鉴权**和**权限控制**,这四个环节是一个**前后依次发生**、**上下游**的关系;需要说明的是,这四个环节在有些时候会同时发生。 例如在下面的几个场景:
- **使用门禁卡开门:** 认证、授权、鉴权、权限控制四个环节一气呵成,在瞬间同时发生。
- **用户的网站登录:** 用户在使用用户名和密码进行登录时,认证和授权两个环节一同完成,而鉴权和权限控制则发生在后续的请求访问中,比如在选购物品或支付时。

Some files were not shown because too many files have changed in this diff Show More