AWS 专题学习 P14 (Security Encryption)

文章目录

  • 专题总览
    • 为什么需要加密?
    • AWS KMS(密钥管理服务)
    • KMS 密钥类型
    • AWS KMS(密钥管理服务)
    • Copying Snapshots across regions
    • KMS Key Policies
    • 在不同账户之间复制快照
    • KMS Multi-Region Keys (多区域密钥)
    • DynamoDB 全局表和 KMS 多区域密钥客户端端加密
    • 全局 Aurora 和 KMS 多区域密钥客户端端加密
    • S3 Replication
      • Encryption Considerations
      • 通过 KMS 加密的 AMI 共享过程
    • SSM Parameter Store
      • SSM Parameter Store Hierarchy
    • Standard and advanced parameter tiers
    • Parameters Policies(用于高级参数)
    • AWS Secrets Manager
      • AWS Secrets Manager - 多区域密钥
    • AWS Certificate Manager(ACM)
      • ACM - 请求公共证书
      • ACM - 导入公共证书
      • ACM - 与 ALB 集成
      • API Gateway - 终端节点类型
      • ACM - 与 API Gateway 集成
    • AWS WAF – Web Application Firewall
      • WAF - Fixed IP while using WAF with a Load Balancer
    • AWS Shield:保护免受 DDoS 攻击
    • AWS Firewall Manager
    • WAF vs. Firewall Manager vs. Shield
    • AWS DDoS 防御最佳实践
      • 边缘位置缓解(BP1、BP3)
      • DDoS 缓解的最佳实践
      • 应用层防御
      • 攻击面减少
    • Amazon GuardDuty
    • Amazon Inspector
      • Amazon Inspector 评估了什么?
    • AWS Macie

专题总览

专题内容总览和系列博客目录
https://blog.csdn.net/weixin_40815218/article/details/135590291
辅助资料(PDF)
https://download.csdn.net/download/weixin_40815218/88741566

KMS, Encryption SDK, SSM Parameter Store

为什么需要加密?

  1. 传输中的加密(SSL)
    • 在发送之前对数据进行加密,在接收之后进行解密
    • SSL证书有助于加密(HTTPS)
    • 传输中的加密确保不会发生中间人攻击(MITM)

Screenshot 2023-09-01 at 01.48.47.png

  1. 服务器端的静态加密
    • 数据在接收后进行加密
    • 数据在发送之前进行解密
    • 它以加密形式存储,依靠一个密钥(通常是数据密钥)
    • 加密/解密密钥必须在某处进行管理,并且服务器必须能够访问它

Screenshot 2023-09-01 at 01.49.24.png

  1. 客户端的加密
    • 数据由客户端加密,服务器不会解密
    • 数据将由接收客户端解密
    • 服务器不应该能够解密数据
    • 可以利用信封加密(Envelope Encryption)

Screenshot 2023-09-01 at 01.49.44.png

AWS KMS(密钥管理服务)

  • 每当您听到AWS服务中的“加密”时,很可能是指KMS
  • AWS为我们管理加密密钥
  • 与IAM完全集成,用于授权
  • 简单控制对数据的访问
  • 可以使用CloudTrail审计KMS密钥的使用情况
  • 与大多数AWS服务(如EBS、S3、RDS、SSM等)无缝集成
  • 永远不要以明文形式存储您的机密信息,尤其是在代码中!
    • KMS密钥加密也可通过API调用(SDK、CLI)进行
    • 加密的机密信息可以存储在代码或环境变量中

KMS 密钥类型

  • KMS密钥是KMS客户主密钥的新名称
  • 对称密钥(AES-256密钥)
    • 用于加密和解密的单个加密密钥
    • 与KMS集成的AWS服务使用对称CMK
    • 您无法直接访问未加密的KMS密钥(必须调用KMS API)
  • 非对称密钥(RSA和ECC密钥对)
    • 公钥(加密)和私钥(解密)配对
    • 用于加密/解密或签名/验证操作
    • 公钥可供下载,但无法直接访问未加密的私钥
    • 用例:无法调用KMS API的用户在AWS之外进行加密

