1
0

Compare commits

...

2 Commits

Author SHA1 Message Date
7Wate
e268fc074b
项目:重构 2024-10-13 20:52:05 +08:00
7Wate
3f63f55d14
云服务:架构调整 2024-10-13 01:52:40 +08:00
259 changed files with 7487 additions and 803 deletions

View File

@ -6,5 +6,6 @@
"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,37 +5,8 @@
"showAttachments": false, "showAttachments": false,
"hideUnresolved": false, "hideUnresolved": false,
"showOrphans": false, "showOrphans": false,
"collapse-color-groups": false, "collapse-color-groups": true,
"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,
@ -46,6 +17,6 @@
"repelStrength": 20, "repelStrength": 20,
"linkStrength": 0.75, "linkStrength": 0.75,
"linkDistance": 400, "linkDistance": 400,
"scale": 0.4993882638266578, "scale": 0.09085236301906145,
"close": true "close": true
} }

View File

@ -0,0 +1,43 @@
{
"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

@ -0,0 +1,10 @@
{
"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

@ -0,0 +1,119 @@
.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;
}

BIN
FormalSciences/ComputerScience/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,18 +1,22 @@
--- ---
title: IT 基础架构 title: 1.1-基础架构
description: IT 基础架构 description: IT 基础架构由硬件、软件、网络组件、操作系统和数据存储组成支持企业IT服务。它可部署在云或企业自建设施中。硬件包括服务器、数据中心等物理设备。软件涉及操作系统和应用程序。网络负责系统间的通信。基础架构类型包括传统企业自管、云如公有云、私有云、混合云和超融合统一管理计算、网络、存储。IT管理涵盖操作系统、云、虚拟化、IT运维、自动化、容器编排、配置、API、风险和数据管理。
keywords: keywords:
- IT 基础架构 - IT 基础架构
- 硬件
- 软件
- 网络
- 传统架构
tags: tags:
- 技术/云计算 - FormalSciences/ComputerScience
- 云计算/基础 - CloudService/Overview
author: 仲平 author: 仲平
date: 2024-06-19 date: 2024-10-13
--- ---
## 概述 ## 概述
**信息技术IT基础架构是指运行和管理企业 IT 环境所需的组件。**IT 基础架构可以部署在云计算系统中,也可以部署在企业自己的设施中。 **信息技术IT基础架构是指运行和管理企业 IT 环境所需的组件。** IT 基础架构可以部署在云计算系统中,也可以部署在企业自己的设施中。
这些组件包括硬件、软件、网络组件、操作系统OS和数据存储它们共同提供了各种 IT 服务和解决方案。IT 基础架构产品可以是运行于现有 IT 资源之上的可下载软件应用例如软件定义存储也可以是服务提供商提供的在线解决方案例如基础架构即服务IaaS 这些组件包括硬件、软件、网络组件、操作系统OS和数据存储它们共同提供了各种 IT 服务和解决方案。IT 基础架构产品可以是运行于现有 IT 资源之上的可下载软件应用例如软件定义存储也可以是服务提供商提供的在线解决方案例如基础架构即服务IaaS

View File

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

View File

@ -1,29 +1,32 @@
--- ---
title: 基础架构即服务IaaS title: 2.1-基础架构即服务IaaS
description: 基础架构即服务IaaS description: IaaS 提供基础架构服务如存储和虚拟化用户负责操作系统及应用而提供商管理网络、服务器等。IaaS 提供灵活性和成本效益适合快速构建和拆解开发环境。IaaS 与虚拟化、自动化和容器化紧密相关,支持 DevOps 工作流。与无服务器计算不同IaaS 需要用户管理服务器扩展。选择 IaaS 提供商时需考虑灵活性、经济性、控制性、安全性、多租户问题、服务和可靠性。
keywords: keywords:
- 基础架构即服务 - 基础架构即服务
- IaaS - IaaS
- 虚拟化
- 自动化
- 容器化
tags: tags:
- 技术/云计算 - FormalSciences/ComputerScience
- 云计算/基础 - CloudService/Overview
author: 仲平 author: 仲平
date: 2024-06-19 date: 2024-10-13
--- ---
## IaaS 概述 ## IaaS 概述
基础架构即服务IaaS让您从本地 [IT 基础架构](Tech/cloud-service/基础/IT%20基础架构.md) 往轻松迈进了一步。这是一种即付即用的服务,由外部的第三方提供商根据您的需要,利用互联网(通过云)为您提供基础架构服务(如存储和虚拟化)。 基础架构即服务IaaS让您从本地 IT 基础架构往轻松迈进了一步。这是一种即付即用的服务,由外部的第三方提供商根据您的需要,利用互联网(通过云)为您提供基础架构服务(如存储和虚拟化)。
**作为用户,您只需负责操作系统以及任何数据、应用、中间件和运行时,而提供商会给您访问和管理所需网络、服务器、虚拟化和存储的权限。** **作为用户,您只需负责操作系统以及任何数据、应用、中间件和运行时,而提供商会给您访问和管理所需网络、服务器、虚拟化和存储的权限。**
**您无需维护或更新自己的本地数据中心,因为提供商会为您代劳。**此外您可以通过应用编程接口API或控制面板来访问和控制基础架构。 **您无需维护或更新自己的本地数据中心,因为提供商会为您代劳。** 此外您可以通过应用编程接口API或控制面板来访问和控制基础架构。
**IaaS 可以让您享受较大的灵活性:您可以仅购买所需的组件,然后根据需要进行扩展或缩减。**这样不仅开销低,而且无维护成本,从而使 IaaS 成为一种经济实惠的方案。 **IaaS 可以让您享受较大的灵活性:您可以仅购买所需的组件,然后根据需要进行扩展或缩减。** 这样不仅开销低,而且无维护成本,从而使 IaaS 成为一种经济实惠的方案。
**IaaS 的一大用途就是快速、灵活地构建和拆解开发与测试环境。**您可以仅使用创建开发环境所需的基础架构,并在需要时进行扩展或缩编,完成后,您可以立即停用,这样就只需为所使用的内容付费。 **IaaS 的一大用途就是快速、灵活地构建和拆解开发与测试环境。** 您可以仅使用创建开发环境所需的基础架构,并在需要时进行扩展或缩编,完成后,您可以立即停用,这样就只需为所使用的内容付费。
**IaaS 的主要短板在于可能存在的提供商安全问题、多租户系统问题(提供商必须与多个客户端共享基础架构资源)以及服务可靠性。**但选择可靠且可信赖的提供商(具有可靠的历史和声誉)就可以避免这些问题。 **IaaS 的主要短板在于可能存在的提供商安全问题、多租户系统问题(提供商必须与多个客户端共享基础架构资源)以及服务可靠性。** 但选择可靠且可信赖的提供商(具有可靠的历史和声誉)就可以避免这些问题。
## IaaS 与虚拟化、自动化和容器化的关系 ## IaaS 与虚拟化、自动化和容器化的关系
@ -39,9 +42,9 @@ IaaS 产品还可以支持容器化,其中软件代码及其所有必要的组
## IaaS 与 DevOps 有什么共同点? ## IaaS 与 DevOps 有什么共同点?
**DevOps 描述了一种在开发和运维交叉点的工作方式。**这种工作方式强调减少软件改进推进到部署所需要的时间以便用户更快地访问新应用。DevOps 方法要求开发团队和运维团队频繁沟通并作为队友进行协作。 **DevOps 描述了一种在开发和运维交叉点的工作方式。** 这种工作方式强调减少软件改进推进到部署所需要的时间以便用户更快地访问新应用。DevOps 方法要求开发团队和运维团队频繁沟通并作为队友进行协作。
**DevOps 时刻关注代码和动态基础架构使用的频繁变更,因此非常适合于 IaaS。**DevOps 强调在应用的整个生命周期中,确保日常运维任务自动化和环境的标准化。因此 DevOps 团队经常会使用微服务架构来构建软件,并通过 API 将这些服务彼此相连。这些都有助于团队更快地交付软件,专注于创建较小的功能,然后使用敏捷方法等策略将其整合在一起。 **DevOps 时刻关注代码和动态基础架构使用的频繁变更,因此非常适合于 IaaS。** DevOps 强调在应用的整个生命周期中,确保日常运维任务自动化和环境的标准化。因此 DevOps 团队经常会使用微服务架构来构建软件,并通过 API 将这些服务彼此相连。这些都有助于团队更快地交付软件,专注于创建较小的功能,然后使用敏捷方法等策略将其整合在一起。
IaaS 通过减少维护服务器基础架构的需求,同时强调更简单的自动化开发人员体验,因此有助于支持 DevOps 工作流。 IaaS 通过减少维护服务器基础架构的需求,同时强调更简单的自动化开发人员体验,因此有助于支持 DevOps 工作流。
@ -57,10 +60,10 @@ IaaS 通过减少维护服务器基础架构的需求,同时强调更简单的
## 在选择 IaaS 提供商时要考虑的事项 ## 在选择 IaaS 提供商时要考虑的事项
- **灵活性:**仅购买用例所需的组件,然后根据业务需要进行扩展或缩减。 - **灵活性:** 仅购买用例所需的组件,然后根据业务需要进行扩展或缩减。
- **经济性:**低开销、无维护成本使 IaaS 成为一种价格实惠的方案。您只需按实际用量和使用频次付费,就像支付水电费那样。 - **经济性:** 低开销、无维护成本使 IaaS 成为一种价格实惠的方案。您只需按实际用量和使用频次付费,就像支付水电费那样。
- **可控:**用户可以控制其基础架构。 - **可控:** 用户可以控制其基础架构。
- **安全性:**提供商是否值得信赖?是否有用于防范和管理任何安全威胁的资源?是否有记录在案的灾难恢复协议来确保业务连续性? - **安全性:** 提供商是否值得信赖?是否有用于防范和管理任何安全威胁的资源?是否有记录在案的灾难恢复协议来确保业务连续性?
- **多租户系统:**由于 IaaS 提供商倾向于根据需要将基础架构资源分配给多个客户端,因此提供商需要确保客户无法访问彼此的数据。让多个客户使用提供商的基础架构也会造成失衡,称之为 " 相邻干扰 "(单个用户垄断特定资源会降低其他用户的效能),因此提供商需要谨慎规划资源分配。为此,要了解提供商将如何根据用户的负载进行扩展,这一点很重要。 - **多租户系统:** 由于 IaaS 提供商倾向于根据需要将基础架构资源分配给多个客户端,因此提供商需要确保客户无法访问彼此的数据。让多个客户使用提供商的基础架构也会造成失衡,称之为 " 相邻干扰 "(单个用户垄断特定资源会降低其他用户的效能),因此提供商需要谨慎规划资源分配。为此,要了解提供商将如何根据用户的负载进行扩展,这一点很重要。
- **服务:**什么是服务提供商的服务级别协议SLA是提供商承诺解决资源置备问题所付出的最短时间和最小精力吗 - **服务:** 什么是服务提供商的服务级别协议SLA是提供商承诺解决资源置备问题所付出的最短时间和最小精力吗
- **可靠性:**性能和速度在很大程度上要取决于提供商。任何软件或硬件问题最终都会影响到用户的运行时。 - **可靠性:** 性能和速度在很大程度上要取决于提供商。任何软件或硬件问题最终都会影响到用户的运行时。

View File

@ -1,14 +1,17 @@
--- ---
title: 平台即服务PaaS title: 2.2-平台即服务PaaS
description: 平台即服务PaaS description: PaaS 提供了一个云计算平台允许用户开发、运行和管理应用而无需构建相关基础架构。它托管硬件和软件提供开发工具和环境。PaaS 的优势包括降低成本、缩短开发周期、提高工作效率和维护安全。PaaS 适合希望专注于应用开发而非基础架构维护的团队。选择 PaaS 时需考虑功能覆盖、语言和框架优化、服务支持和用户规模。
keywords: keywords:
- 平台即服务 - 平台即服务
- PaaS - PaaS
- 开发
- 运维
- 云计算
tags: tags:
- 技术/云计算 - FormalSciences/ComputerScience
- 云计算/基础 - CloudService/Overview
author: 仲平 author: 仲平
date: 2024-06-19 date: 2024-10-13
--- ---
## 概述 ## 概述
@ -25,12 +28,12 @@ PaaS 平台可在云端或本地基础架构中运行。对于托管的产品,
选择 PaaS 环境进行应用开发的企业可享受诸多好处。 选择 PaaS 环境进行应用开发的企业可享受诸多好处。
- **使用现有技能和投资。**开发人员可访问操作系统、中间件、框架及其他开发工具,并使用熟悉的编程语言快速进行编码。 - **使用现有技能和投资。** 开发人员可访问操作系统、中间件、框架及其他开发工具,并使用熟悉的编程语言快速进行编码。
- **降低成本。**PaaS 定价意味着按实际用量付费,不必投资购置大量本地计算基础架构,免得大多数时候闲置不用。 - **降低成本。** PaaS 定价意味着按实际用量付费,不必投资购置大量本地计算基础架构,免得大多数时候闲置不用。
- **缩短应用开发周期。**PaaS 可帮助开发团队加速应用开发,并减少部署新软件所需的时间。 - **缩短应用开发周期。** PaaS 可帮助开发团队加速应用开发,并减少部署新软件所需的时间。
- **实现高效的开发运维。**开发运维策略将开发人员和 IT 运维相结合,因此您可以通过持续交付来快速开发和部署应用。 - **实现高效的开发运维。** 开发运维策略将开发人员和 IT 运维相结合,因此您可以通过持续交付来快速开发和部署应用。
- **维护安全措施。**与 PaaS 提供商合作有助于确保以统一的方式管理与安全实践相关的决策。基于云的服务将受益于专门研究安全问题的训练有素的团队。 - **维护安全措施。** 与 PaaS 提供商合作有助于确保以统一的方式管理与安全实践相关的决策。基于云的服务将受益于专门研究安全问题的训练有素的团队。
- **提高工作效率。**开发人员可通过自助服务功能,快速获得所需工具与资源。开发环境自动置备,因此团队可专注于能够增值的工作,而不是常规的基础架构管理。 - **提高工作效率。** 开发人员可通过自助服务功能,快速获得所需工具与资源。开发环境自动置备,因此团队可专注于能够增值的工作,而不是常规的基础架构管理。
## PaaS 如何发挥作用? ## PaaS 如何发挥作用?
@ -50,7 +53,7 @@ PaaS 平台可在云端或本地基础架构中运行。对于托管的产品,
在做出有关 PaaS 解决方案的决策前,您应该注意以下几点: 在做出有关 PaaS 解决方案的决策前,您应该注意以下几点:
- **要涵盖哪些功能?**您的应用能够与之协调工作吗?随着您的应用不断成长和发展,用户数量会越来越多,您需要确保能够在提供商的协助下轻松实现扩展并提供所需的选项。 - **要涵盖哪些功能?** 您的应用能够与之协调工作吗?随着您的应用不断成长和发展,用户数量会越来越多,您需要确保能够在提供商的协助下轻松实现扩展并提供所需的选项。
- **它是否已针对您所使用的语言和框架进行了优化?**如果没有,运行时可能会成为问题。 - **它是否已针对您所使用的语言和框架进行了优化?** 如果没有,运行时可能会成为问题。
- **提供商能否提供随叫随到的贴心服务?**您需要确保自己的提供商长期拥有可靠可信的客户服务,从而保障您可以享受周到的服务。 - **提供商能否提供随叫随到的贴心服务?** 您需要确保自己的提供商长期拥有可靠可信的客户服务,从而保障您可以享受周到的服务。
- **您预计会有多少用户使用您的应用?**用户越多,代码越具体,应用运行就越慢,而从一个服务提供商迁移到另一服务提供商的难度也就越大。 - **您预计会有多少用户使用您的应用?** 用户越多,代码越具体,应用运行就越慢,而从一个服务提供商迁移到另一服务提供商的难度也就越大。

View File

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

View File

@ -1,47 +0,0 @@
---
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

@ -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

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

View File

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

View File

@ -5,8 +5,8 @@ keywords:
- UDP - UDP
- 用户数据报协议 - 用户数据报协议
tags: tags:
- 计算机网络/UDP用户数据报协议 - FormalSciences/ComputerScience
- 技术/计算机网络 - ComputerNetwork/Protocols
author: 仲平 author: 仲平
date: 2024-01-11 date: 2024-01-11
--- ---
@ -17,7 +17,7 @@ UDP用户数据报协议是一种无连接的网络协议由 David P. R
UDP用户数据报协议是一种无连接的网络协议由 David P. Reed 设计并于 1980 年在 RFC 768 中首次描述。它是互联网协议套件的一部分,与 TCP 同属于传输层协议,但相较于 TCPUDP 的设计更为简单,提供更快的数据传输速度。 UDP用户数据报协议是一种无连接的网络协议由 David P. Reed 设计并于 1980 年在 RFC 768 中首次描述。它是互联网协议套件的一部分,与 TCP 同属于传输层协议,但相较于 TCPUDP 的设计更为简单,提供更快的数据传输速度。
**UDP 的主要特点是它不像 TCP 那样提供可靠性保证。UDP 不进行连接建立,不保证数据包的顺序,也不检测重复或丢失的数据包。**这意味着它能够提供更高效的数据传输服务,尤其适用于那些可以容忍一定数据丢失但对实时性要求较高的应用,如视频会议、实时多人游戏和语音传输。 **UDP 的主要特点是它不像 TCP 那样提供可靠性保证。UDP 不进行连接建立,不保证数据包的顺序,也不检测重复或丢失的数据包。** 这意味着它能够提供更高效的数据传输服务,尤其适用于那些可以容忍一定数据丢失但对实时性要求较高的应用,如视频会议、实时多人游戏和语音传输。
尽管 UDP 本身在设计上保持不变,但在其基础上开发了许多其他协议来增强功能或满足特定需求,例如 RTP实时传输协议和 QUIC快速 UDP 互联网连接)。后者结合了 TCP 和 UDP 的优点,并增加了加密功能。 尽管 UDP 本身在设计上保持不变,但在其基础上开发了许多其他协议来增强功能或满足特定需求,例如 RTP实时传输协议和 QUIC快速 UDP 互联网连接)。后者结合了 TCP 和 UDP 的优点,并增加了加密功能。

