【AWS】实操-保护 Amazon S3 VPC 终端节点通信

文章目录

    • 实验概览
    • 目标
    • 实验环境
    • 任务 1:探索并启动实验环境
      • 任务 1.1:探索 Amazon VPC 资源
      • 任务 1.2:探索 Amazon EC2 资源
      • 任务 1.3:创建 Amazon VPC 终端节点
      • 任务 1.4:连接私有 EC2 实例
      • 任务 1.5:探索 Amazon S3 资源
    • 任务 2:通过 Amazon EC2 实例与 Amazon S3 交互
    • 任务 3:为 Amazon S3 创建 VPC 终端节点
    • 任务 4:通过私有实例与 Amazon S3 交互
    • 🔴添加 VPC 终端节点策略
    • 🟢解决方案
      • 控制台步骤
      • AWS CLI 步骤
    • 总结

实验概览

数据安全至关重要。Amazon Web Services (AWS) 提供了多种解决方案和最佳实践来帮助保护数据的安全。了解如何做出最佳决策来保护数据的安全,这项任务可能具有挑战性。在无路由指向互联网的私有子网中运行应用程序,可将攻击面限制为仅限内部流量,从而实现数据安全。该策略是一项很好的安全措施。但是,当应用程序必须从 Amazon Simple Storage Service (Amazon S3) 等服务访问数据时,可能会出现问题。


为了解决此类问题,AWS 提供了 Amazon Virtual Private Cloud (Amazon VPC) 终端节点。使用 VPC 终端节点,您可以通过私密方式将 VPC 连接到受支持的 AWS 服务。**这种私密连接无需互联网网关、NAT 网关、VPN 连接或 AWS Direct Connect 连接即可实现。**通过 VPC 终端节点进行通信时,不需要使用 VPC 中的资源即可获取公有 IP 地址。这样,通过 VPC 终端节点的流量就能保持在 Amazon 网络内。


在本实验中,将创建 VPC 终端节点。然后,将使用这些终端节点从位于私有子网的 Amazon Elastic Compute Cloud (Amazon EC2) 实例访问 Amazon S3。要进一步提高数据安全性,可以创建 VPC 终端节点策略,仅限特定资源使用终端节点。


目标

完成本实验后,将能够:

  • 了解私有子网和公有子网,了解它们为何能够或不能与 Amazon S3 通信。
  • 使用 AWS 管理控制台和 AWS Command Line Interface (AWS CLI) 配置 VPC 终端节点。
  • 通过私有子网中的 VPC 终端节点与 Amazon S3 交互。
  • 创建 VPC 终端节点策略以限制对资源的访问

实验环境

在本实验中,已创建包含公有子网和私有子网的 VPC。私有子网路由表不包括 NAT 网关或互联网网关。因此,在私有子网中启动的资源无法与公共互联网或任何通过公共互联网传输数据的 AWS 服务进行通信。

本实验将演示 VPC 终端节点的工作原理。为此,已在公有子网中启动了 EC2 实例,并在私有子网中启动了相同的 EC2 实例。VPC 终端节点允许来自私有 EC2 实例的流量访问需要公有路由的 AWS 服务。为了验证这一结果,本实验已经创建了一个 Amazon S3 存储桶,其中包含一个演示文件。

下图显示了为本实验预置的所有资源:
image-20230831153822796

任务 1:探索并启动实验环境

在此任务中,将查看预置的实验资源。这些资源包括 VPC、子网、Amazon S3 存储桶和 Amazon EC2 实例。还可以创建 VPC 终端节点,以允许 AWS Systems Manager Session Manager 访问实例。

下图显示了为本实验任务预置的所有资源以及这些资源的连接方式:

image-20230831154925015

任务 1.1:探索 Amazon VPC 资源

  • 查看VPC——labVPC

image-20230831155437370

  • 查看labVPC中所创建的子网

image-20230831155514494

  • 公有子网PublicSubnetA配置了互联网关,可以向外通信。

image-20230831155604022

  • 私有子网PrivateSubnetA没有配置互联网关不能向外通信。

image-20230831155656856

  • 查看路由表PublicRouteTable子网关联情况

image-20230831155806452

  • 查看路由表PrivateRouteTable子网关联情况

image-20230831155843987