AWS KMS(密钥管理服务)

  • 有三种类型的KMS密钥:
    • AWS托管密钥:免费(aws/service-name,例如:aws/rds或aws/ebs)
    • 在KMS中创建的客户托管密钥(CMK):每月1美元
    • 导入的客户托管密钥(必须是256位对称密钥):每月1美元
  • 需要为KMS的API调用付费(每10000次调用0.03美元)
  • 自动密钥轮换:
    • AWS托管的KMS密钥:每年自动轮换一次
    • 客户托管的KMS密钥:(必须启用)每年自动轮换一次
    • 导入的KMS密钥:只能使用别名进行手动轮换

Copying Snapshots across regions

Screenshot 2023-09-01 at 01.50.03.png

KMS Key Policies

  • 控制对 KMS 密钥的访问,类似于 S3 桶策略
  • 不同之处在于,没有密钥策略就无法控制访问
  • 默认 KMS 密钥策略:
    • 如果不提供特定的 KMS 密钥策略,则会创建默认策略
    • 根用户(整个 AWS 账户)对密钥具有完全访问权限
  • 自定义 KMS 密钥策略:
    • 定义可以访问 KMS 密钥的用户和角色
    • 定义可以管理密钥的人员
    • 用于跨账户访问 KMS 密钥的场景

在不同账户之间复制快照

  1. 创建用您自己的 KMS 密钥(客户托管密钥)加密的快照
  2. 添加 KMS 密钥策略以授权跨账户访问
  3. 共享加密的快照
  4. (在目标账户中)创建快照的副本,使用您账户中的 CMK 进行加密
  5. 从快照创建卷

Screenshot 2023-09-01 at 01.50.36.png

KMS Multi-Region Keys (多区域密钥)

Screenshot 2023-09-01 at 01.51.00.png

  • 在不同 AWS 区域中可互换使用的相同 KMS 密钥
  • 多区域密钥具有相同的密钥ID、密钥材料、自动轮换…
  • 在一个区域中进行加密,在其他区域中进行解密
  • 无需重新加密或进行跨区域 API 调用
  • KMS 多区域密钥不是全局的(主要+副本)
  • 每个多区域密钥都是独立管理的
  • 用例:全局客户端端加密、全局 DynamoDB 加密、全局 Aurora 加密

DynamoDB 全局表和 KMS 多区域密钥客户端端加密

  • 我们可以使用 Amazon DynamoDB 加密客户端在 DynamoDB 表中对特定属性进行客户端端加密
  • 结合全局表,客户端端加密的数据会被复制到其他区域
  • 如果我们使用一个与 DynamoDB 全局表在同一区域复制的多区域密钥,则这些区域中的客户端可以使用低延迟的 API 调用来解密客户端端加密的数据
  • 使用客户端端加密,我们可以保护特定字段,并且只有在客户端具有 API 密钥访问权限时才能进行解密

Screenshot 2023-09-01 at 01.52.04.png

全局 Aurora 和 KMS 多区域密钥客户端端加密

  • 我们可以使用 AWS 加密 SDK 在 Aurora 表中对特定属性进行客户端端加密
  • 结合 Aurora 全局表,客户端端加密的数据会被复制到其他区域
  • 如果我们使用一个与全局 Aurora 数据库在同一区域复制的多区域密钥,则这些区域中的客户端可以使用低延迟的API调用来解密客户端端加密的数据
  • 使用客户端端加密,我们可以保护特定字段,并且即使是数据库管理员也无法解密这些字段

Screenshot 2023-09-01 at 01.52.24.png

S3 Replication