View File

@ -5,18 +5,17 @@ keywords:
- DHCP - DHCP
- 动态主机配置协议 - 动态主机配置协议
tags: tags:
- 计算机网络/DHCP协议 - FormalSciences/ComputerScience
- 技术/计算机网络 - ComputerNetwork/Protocols
sidebar_position: 2
author: 7Wate author: 7Wate
date: 2023-06-28 date: 2024-10-13
--- ---
## 简介 ## 简介
### 定义 ### 定义
动态主机配置协议Dynamic Host Configuration ProtocolDHCP是一个网络协议它能够**动态地分配 IP 地址和其他网络配置参数给网络设备。**该协议由网络工作组Network Working Group所开发是在 TCP/IP 网络环境中的标准化服务。 动态主机配置协议Dynamic Host Configuration ProtocolDHCP是一个网络协议它能够**动态地分配 IP 地址和其他网络配置参数给网络设备。** 该协议由网络工作组Network Working Group所开发是在 TCP/IP 网络环境中的标准化服务。
### 历史 ### 历史

View File

@ -6,9 +6,8 @@ keywords:
- 域名系统 - 域名系统
- 概述 - 概述
tags: tags:
- 计算机网络/DNS协议 - FormalSciences/ComputerScience
- 技术/计算机网络 - ComputerNetwork/Protocols
sidebar_position: 1
author: 7Wate author: 7Wate
date: 2023-06-28 date: 2023-06-28
--- ---
@ -17,7 +16,7 @@ date: 2023-06-28
### 定义和目的 ### 定义和目的
**域名系统Domain Name SystemDNS是一个用于将域名如 www.example.com转换为 IP 地址的分布式数据库。**当我们在浏览器中输入一个网站的 URL 时DNS 系统就会被调用,将 URL 中的域名转换为对应的 IP 地址从而使用户能够访问到正确的网站。DNS 的存在使得用户无需记住复杂的 IP 地址,只需要记住易于理解和记忆的域名就可以访问互联网,大大提升了用户的使用体验。 **域名系统Domain Name SystemDNS是一个用于将域名如 www.example.com转换为 IP 地址的分布式数据库。** 当我们在浏览器中输入一个网站的 URL 时DNS 系统就会被调用,将 URL 中的域名转换为对应的 IP 地址从而使用户能够访问到正确的网站。DNS 的存在使得用户无需记住复杂的 IP 地址,只需要记住易于理解和记忆的域名就可以访问互联网,大大提升了用户的使用体验。
### 发展历程 ### 发展历程
@ -125,6 +124,6 @@ DNS 记录是存储在 DNS 服务器上的数据,用于定义域名的各种
## 结论 ## 结论
**DNS 是互联网的基础设施之一,它将用户可以理解和记忆的域名转换为计算机可以理解的 IP 地址。**这个过程涉及到多个不同类型的服务器和记录,每一个部分都在整个解析过程中扮演着重要的角色。在 DNS 查询过程中,客户端发出请求,递归服务器处理这个请求,并从权威服务器获取响应,然后将响应返回给客户端。为了提高效率,这些查询结果会被缓存在各个层级的服务器上。 **DNS 是互联网的基础设施之一,它将用户可以理解和记忆的域名转换为计算机可以理解的 IP 地址。** 这个过程涉及到多个不同类型的服务器和记录,每一个部分都在整个解析过程中扮演着重要的角色。在 DNS 查询过程中,客户端发出请求,递归服务器处理这个请求,并从权威服务器获取响应,然后将响应返回给客户端。为了提高效率,这些查询结果会被缓存在各个层级的服务器上。
尽管 DNS 已经有了几十年的历史,但它仍在不断发展和创新。新的技术如 DoH 和 DoT使得 DNS 查询可以在加密的通道中传输提高了用户的隐私保护。国际化域名则使得更多的人可以方便地使用互联网。同时DNS 也面临着一些挑战,如安全威胁、管理复杂性等,这需要我们不断地学习和改进,以保护互联网的安全和稳定。 尽管 DNS 已经有了几十年的历史,但它仍在不断发展和创新。新的技术如 DoH 和 DoT使得 DNS 查询可以在加密的通道中传输提高了用户的隐私保护。国际化域名则使得更多的人可以方便地使用互联网。同时DNS 也面临着一些挑战,如安全威胁、管理复杂性等,这需要我们不断地学习和改进,以保护互联网的安全和稳定。