任务 1.2:探索 Amazon EC2 资源

通过控制台,导航至EC2控制面板,查看云实例。

image-20230831160057874

  • 查看云实例

image-20230831160239222

  • 查看云主机所使用的HTTPS-SSM-ENDPOINT安全组。

image-20230831160314841

  • 该实例为公有网络中的云主机实例,使用 Session Manager 可以直接连接到实例。

image-20230831161055177

  • 通过会话管理器,可以连接到该云主机实例。
ls

image-20230831161153330

  • 接下来,当使用同样的方式进行云主机实例登录。发现登录不了。

此时将显示一条错误消息:"We weren't able to connect to your instance."。这时,要使用 Session Manager 连接实例,可以创建接口终端节点。

image-20230831162522235
可以将 Systems Manager 配置为使用接口 virtual private cloud (VPC) 终端节点,进一步改善托管节点的安全态势。AWS PrivateLink 将托管节点、Systems ManagerAmazon EC2 之间的所有网络流量限定为 Amazon 网络。这一限制让您无需在私有 EC2 实例上进行任何出站互联网访问。

任务 1.3:创建 Amazon VPC 终端节点

  • 创建一个 Session Manager 终端节点,以便能够在不使用互联网网关或 NAT 网关的情况下连接到私有 EC2 实例

image-20230831162900418

  • 终端节点配置
  1. 在 Name tag - optional(名称标签 – 可选)框内输入SSM Endpoint
  2. Service Name(服务名称)筛选框中,输入ssm 并按 Enter 键。
  3. 选择 com.amazonaws.REGION.ssm,其中 REGION 是您从中启动实验的区域。
  4. 对于 VPC,从下拉菜单中选择 labVPC

image-20230831163716840

  • 待终端节点状态变成可用状态就可以访问使用。

image-20230831163944512

任务 1.4:连接私有 EC2 实例

  • 选择连接 PrivateCommandHost云实例。

image-20230831164146604

  • 选择 *Connect*(连接)按钮。系统会打开一个新的浏览器标签页。现在,已使用一个实例终端节点连接到了私有子网中的实例。

image-20230831164232823

  • 成功连接。

image-20230831164337550

任务 1.5:探索 Amazon S3 资源

  • 查看存储桶。

image-20230831164728448

任务 2:通过 Amazon EC2 实例与 Amazon S3 交互

连接到公有实例和私有实例,并尝试在不使用 Amazon S3 VPC 端点的情况下从每个实例访问 Amazon S3 存储桶中的文件。

如下图所示,能够从公有实例而非私有实例访问 S3 存储桶:
image-20230831164854419

  • 命令:要访问主目录,请运行以下命令:
cd ~

命令:为了帮助区分 AWS CLI 中的命令和输出,请运行以下命令。此命令将在屏幕上显示的任何输出之前添加一个空行:

trap 'printf "\n"' DEBUG

还可以通过导出 PS1 变量来更改命令提示符,使输出更易于阅读。
命令:要执行此操作,请运行以下命令:

export PS1="\n[\u@\h \W] $ "

命令:要配置 AWS CLI,请运行以下命令:

aws configure

命令:出现提示时,配置以下各项:

  • AWS Access Key ID [None](AWS 访问密钥 ID [无]):按 Enter 键
  • AWS Secret Access Key [None](AWS 秘密访问密钥[无]):按 Enter 键
  • Default region name [None](默认区域名称 [无]):复制并粘贴 Region(区域)值
  • Default output format [None](默认输出格式 [无]):json

image-20230831165455787

(可选)注意:如果收到内容为 Partial credentials found in shared-credentials-file, missing: aws_secret_access_key(在 shared-credentials-file 中发现部分凭证,缺少:aws_secret_access_key)的错误消息,请运行以下命令删除凭证文件,并重新执行 aws configure 命令。否则,请继续下一步。

rm ~/.aws/credentials

命令:列出在账户中有权访问的 S3 存储桶,请运行以下命令:

aws s3 ls

image-20230831165714219
命令:要列出 LabBucket 中的所有文件,请运行以下命令。将 替换为LabBucket的相应值:

aws s3 ls s3://<LabBucket>labstack-2848353a-a5d2-4c70-b586-997e2b-labbucket-c72jm1b2ozlq
labstack-2848353a-a5d2-4c70-b586-labloggingbucket-1ctuk4k4ixe1