Encryption Considerations

  • 未加密的对象和使用 SSE-S3 加密的对象默认会被复制
  • 使用 SSE-C(用户提供的密钥)加密的对象永远不会被复制
  • 对于使用 SSE-KMS 加密的对象,需要启用以下选项:
    • 指定要在目标存储桶中加密对象的 KMS 密钥
    • 调整目标密钥的 KMS 密钥策略
    • 源 KMS 密钥需要具有 kms:Decrypt 权限,目标KMS密钥需要具有 kms:Encrypt 权限的 IAM 角色
    • 可能会遇到 KMS 限制错误,这时可以请求增加服务配额
  • 可以使用多区域 AWS KMS 密钥,但 Amazon S3 当前将其视为独立的密钥(对象仍然会被解密然后再加密)

通过 KMS 加密的 AMI 共享过程

  1. 源帐户中的 AMI 使用源帐户的 KMS 密钥进行加密
  2. 必须修改镜像属性,添加与指定目标 AWS 帐户对应的启动权限
  3. 必须与目标帐户/IAM角色共享用于加密 AMI 引用的快照的KMS密钥
  4. 目标帐户中的 IAM 角色/用户必须具有 DescribeKey、ReEncrypt、CreateGrant、Decrypt 权限
  5. 从 AMI 启动 EC2 实例时,目标帐户可以选择在自己的帐户中指定一个新的 KMS 密钥来重新加密卷

Screenshot 2023-09-01 at 01.56.24.png

SSM Parameter Store

  • 安全存储配置和密钥的地方
  • 可选使用 KMS 进行无缝加密
  • 无服务器、可伸缩、持久、易于使用的 SDK
  • 版本跟踪配置/密钥
  • 通过 IAM 实现安全性
  • 使用 Amazon EventBridge 进行通知
  • 与 CloudFormation 集成

Screenshot 2023-09-01 at 01.57.33.png

SSM Parameter Store Hierarchy

Screenshot 2023-09-01 at 01.57.56.png

Standard and advanced parameter tiers

StandardAdvanced
Total number of parameters allowed
(per AWS account and Region)
10,000100,000
Maximum size of a parameter value4kb8kb
Parameter policies availableNoYes
CostNo additional chargeCharges Apply
Storage PricingFree$0.05 per advanced parameter per month

Parameters Policies(用于高级参数)

  • 允许为参数分配TTL(过期日期),以强制更新或删除敏感数据,如密码
  • 可以同时分配多个策略

Screenshot 2023-09-01 at 02.03.57.png

AWS Secrets Manager

  • 较新的服务,用于存储机密信息
  • 具有每X天强制轮换机密的功能
  • 在轮换时自动生成机密(使用 Lambda)
  • 与 Amazon RDS(MySQL、PostgreSQL、Aurora)集成
  • 使用 KMS 加密机密信息
  • 主要用于 RDS 集成

AWS Secrets Manager - 多区域密钥

  • 在多个 AWS 区域复制机密信息
  • Secrets Manager 使读取副本与主要机密信息保持同步
  • 能够将读取副本机密信息提升为独立的机密信息
  • 适用于多区域应用程序、灾难恢复策略、多区域数据库等情况

Screenshot 2023-09-01 at 02.04.13.png

AWS Certificate Manager(ACM)

  • 简单地提供、管理和部署TLS证书
  • 为网站提供在传输过程中的加密(HTTPS)
  • 支持公共和私有TLS证书
  • 公共TLS证书免费
  • 自动TLS证书更新
  • 与以下服务集成(加载TLS证书):
    • 弹性负载均衡器(CLB、ALB、NLB)
    • CloudFront分发
    • API Gateway上的API
  • 无法与EC2一起使用ACM(无法提取)

Screenshot 2023-09-01 at 02.05.15.png

ACM - 请求公共证书

  1. 列出要包含在证书中的域名
    • 完全限定域名(FQDN):corp.example.com
    • 通配符域名:*.example.com
  2. 选择验证方法:DNS 验证或电子邮件验证
    • DNS 验证适用于自动化目的
    • 电子邮件验证将向 WHOIS 数据库中的联系地址发送电子邮件
    • DNS 验证将利用 CNAME 记录到 DNS 配置(例如:Route 53)
  3. 验证需要几个小时
  4. 公共证书将自动续订
    • ACM 会在证书到期前60天自动续订由ACM生成的证书

