【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.mzph.cn/news/72599.shtml

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

相关文章

【最新!七麦下载量analysis参数】逆向分析与Python实现加密算法

文章目录 1. 写在前面2. 请求分析3. 加密分析4. 算法实现 1. 写在前面 之前出过一个关于榜单analysis的分析&#xff0c;有兴趣的可以查看这篇文章&#xff1a;七麦榜单analysis加密分析 最近运营团队那边有同事找到我们&#xff0c;说工作中偶尔需要统计分析一下某APP在一些主…

帆软报表执行sql报SQL command not properly ended

如果你在执行预览SQL时报如下图的错误&#xff1a; 你需要检查一下几点&#xff1a; 1.是否在SQL在有逗号忘记加了 2.是否有括号少了 3.是否在SQL的最后有分号存在&#xff0c;如果有需要去掉&#xff0c;这点是比较坑的&#xff0c;因为SQL最后加分号在oracle数据库中是能够…

普通用户使用spark的client无法更新Ranger策略

普通用户使用spark的client无法更新Ranger策略 报错图片&#xff1a; WARN org.apache.ranger.admin.client.RangerAdminRESTClient: Error getting Roles. secureModetrue, usercaojianxiangUCDIPA.VIATRIS.CC (auth:KERBEROS)&#xff0c;responsef"httpStatusCode&quo…

【项目经验】:elementui表格中表头的多选框换成文字

一.项目需求 表格可以多选&#xff0c;表头都是汉字。。。。类似于这种 二.实现功能 用到的方法 Table Attributes 参数说明类型可选值默认值header-cell-class-name表头单元格的 className 的回调方法&#xff0c;也可以使用字符串为所有表头单元格设置一个固定的 className。…

Vue + Element UI 前端篇(十一):第三方图标库

Vue Element UI 实现权限管理系统 前端篇&#xff08;十一&#xff09;&#xff1a;第三方图标库 使用第三方图标库 用过Elment的同鞋都知道&#xff0c;Element UI提供的字体图符少之又少&#xff0c;实在是不够用啊&#xff0c;幸好现在有不少丰富的第三方图标库可用&…

table 单元格中嵌套子表格 样式撑开问题

如图&#xff0c;表格中的td嵌套表格&#xff0c;里边表格把外层撑开&#xff0c;不能按100%显示&#xff1b; 解决办法 给父级table 加一个table-layout:fixed;样式

SSRF漏洞实战

文章目录 SSRF概述SSRF原理SSRF 危害PHP复现SSRF漏洞检测端口扫描内网Web应用指纹识别攻击内网应用读取本地文件 Weblogic SSRF--Getshell复现SSRF攻击Redis原理漏洞检测端口扫描复现翻车&#xff0c;请看官方复现教程注入HTTP头&#xff0c;利用Redis反弹shell SSRF防御过滤输…

现代C++中的从头开始深度学习:【6/8】成本函数

现代C中的从头开始深度学习&#xff1a;成本函数 一、说明 在机器学习中&#xff0c;我们通常将问题建模为函数。因此&#xff0c;我们的大部分工作都包括寻找使用已知模型近似函数的方法。在这种情况下&#xff0c;成本函数起着核心作用。 这个故事是我们之前关于卷积的讨论的…

OC和Swift混编,导入头文件‘xxx-Swift.h‘ file not found

在OC的项目里加入Swift代码&#xff0c;创建完桥接文件后&#xff0c;需要倒入Swift头文件&#xff0c;头文件的格式为“项目名-Swift.h”。 如下图&#xff0c;我在Xcode上看到我的项目名为YichangPark&#xff0c;导入 #import "YiChangPark-Swift.h" 之后提示 “Y…

喜报 | 再度中标南网项目!AR 开启电力远程运维新智慧

近日&#xff0c;中国南方电网官网发布《2023年南方电网数字平台科技 (广东)有限公司物资品控远程协助软件采购项目中标公告》&#xff0c;ALVA Systems 凭借 ALVA Rainbow 创新应用竞得此标。 随着相关技术的逐步成熟&#xff0c;基础问题远程化解决已经在工业领域广泛应用。 …

NLP(1)--NLP基础与自注意力机制

目录 一、词向量 1、概述 2、向量表示 二、词向量离散表示 1、one-hot 2、Bag of words 3、TF-IDF表示 4、Bi-gram和N-gram 三、词向量分布式表示 1、Skip-Gram表示 2、CBOW表示 四、RNN 五、Seq2Seq 六、自注意力机制 1、注意力机制和自注意力机制 2、单个输出…

同旺科技USB to I2C 适配器烧写 Arduino 模块

所需设备&#xff1a; 内附链接 1、同旺科技USB to I2C 适配器 2、Arduino 模块 硬件连接&#xff1a; 用同旺科技USB to I2C 适配器连接芯片的TX、RX、GND; 打开Arduino IDE编辑工具&#xff0c; 点击“上传”按钮&#xff0c;完成程序的编译和烧录&#xff1b;

基于微信小程序的自习室系统设计与实现,可作为毕业设计

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 需求分析3.1用户需求分析3.1.1 学生用户3.1.3 管理员用户 4 数据库设计4.4.1 E…

【数据结构】树的基础入门

文章目录 什么是树树的常见术语树的表示树的应用 什么是树 相信大家刚学数据结构的时候最先接触的就是顺序表,栈,队列等线性结构. 而树则是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合 非线性 体现在它是由n个有限结点(可以是零个结点)组成一个具有层次关…

HarmonyOS/OpenHarmony(Stage模型)应用开发组合手势(二)并行识别

并行识别组合手势对应的GestureMode为Parallel。并行识别组合手势中注册的手势将同时进行识别&#xff0c;直到所有手势识别结束。并行识别手势组合中的手势进行识别时互不影响。 以在一个Column组件上绑定点击手势和双击手势组成的并行识别手势为例&#xff0c;由于单击手势和…

Apinto 网关 V0.14 版本发布,6 大插件更新!

大家好&#xff01; 距离上次更新已经过去一段时间了&#xff0c;这段日子里我们一直在酝酿新的功能&#xff0c;本次的迭代将给大家带来 6 大插件的更新~一起来看看有哪些变化吧&#xff01; 新特性 1. 新增 额外参数v2 插件&#xff0c;支持对转发参数进行加密、拼接等操作…

【软件测试】单元测试、集成测试、系统测试有什么区别?

单元测试、集成测试、系统测试有什么区别 1、粒度不同 集成测试bai粒度居中&#xff0c;单元测试粒度最小&#xff0c;系统du测试粒度最大。 2、测试方式不同 集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试&#xff0c;单元测试一般由开发小组采用白盒方式来测试&a…

基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的玛丽冒险小游戏程序&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xf…

关于ChatGPT的个人的一些观点

问题 1 Q: 你认为ChatGPT是一款非常有用的工具吗&#xff1f; A: 我认为ChatGPT是一款非常有用的工具。它可以帮助人们解决各种问题&#xff0c;包括技术问题、心理问题、生活问题等等。同时&#xff0c;ChatGPT也可以成为人们分享想法和交流的平台&#xff0c;增强人与人之间…

chrome_elf.dll丢失怎么办?修复chrome_elf.dll文件的方法

Chrome是目前最受欢迎的网络浏览器之一&#xff0c;然而有时用户可能会遇到Chrome_elf.dll丢失的问题。该DLL文件是Chrome浏览器的一个重要组成部分&#xff0c;负责启动和管理程序的各种功能。当Chrome_elf.dll丢失时&#xff0c;用户可能无法正常启动Chrome或执行某些功能。本…