image-20230831165924054
命令:要将该文件从 Amazon S3 复制到本地主目录,请运行以下命令。将 替换为LabBucket的相应值:

aws s3 cp s3://<LabBucket>/demo.txt ~/labstack-2848353a-a5d2-4c70-b586-997e2b-labbucket-c72jm1b2ozlq

命令:要将该文件的内容显示到屏幕上,请运行以下命令:

less demo.txt

已能够将文件从 Amazon S3 下载到公有实例。键入q 以退出编辑器。接下来,从主目录中修改此文件,并将其重新上传到 LabBucket

命令:要向该文件添加文本并将更新后的文件内容显示在屏幕上,请运行以下命令:

echo "
This is some non-unique text that will be appended to your file." >> demo.txtless demo.txt

image-20230831170947623

命令:要将更新后的文件重新上传回 Amazon S3,请运行以下命令。将 替换为LabBucket的相应值:

aws s3 cp demo.txt s3://<LabBucket>/labstack-2848353a-a5d2-4c70-b586-997e2b-labbucket-c72jm1b2ozlq

切换到显示 AWS 管理控制台的浏览器标签页。在存储桶列表中,选择与实验页面左侧的 LabBucket 值匹配的存储桶名称。选择 demo.txt 文件的名称。选择 Open(打开)。该文件将在新的浏览器标签页中打开。已从公有实例成功更新了该文件。注意:如果该文件未在浏览器标签页中打开,请确保未阻止弹出窗口。