ACM - 导入公共证书

  • 可选择在 ACM 之外生成证书,然后导入
  • 没有自动续订,必须在到期前导入新证书
  • ACM 会在到期前45天开始每天发送到期事件
    • 可以配置天数
    • 事件会显示在 EventBridge 中
  • AWS Config 有一个名为 acm-certificate-expiration-check 的托管规则,用于检查到期的证书(可配置天数)

Screenshot 2023-09-10 at 18.37.03.png

ACM - 与 ALB 集成

Screenshot 2023-09-10 at 18.37.35.png

API Gateway - 终端节点类型

  • 边缘优化(默认):针对全球客户端
    • 请求通过 CloudFront 边缘位置路由(提高延迟)
    • API Gateway 仍位于一个区域
  • 区域:
    • 针对同一区域内的客户端
    • 可手动与 CloudFront 组合(对缓存策略和分发有更多控制)
  • 私有:
    • 只能通过使用接口 VPC 终端节点(ENI)从 VPC 访问
    • 使用资源策略定义访问权限

Screenshot 2023-09-10 at 18.37.59.png

ACM - 与 API Gateway 集成

  • 在 API Gateway 中创建自定义域名
  • 边缘优化(默认):针对全球客户端
    • 请求通过 CloudFront 边缘位置路由(提高延迟)
    • API Gateway 仍位于一个区域
    • TLS 证书必须与 CloudFront 位于同一区域(us-east-1)
    • 然后在 Route 53 中设置 CNAME 或(更好的)A-Alias 记录
  • 区域:
    • 针对同一区域内的客户端
    • TLS 证书必须导入到 API Gateway 中,与 API Stage 位于相同的区域
    • 然后在 Route 53 中设置 CNAME 或(更好的)A-Alias 记录

AWS WAF – Web Application Firewall

  • 保护您的 Web 应用程序免受常见的 Web攻击(第7层)
  • 第7层是 HTTP(与第4层的TCP/UDP不同)
  • 部署在
    • 应用负载均衡器
    • API Gateway
    • CloudFront
    • AppSync GraphQL API
    • Cognito用户池
  • 定义 Web ACL(Web访问控制列表)规则:
    • IP集:最多10,000个IP地址 - 使用多个规则来处理更多的IP地址
    • HTTP标头,HTTP正文或URI字符串,保护免受常见攻击 - SQL注入和跨站脚本攻击(XSS)
    • 大小约束,地理匹配(阻止国家)
    • 基于速率的规则(用于计算事件的发生次数) - 用于防御DDoS攻击
  • Web ACL 是区域性的,除了 CloudFront 之外
  • 规则组是一组可重用的规则,可以添加到 Web ACL 中

WAF - Fixed IP while using WAF with a Load Balancer

  • WAF 不支持网络负载均衡器(第4层)
  • 可以在 ALB上 使用全球加速器获得固定 IP 和 WAF

Screenshot 2023-09-10 at 18.40.57.png

AWS Shield:保护免受 DDoS 攻击

  • DDoS:分布式拒绝服务 - 同时发出多个请求
  • AWS Shield Standard:
    • 免费服务,对每个 AWS 客户都激活
    • 提供对 SYN/UDP Floods,反射攻击和其他攻击的保护
  • AWS Shield Advanced:
    • 可选的 DDoS 缓解服务(每个组织每月3,000美元)
    • 保护 Amazon EC2,弹性负载均衡(ELB),Amazon CloudFront,AWS Global Accelerator 和 Route 53 免受更复杂的攻击
    • 全天候访问 AWS DDoS 响应团队(DRP)
    • 防止由于 DDoS 而产生的使用峰值时的更高费用
    • Shield Advanced 自动应用层 DDoS 缓解会自动创建、评估和部署 AWS WAF 规则以缓解第7层攻击