View File

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

View File

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

View File

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

View File

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

View File

@ -11,8 +11,50 @@ 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 模型**:访问控制列表
@ -21,7 +63,7 @@ date: 2023-06-28
- **ABAC 模型**:基于属性的访问控制 - **ABAC 模型**:基于属性的访问控制
- **RBAC 模型**:基于角色的权限访问控制 - **RBAC 模型**:基于角色的权限访问控制
## ACL 模型:访问控制列表 ### ACL 模型:访问控制列表
**Access Control List**ACL 是最早的、最基本的一种访问控制机制,是基于客体进行控制的模型,在其他模型中也有 ACL 的身影。为了解决相同权限的用户挨个配置的问题,后来也采用了用户组的方式。 **Access Control List**ACL 是最早的、最基本的一种访问控制机制,是基于客体进行控制的模型,在其他模型中也有 ACL 的身影。为了解决相同权限的用户挨个配置的问题,后来也采用了用户组的方式。
@ -31,7 +73,7 @@ date: 2023-06-28
**缺点**:当主体的数量较多时,配置和维护工作就会成本大、易出错。 **缺点**:当主体的数量较多时,配置和维护工作就会成本大、易出错。
## DAC 模型:自主访问控制 ### DAC 模型:自主访问控制
Discretionary Access ControlDAC 是 ACL 的一种拓展。 Discretionary Access ControlDAC 是 ACL 的一种拓展。
@ -41,7 +83,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:对权限控制比较分散,例如无法简单地将一组文件设置统一的权限开放给指定的一群用户。主体的权限太大,无意间就可能泄露信息。 **缺点**:对权限控制比较分散,例如无法简单地将一组文件设置统一的权限开放给指定的一群用户。主体的权限太大,无意间就可能泄露信息。
## MAC 模型:强制访问控制 ### MAC 模型:强制访问控制
**Mandatory Access Control**MAC 模型中主要的是双向验证机制。常见于机密机构或者其他等级观念强烈的行业,如军用和市政安全领域的软件。 **Mandatory Access Control**MAC 模型中主要的是双向验证机制。常见于机密机构或者其他等级观念强烈的行业,如军用和市政安全领域的软件。
@ -51,7 +93,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:控制太严格,实现工作量大,缺乏灵活性。 **缺点**:控制太严格,实现工作量大,缺乏灵活性。
## ABAC 模型:基于属性的访问控制 ### ABAC 模型:基于属性的访问控制
**Attribute-Based Access Control**,能很好地解决 RBAC 的缺点,在新增资源时容易维护。 **Attribute-Based Access Control**,能很好地解决 RBAC 的缺点,在新增资源时容易维护。
@ -68,7 +110,7 @@ Discretionary Access ControlDAC 是 ACL 的一种拓展。
**缺点**:规则复杂,不易看出主体与客体之间的关系,实现非常难,现在应用的很少。 **缺点**:规则复杂,不易看出主体与客体之间的关系,实现非常难,现在应用的很少。
## RBAC 基于角色的权限访问控制 ### RBAC 基于角色的权限访问控制
**Role-Based Access Control**,核心在于用户只和角色关联,而角色代表对了权限,是一系列权限的集合。 **Role-Based Access Control**,核心在于用户只和角色关联,而角色代表对了权限,是一系列权限的集合。
@ -210,6 +252,31 @@ 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

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

View File

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

View File

@ -1,38 +0,0 @@
---
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

@ -1,52 +0,0 @@
---
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