![image-20230831171133573](https://img-blog.csdnimg.cn/img_convert/bcc93fda9122a095626892183e1ce533.png
image-20230831171212213



接下来,对位于私有子网中的实例运行相同的命令,该子网没有指向互联网的路由。Amazon S3 不在 VPC 中;如果没有指向互联网的路由,将无法访问存储桶。这也意味着,从公有实例向 Amazon S3 发出的所有请求都需要一条指向互联网的路由,才能访问公有 Amazon S3 终端节点。



命令:要访问主目录,请运行以下命令:

cd ~ && trap 'printf "\n"' DEBUG && export PS1="\n[\u@\h \W] $ " && aws configure

image-20230831172259514

大约 5 分钟后,该命令会超时。等待约五分钟,按 ctrl + c 中断该进程,避免超时。私有实例没有指向 Amazon S3 的路由,因为没有互联网网关、NAT 网关或 VPC 终端节点。



任务 3:为 Amazon S3 创建 VPC 终端节点

在此任务中,将创建 VPC 网关端点以从私有实例访问 Amazon S3。您可以使用 AWS CLI 来运行命令并创建端点。要使 AWS CLI 能够与 VPC 外部的资源(即全局 AWS 服务)进行通信,需要从公有实例运行命令。

下图显示了为本实验任务预置的所有资源以及这些资源的连接方式:
image-20230831172015067

切换回到用于连接公有实例的标签页。

要列出已为其创建 VPC 终端节点的服务,请运行以下命令:

aws ec2 describe-vpc-endpoints --query 'VpcEndpoints[*].ServiceName'

image-20230831172358270
命令:要查找 labVPC 的 VPC ID,请运行以下命令:

VPC=$(aws ec2 describe-vpcs --query 'Vpcs[*].VpcId' --filters 'Name=tag:Name, Values=labVPC' | jq -r '.[0]')echo $VPC

image-20230831173046816

此命令使用 JQ 来处理 JSON 输出,并对其采用正确的格式以备日后使用。

命令:要查找私有路由表的路由表 ID,请运行以下命令:

RTB=$(aws ec2 describe-route-tables --query 'RouteTables[*].RouteTableId' --filters 'Name=tag:Name, Values=PrivateRouteTable' | jq -r '.[0]')echo $RTB

image-20230831173312333
✨命令✨:要创建 Amazon S3 终端节点,请运行以下命令:

export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')echo $AWS_REGIONaws ec2 create-vpc-endpoint \--vpc-id $VPC \--service-name com.amazonaws.$AWS_REGION.s3 \--route-table-ids $RTB

注意:上述命令中加入了反斜线,以作为多行命令运行。

image-20230831173647284
image-20230831173624706

Amazon S3 VPC 终端节点现已创建完成。


命令:要验证 Amazon S3 VPC 终端节点是否已创建,请运行以下命令:

aws ec2 describe-vpc-endpoints --query 'VpcEndpoints[*].ServiceName'

image-20230831173746357

此时 Amazon S3 终端节点已显示在列表中。


任务 4:通过私有实例与 Amazon S3 交互

在此任务中,将使用位于私有子网中的实例,该实例之前无法访问 Amazon S3。现在已创建 Amazon S3 终端节点并将其与私有子网所关联的路由表关联,因此无需使用公共资源,即可直接访问 Amazon S3,如下图所示:

image-20230831173821653

切换到用于连接私有实例的标签页。

要列出在账户中有权访问的 S3 存储桶,请运行以下命令:

aws s3 ls

命令:要列出 LabBucket 中的所有文件,请运行以下命令。将 替换为LabBucket的相应值:

aws s3 ls s3://<LabBucket>labstack-2848353a-a5d2-4c70-b586-997e2b-labbucket-c72jm1b2ozlq

此命令将显示一个列表,其中包含与您之前从控制台看到的 S3 存储桶中的文件相匹配的文件。

命令:要显示实例主目录中的文件列表,请运行以下命令:

cd ~
ls -l

请注意,此目录中没有本地文件,因为之前已将文件从 S3 下载到公有实例,现在已连接到私有实例。

命令:要将该文件从 Amazon S3 复制到本地主目录,请运行以下命令。将 替换为LabBucket的相应值:

aws s3 cp s3://<LabBucket>/demo.txt ~/labstack-2848353a-a5d2-4c70-b586-997e2b-labbucket-c72jm1b2ozlq

命令:要将该文件的内容显示到屏幕上,请运行以下命令:

less  demo.txt

image-20230831174549146

现在有了 Amazon S3 VPC 终端节点,就可以从私有实例上的 Amazon S3 中下载文件。


🔴添加 VPC 终端节点策略

借助 VPC 网关终端节点,可以指定限制访问权限的策略。使用终端节点策略,您可以准确指定允许私有子网中的实例访问哪些 Amazon S3 存储桶。例如,策略允许提供对数据存储桶的访问权限但限制对日志记录存储桶的访问

使用控制台或 AWS CLI 向 Amazon S3 VPC 网关终端节点添加策略,以允许访问 labbucket,但拒绝访问 labloggingbucket,如下图所示:

image-20230831174638153

从以下策略模板入手:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": "s3:List*","Resource": "arn:aws:s3:::*"},{"Effect": "Allow","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabBucket>","arn:aws:s3:::<LabBucket>/*"]},{"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabLoggingBucket>","arn:aws:s3:::<LabLoggingBucket>/*"]}]
}

下图显示了为本实验任务预置的所有资源以及这些资源的连接方式:

image-20230831174749933
已成功地添加一个 VPC 终端节点策略,以限制对 labloggingbucket 的访问。

🟢解决方案

以下步骤概述了如何向 Amazon S3 网关端点添加 VPC 网关端点策略。提供了通过控制台和 AWS CLI 执行此操作的说明。

控制台步骤

AWS 管理控制台中,使用 AWS 搜索栏搜索VPC ,然后从结果列表中选择该服务。

在左侧导航窗格中,选择 Endpoints(终端节点)。

选择 com.amazonaws.REGION.s3 端点。

选择 Policy(策略)选项卡。

选择 Edit Policy(编辑策略)。

选择 Custom(自定义)。

复制以下策略并将其粘贴到文本框中:

注意:将 替换为相应值。

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": "s3:List*","Resource": "arn:aws:s3:::*"},{"Effect": "Allow","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabBucket>","arn:aws:s3:::<LabBucket>/*"]},{"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabLoggingBucket>","arn:aws:s3:::<LabLoggingBucket>/*"]}]
}

选择 *Save*(保存)。

现在,已向 Amazon S3 网关终端节点添加了策略。可以通过运行以下命令从私有实例测试该策略:

命令:将 替换为相应值。

aws s3 ls s3://<LabBucket>
aws s3 ls s3://<LabLoggingBucket>

AWS CLI 步骤

转到用于连接公有实例的浏览器标签页。

命令:要创建策略文档的 JSON 文件,请运行以下命令。将 替换为相应值:

cd ~
cat <<EOT >> policy.json
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": "s3:List*","Resource": "arn:aws:s3:::*"},{"Effect": "Allow","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabBucket>","arn:aws:s3:::<LabBucket>/*"]},{"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::<LabLoggingBucket>","arn:aws:s3:::<LabLoggingBucket>/*"]}]
}
EOT

命令:要查找 VPC 终端节点 ID,请运行以下命令:

export vpcEndpointId=$(aws ec2 describe-vpc-endpoints --query 'VpcEndpoints[?contains(ServiceName, `s3`) == `true`].VpcEndpointId' --output text)echo ${vpcEndpointId}

命令:要将策略附加到 VPC 终端节点,请运行以下命令:

aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${vpcEndpointId} --policy-document file://policy.json

现在,已向 Amazon S3 网关终端节点添加了策略。可以通过运行以下命令从私有实例测试该策略:

命令:将 替换为相应值。

aws s3 ls s3://<LabBucket>
aws s3 ls s3://<LabLoggingBucket>

总结

  • 了解私有子网和公有子网以及它们为何能够或不能与 Amazon S3 通信
  • 使用 AWS 管理控制台和 AWS CLI 配置 VPC 端点
  • 通过私有子网中的 VPC 端点与 Amazon S3 交互
  • 创建限制资源访问的 VPC 端点策略

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

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

相关文章

Nginx从入门到精通(超级详细)

文章目录 一、什么是Nginx1、正向代理2、反向代理3、负载均衡4、动静分离 二、centos7环境安装Nginx1、安装依赖2、下载安装包3、安装4、启动5、停止 三、Nginx核心基础知识1、nginx核心目录2、常用命令3、默认配置文件讲解4、Nginx虚拟主机-搭建前端静态服务器5、使用nignx搭建…

【设计模式】Head First 设计模式——桥模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点&#xff0c;然后分离它们&#xff0c;从而管理变化。将变化像小兔子一样关到笼子里&#xff0c;让它在笼子里随便跳&#xff0c;而不至于跳出来把你整个房间给污染掉。 设计思想 桥模式。将抽象部分(业务功能)与实现部分(平…

13.108.Spark 优化、Spark优化与hive的区别、SparkSQL启动参数调优、四川任务优化实践:执行效率提升50%以上

13.108.Spark 优化 1.1.25.Spark优化与hive的区别 1.1.26.SparkSQL启动参数调优 1.1.27.四川任务优化实践&#xff1a;执行效率提升50%以上 13.108.Spark 优化&#xff1a; 1.1.25.Spark优化与hive的区别 先理解spark与mapreduce的本质区别&#xff0c;算子之间&#xff08;…

机器学习和数据挖掘02-Gaussian Naive Bayes

概念 贝叶斯定理&#xff1a; 贝叶斯定理是概率中的基本定理&#xff0c;描述了如何根据更多证据或信息更新假设的概率。在分类的上下文中&#xff0c;它用于计算给定特征集的类别的后验概率。 特征独立性假设&#xff1a; 高斯朴素贝叶斯中的“朴素”假设是&#xff0c;给定…

《Python魔法大冒险》004第一个魔法程序

在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前。桌子上摆放着那台神秘的笔记本电脑。 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器。是时候开始编写你的第一个Python魔法程序了! 小鱼:(兴奋地两眼放光)我准备好了! 魔法师: 不用担心,…

OPPO手机便签数据搬家到华为mate60Pro手机怎么操作

今年8月底&#xff0c;华为上线了本年度的旗舰手机——华为mate60Pro。有不少网友都在抢购这台手机&#xff0c;不过在拿到新手机之后&#xff0c;还有一件重要的事情要做&#xff0c;这就是把旧手机中比较重要的数据&#xff0c;例如图片、短信、通讯录、联系人、便签等数据搬…

【STM32】IIC的初步使用

IIC简介 物理层 连接多个devices 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中&#xff0c;可连接多个 I2C 通讯设备&#xff0c;支持多个通讯主机及多个通讯从机。 两根线 一个 I2C 总线只使用两条总线线路&#xff0c;一条双向串行数…

说说Omega架构

分析&回答 Omega架构我们暂且称之为混合数仓。 什么是ECS设计模式 在谈我们的解法的时候&#xff0c;必须要先提ECS的设计模式。 简单的说&#xff0c;Entity、Component、System分别代表了三类模型。 实体(Entity)&#xff1a;实体是一个普通的对象。通常&#xff0c…

pandas数据分析之数据绘图

一图胜千言&#xff0c;将信息可视化&#xff08;绘图&#xff09;是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外&#xff0c;还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文…

python中super()用法

super关键字的用法 一、概述二、作用三、语法四、使用示例1.通过super() 来调用父类的__init__ 构造方法&#xff1a;2.通过supper() 来调用与子类同名的父类方法2.1 单继承2.2 多继承 一、概述 super() 是python 中调用父类&#xff08;超类&#xff09;的一种方法&#xff0…

iPhone 隔空投送使用指南:详细教程

本文介绍了如何在iPhone上使用隔空投送,包括如何在iOS 11到iOS 14的iPhone上启用它、发送文件以及接受或拒绝AirDrop发送给你的文件。对于iOS 7以上的旧款iPhone,提供了另一种方法。 如何打开隔空投送 你可以通过以下两种方式之一启动隔空投送功能:在“设置”应用程序或控…

C#安装“Windows 窗体应用(.NET Framework)”

目录 背景: 第一步: 第二步: 第三步&#xff1a; 总结: 背景: 如下图所示:在Visual Studio Installer创建新项目的时候&#xff0c;想要添加windows窗体应用程序&#xff0c;发现里面并没有找到Windows窗体应用(.NET Framework)模板&#xff0c;快捷搜索也没有发现&#…

解决小程序中textarea ios端样式不兼容的方法

问题描述 &#xff0c;今天在调试小程序的时候有个需求需要textarea与标题对其&#xff0c;微信开发工具和安卓系统都没有问题 但是ios系统textarea存在内边距。出现不兼容的情况 解决方法&#xff1a;我们看官网的textarea的属性 textarea | uni-app官网 disable-default-p…

路径规划 | 图解Lazy Theta*算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 Theta*算法局限性2 Lazy Theta*算法原理3 Theta* VS. Lazy Theta*4 仿真实现4.1 ROS C实现4.2 Python实现4.3 Matlab实现 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规划(图…

计算机竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的人脸专注度…

苹果Mac系统如何优化流畅的运行?提高运行速度

Mac系统的稳定性和流畅性一直备受大家称赞&#xff0c;这也是大多数人选择Mac的原因&#xff0c;尽管如此&#xff0c;我们仍不时地对Mac进行优化、调整&#xff0c;以使其比以前更快、更流畅地运行。以下是小编分享给各位的Mac优化方法&#xff0c;记得保存哦~ 一、释放被过度…

Java 中数据结构HashSet的用法

Java HashSet HashSet 基于 HashMap 来实现的&#xff0c;是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的&#xff0c;即不会记录插入的顺序。 HashSet 不是线程安全的&#xff0c; 如果多个线程尝试同时修改 HashSet&#xff0c;则最终结果是…

React原理 - React Reconciliation-上

目录 扩展学习资料 React Reconciliation Stack Reconciler【15版本、栈协调】 Stack Reconciler-事务性 事务性带来的弊端&#xff1a; 扩展学习资料 名称 链接 备注 官方文档 Reconciliation – React 英文 stack reconciler Implementation Notes – React 英文…

spark支持深度学习批量推理

背景 在数据量较大的业务场景中&#xff0c;spark在数据处理、传统机器学习训练、 深度学习相关业务&#xff0c;能取得较明显的效率提升。 本篇围绕spark大数据背景下的推理&#xff0c;介绍一些优雅的使用方式。 spark适用场景 大数据量自定义方法处理、类sql处理传统机器…

环保环卫行业案例 | 燕千云助力高能环境搭建数智化IT服务管理体系及平台

当前环境卫生问题在全球已引起前所未有的关注&#xff0c;而促进健康又成为环境与发展所关注的核心问题。随着数字化时代的到来&#xff0c;环保环卫行业呈现出多个发展趋势&#xff0c;随着业务系统规模的不断扩大&#xff0c;信息系统的运维问题也日益突出&#xff0c;需要得…