AWS Firewall Manager

  • 管理AWS组织中所有帐户的规则
  • 安全策略:常见的安全规则集
    • WAF 规则(应用负载均衡器,API Gateway,CloudFront)
    • AWS Shield Advanced(ALB,CLB,NLB,弹性IP,CloudFront)
    • EC2,应用负载均衡器和 VPC 中 ENI 资源的安全组
    • AWS 网络防火墙(VPC级别)
    • Amazon Route 53 Resolver DNS 防火墙
    • 策略在区域级别创建
  • 规则将应用于新资源的创建过程中,适用于组织中的所有和未来的帐户(适用于合规性)

WAF vs. Firewall Manager vs. Shield

  • WAF,Shield 和 Firewall Manager 一起使用以实现全面的保护
  • 在 WAF 中定义您的 Web ACL 规则
  • 对于资源的精细保护,仅使用 WAF 是正确的选择
  • 如果要跨帐户使用 AWS WAF,加速WAF配置,并自动保护新资源,请使用带有 AWS WAF 的 Firewall Manager
  • Shield Advanced 在 AWS WAF 之上增加了其他功能,例如来自 Shield响应团队(SRT)的专门支持和高级报告。
  • 如果经常遭受 DDoS 攻击,请考虑购买 Shield Advanced AWS DDoS 防御最佳实践 – 边缘位置防护 (BP1, BP3)

AWS DDoS 防御最佳实践

边缘位置缓解(BP1、BP3)

  • BP1 – CloudFront
    • 边缘处的 Web 应用程序传递
    • 保护免受 DDoS 常见攻击(SYN洪水、UDP反射等)
  • BP1 – 全球加速器
    • 从边缘访问您的应用程序
    • 与 Shield 集成提供 DDoS 保护
    • 如果后端与 CloudFront 不兼容,则非常有用
  • BP3 – Route 53
    • 边缘处的域名解析
    • DDoS 保护机制

Screenshot 2023-09-12 at 22.29.20.png

DDoS 缓解的最佳实践

  • 基础设施层的防御 (BP1, BP3, BP6)
    • 保护Amazon EC2免受高流量攻击
    • 包括使用全球加速器、Route 53、CloudFront、弹性负载均衡
  • 使用自动缩放的 Amazon EC2 (BP7)
    • 在突发流量增加或遭受DDoS攻击时帮助进行扩展
  • 弹性负载均衡 (BP6)
    • 弹性负载均衡能够随着流量增加而扩展,并将流量分发到多个EC2实例

应用层防御

  • 检测和过滤恶意的Web请求 (BP1, BP2)
    • CloudFront 缓存静态内容并从边缘位置提供,保护后端
    • AWS WAF 在 CloudFront 和应用负载均衡器之上用于根据请求标志过滤和阻止请求
    • WAF 基于速率的规则可以自动阻止恶意IP
    • 使用 WAF 上的托管规则根据IP声誉阻止攻击,或阻止匿名 IP
    • CloudFront 可以阻止特定地理区域的请求
  • Shield Advanced (BP1, BP2, BP6)
    • Shield Advanced自动应用层DDoS缓解会自动创建、评估和部署 AWS WAF 规则以缓解第7层攻击

攻击面减少

  • 模糊化AWS资源 (BP1, BP4, BP6)
    • 使用 CloudFront、API Gateway、弹性负载均衡来隐藏后端资源(Lambda函数、EC2实例)
  • 安全组和网络 ACL (BP5)
    • 使用安全组和网络 ACL 根据特定IP在子网或ENI级别进行流量过滤
    • 弹性IP 受 AWS Shield Advanced 保护
  • 保护API端点 (BP4)
    • 隐藏 EC2、Lambda 等
    • 边缘优化模式,或者 CloudFront + 区域模式(更多DDoS控制)
    • 使用 WAF + API Gateway:限制请求速率、过滤请求头、使用API密钥

Amazon GuardDuty

  • 智能威胁发现,保护您的 AWS 账户
  • 使用机器学习算法、异常检测和第三方数据
  • 一键启用(30天试用),无需安装软件
  • 输入数据包括:
    • CloudTrail 事件日志 - 异常的API调用,未经授权的部署
      • CloudTrail 管理事件 - 创建VPC子网,创建跟踪等
      • CloudTrail S3 数据事件 - 获取对象,列出对象,删除对象等
    • VPC 流量日志 - 异常的内部流量,异常的 IP 地址
    • DNS 日志 - 被入侵的 EC2 实例在 DNS 查询中发送编码数据
    • Kubernetes 审计日志 - 可疑活动和潜在的 EKS 集群受损情况
  • 可以设置 EventBridge 规则以在发现情况下接收通知
  • EventBridge 规则可以指向 AWS Lambda 或 SNS
  • 可以防范加密货币攻击(有专门的“发现”功能)

Screenshot 2023-09-12 at 22.44.14.png

Amazon Inspector

  • 自动化安全评估
  • 适用于 EC2 实例
    • 利用 AWS 系统管理器(SSM)代理
    • 分析意外的网络可访问性
    • 分析正在运行的操作系统是否存在已知漏洞
  • 适用于推送到 Amazon ECR 的容器镜像
    • 在推送容器镜像时进行评估
  • 适用于 Lambda 函数
    • 识别函数代码和包依赖中的软件漏洞
    • 在部署函数时进行评估
  • 报告和与 AWS Security Hub 集成
  • 将发现结果发送到 Amazon Event Bridge

Screenshot 2023-09-12 at 22.44.55.png

Amazon Inspector 评估了什么?

  • 请记住:仅适用于 EC2 实例、容器镜像和 Lambda 函数
  • 对基础设施进行持续扫描,只在需要时进行
  • 包漏洞(EC2、ECR和Lambda)- CVE 漏洞数据库
  • 网络可达性(EC2)
  • 为所有漏洞分配风险评分以进行优先处理

AWS Macie

  • Amazon Macie 是一项完全托管的数据安全和数据隐私服务,利用机器学习和模式匹配来发现和保护您在AWS 中的敏感数据。
  • Macie 有助于识别和提醒您有关敏感数据的信息,如个人身份信息(PII)。

Screenshot 2023-09-12 at 22.45.37.png

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

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

相关文章

ElasticSearch 学习笔记

基本概念 术语 文档(document):每条记录就是一个文档,会以 JSON 格式进行存储 映射(mapping):索引中文档字段的约束信息,类似 RDBMS 中的表结构约束(schema&#xff09…

在linux上进行编译调试

1.相关疑问 1. 为什么在代码里使用了一个未定义过的函数(如add()),在编译阶段不会报错,在链接阶段会报错呢? 答:先说几个代码编译的结论: 单个\.c源文件文件被编译成机器码文件时&#xff0c…

LVS 工作模式

1、LVS DR模式 DR 模式是通过改写请求报文的目标 MAC 地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。DR 模式可以极大的提高集群系统的伸缩性。但是要求调度器 LB 与真实服务器 RS 都有一块网卡连接到同一物理网段上…

Codeforces Round 785 C. Palindrome Basis

C. Palindrome Basis 题意 定义一个正整数 a a a 是回文的(没有前导 0 0 0)当且仅当: a a a 的十进制表示形式回文 给定一个正整数 n n n ,求出将 n n n 拆分成若干个回文数之和的方案数 思路 这是一个经典模型&#xff0…

媒体邀约:怎么吸引总体目标受众?

新闻媒体影响力日益扩大。不论是公司、机构还是其他,都希望能够通过新闻媒体的曝光来吸引更多总体目标受众。要想真正吸引住总体目标受众并非易事,需要一定的方案和方法。下面我们就深入探究媒体邀约推广的真相,共享怎么吸引总体目标受众的方…

秋招面试—计算机网络安全

2021 计算机网络安全 1.Get 和 Post 的区别 get 用于获取数据,post用于提交数据; get 的缓存保存在浏览器和web服务器日志中; get 使用明文传输,post请求保存在请求体中; get 长度限制在2048以内 2.常见的HTTP请…

Android P 屏保和休眠相关知识

Android P添加屏保功能,如果休眠时间设定大于屏保时间,则先进入屏保,达到休眠时间后再进入休眠 需求: 添加屏幕互保开关,默认关闭。只保留时钟,可设定指针和数字、夜间模式。启用时间改多长时间无操作进入…

小程序和vue/react的区别/优势

小程序优势: 1.即开即走,不需要下载app,可以通过微信直接打开更加方便快捷 2.天然流量优势,依赖于微信这个大量流量平台 3.相比于app的开发 小程序的开发是前端人员更快上手 4.代码包要求为2M以内 性能更加突出 5.微信宿主提…

IBeginDragHandler,IEndDragHandler,IDragHandler拖拽接口

IBeginDragHandler, IEndDragHandler, 和 IDragHandler 是Unity的接口,用于处理拖拽相关的功能。需要引用 UnityEngine.EventSystems。 IBeginDragHandler 这个接口定义了一个方法,该方法在玩家开始拖拽一个对象时被调用。它通常用于初始化拖拽相关的变量…

Excel-Apache POI

Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程 序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文 件。 Apache POI常用的类 HSSF - 提供读写Microsoft Excel XLS格式档案…

###C语言程序设计-----C语言学习(6)#

前言:感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。 一. 主干知识的学习 1. while语句 除了for语句以外,while语句也用于实现循环,而且它…

C++发起Https请求

Wininet库忽略Https证书 相信很多朋友使用C WINAPI开发的时候网络模块的时候遇到Https忽悠证书无效的情况下, 仍然希望获取结果下列代码便是忽略异常的Https CA证书,下面对原理进行简单的讲解首先, 需要设置Https忽略需要用到如下结果函数与参数Interne…

初识elasticsearch

一、了解ES 1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 在打车软件搜索附近的车 …

(七)for循环控制

文章目录 用法while的用法for的用法两者之间的联系可以相互等价用for改写while示例for和while的死循环怎么写for循环见怪不怪表达式1省略第一.三个表达式省略(for 改 while)全省略即死循环(上面已介绍) 用法 类比学习while语句 …

MySQL原理(一)架构组成(1)物理文件组成

目录 一、日志文件 1、错误日志 Error Log 1.1、作用: 1.2、开启关闭: 1.3、使用 2、二进制日志 Binary Log & Binary Log Index 2.1、作用: 2.2、开启关闭: 2.3、Binlog还有一些附加选项参数 (1&#x…

江科大stm32学习笔记6——GPIO输入准备

一、按键消抖 由于按键内部使用的是机械式弹簧片,所以在按下和松开时会产生5~10ms的抖动,需要通过代码来进行消抖。 二、滤波电容 在电路中,如果见到一端接在电路中,一端接地的电容,则可以考虑它的作用为滤波电容&am…

linux -- 内存管理 -- 页面分配器

linux内存管理 为什么要了解linux内存管理 分配并使用内存,是内核程序与驱动程序中非常重要的一环。内存分配函数都依赖于内核中一个非常复杂而重要的组件 - 内存管理。 linux驱动程序不可避免要与内核中的内存管理模块打交道。 linux内存管理可以总体上分为两大…

MYSQL基本查询(CURD:创建、读取、更新、删除)

文章目录 前言一、Create1.全列插入2.指定列插入3.插入否则更新4.替换 二、Retrieve1.SELECT列2.WHERE条件3.结果排序4.筛选分页结果 三、Update四、Delete1.删除数据2.截断表 五、插入查询结果六、聚合函数 前言 操作关系型数据库的编程语言,定义了一套操作关系型…

Unity中URP下额外灯角度衰减

文章目录 前言一、额外灯中聚光灯的角度衰减二、AngleAttenuation函数的传入参数1、参数:spotDirection.xyz2、_AdditionalLightsSpotDir3、参数:lightDirection4、参数:distanceAndSpotAttenuation.zw5、_AdditionalLightsAttenuation 三、A…

Spring Security关键之5张数据表与7张表 !!!

一、什么是认证和授权: 认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁。授权:用户认证成功后,需要为用户授权,其实就…