ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

这篇具有很好参考价值的文章主要介绍了ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

部署和配置密钥库

Azure Key Vault密钥库

密钥保管库和 VM 必须位于同一 Azure 区域和订阅中。

Azure Key Vault是一个用于安全地存储和访问机密的工具。机密是你希望严格控制对其的访问的任何东西,例如API密钥、密码或证书。保管库是机密的逻辑组。

  • 租户:租户是拥有和管理特定的Microsoft云服务实例的组织。它通常用来引用组织的Azure和offce 365服务集。(在账户下创建的组织,管理逻辑分割,财务统一管理)
  • 保管库所有者:保管库所有者可以创建密钥保管库并获得它的完全访问权限和控制权。保管库所有者还可以设置审核来记录谁访问了机密和密钥。管理员可以控制密钥生命周期。他们可以滚动到密钥的新版本、对其进行备份,以及执行相关的任务。
  • 保管库使用者:当保管库所有者为保管库使用者授予了访问权限时,使用者可以对密钥保管库内的资产执行操作。可用操作取决于所授予的权限。
  • 服务主体: Aaure服务主体是用户创建的应用、服务和自动化工具用来访问特定Avure资源的安全标识。可将其视为具有特定角色,并且权限受到严格控制的用户标识”(用户名和密码,或者证书)。与普通的用户标识不同,服务主体只需执行特定的操作。如果只向它授予执行管理任务所需的最低权限级别,则可以提高安全性。
  • Azure Active Directory (Aaure AD):Aure AD是租户的Active Dlrectory服务。每个目录有一个或多个域。每个目录可以有多个订阅与之关联,但只有一个租户。
  • Azure租户ID:租户ID是用于在Azure订阅中标识Azure AD 实例的唯一方法。
  • 托管标识:虽然Awure key Vaut可用于安全存储凭据以及其他密钥和机密,但代码需要通过Key Vaut的身份验证才能检索它们。使用托管标识可为Aaure服务提供Aure AD中的自动托管标识,更巧妙地解决了这个问题,可以使用此标识向支持Aure AD身份验证的密钥保管库或任何服务证明身份,而无需在代码中放入任何凭据。有关详细信息,请参阅下图以及Azure资源的托管标识概述。

Azure Key Vault密钥库作用

  • 加密密钥:支持多种密钥类型和算法,可以对高价值的密钥使用硬件安全模块(HSM)。不支持oct-HSM 对称密钥加密方式,支持RSA-HSM:RSA 密钥和EC-HSM:椭圆曲线键加密
  • 机密:提供机密(例如密码和数据库连接字符串)的安全存储。
  • 证书:支持基于密钥和机密并且添加了自动续订功能的证书。
  • 硬件安全模块:这些机密和密钥可以通过软件或FIPS 140-2级别2验证的HSM进行保护

Key Vault 对象

Key Vault中的对象通过URL唯一标识。不管地理位置如何,系统中都不存在两个具有相同URL的对象。对象的完整URL称为对象标识符。URL由标识Key Vault的前缀、对象类型、用户提供的对象名称和对象版本组成。对象名称不区分大小写且不可变。不包括对象版本的标识符称为基本标识符。
对象标识符具有以下常规格式:
https://{keyvault-name}.vault.azure.net/{object-type}/{object-name]/{object-version}

Azure密钥保管库高可用性

  • Azure密钥保管库具有多层冗余功能,确保密钥和机密持续可供应用程序使用,即使服务的单个组件发生,故障也是如此。
  • 密钥保管库的内容会在区域中复制,并且会复制到至少150英里以外(但位于同一个地理位置)的次要区域。这可以保持密钥和机密的高持久性。
  • 如果密钥保管库服务中的单独组件发生故障,则区域内的替代组件将继续处理请求,确保不会导致功能损失。不需要采取任何措施即可触发此功能,这种机制会以透明的方式自动发生。
  • 在整个Azure区域不可用的情况下(这很少见),对该区域中的 Azure密钥保管库发出的请求
  • 会自动路由(故障转移")到次要区域。当主要区域再次可用时,请求将路由回(故障回复”)到主要区域。同样,不需要采取任何措施,因为这会自动发生。
  • 通过这种高可用性设计,Azure密钥保管库不需要停机进行维护活动。

Azure Key Vault软删除(多重保护)

Key Vault 的软删除功能可以恢复已删除的保管库,并删除已删除的密钥保管库对象(例如密钥、机密和证书),这称为软删除。具体而言,我们要处理以下方案:此保护提供以下保护:

  • 删除密钥、密钥、证书或密钥保管库后,它将在可配置的7到90日历天内保持可恢复。如果未指定配置,则默认恢复时间将设置为90天。这为用户提供了充足的时间来通知意外的机密删除和响应。
  • 若要永久删除机密,必须执行两个操作。首先,用户必须删除该对象,然后将其置于软删除状态。其次,用户必须清除软删除状态的对象。清除操作需要其他访问策略权限。这些附加保护降低了用户意外或恶意删除密钥或密钥保管库的风险。
  • 若要清除软删除状态的机密,必须为服务主体授予额外的"清除"访问策略权限。默认情况下,清除访问策略权限不会授予任何服务主体,包括密钥保管库和订阅所有者,并且必须特意设置。如果要求提升的访问策略权限来清除软删除的机密,则会降低意外删除机密的概率。
    ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
    ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
    ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

在代码里不用明文输入密码,输入下面密码地址,就可以正常访问

ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

使用PowerShell将密码存储在密钥库中

$value = convertTo-Securestring  'S3449PT !@90Q'
		-AsplainText -Force
Set-AzureKeyvaultSecret-vaultName 'measureup'-Name 'ApplicationPassword'
		-secretvalue $value
  • ConvertTo-SecureString cmdlet 将纯文本值转换为安全(加密)字符串。
  • -AsPlainText参数指示要将其转换为纯文本的字符串
  • Set-AzureKeyVaultSecret cmdlet使用指定为-name参数的名称将密码存储在密钥库中。
  • -SecretValue参数指定秘密。在这种情况下,秘密是加密的密码。

部署和配置Azure AD托管标识(Managed Service ldentity)

Azure资源的托管标识是Azure Active Directory的一项功能。支持Azure资源的托管标识的每个Azure服务都受其自己的时间线限制。

生成云应用程序时需要应对的常见挑战是,如何管理代码中用于云服务身份验证的凭据。保护这些凭据是一项重要任务。理想情况下,这些凭据永远不会出现在开发者工作站上,也不会被签入源代码管理系统中。虽然Azure Key Vault可用于安全存储凭据、机密以及其他密钥,但代码需要通过Key Vault的身份验证才能检索它们。

Azure Active Directory (Azure AD)中的Azure资源托管标识功能可以解决此问题。此功能为Azure服务提供了Azure AD 中的自动托管标识。可以使用此标识向支持Azure AD身份验证的任何服务(包括Key Vault)证明身份,无需在代码中放入任何凭据。

如果有Azure订阅,Azure AD中的Azure资源托管标识功能是免费的。不需额外付费。

托管标识类型

https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview

托管标识分为两种类型:

  • 系统分配:某些Azure服务允许您直接在服务实例上启用托管标识。启用系统分配的托管标识时,将在Azure AD中创建标识。该标识与该服务实例的生命周期相关联。删除资源时,Azure会自动删除您的身份。根据设计,只有Azure资源可以使用此身份向Azure AD请求令牌。不能被分配,它只能与单个Azure资源关联
  • 用户分配:可以创建托管标识作为独立的 Azure 资源。可以创建用户分配的托管标识,并将其分配给 Azure 服务的一个或多个实例。对于用户分配的托管标识,标识与使用它的资源分开管理。

在内部,托管标识是特殊类型的服务主体,它们已锁定,只能与Azure资源配合使用。删除托管标识时,相应的服务主体也会自动删除。此外,在创建用户分配的标识或系统分配的标识时,托管标识资源提供程序(MSRP)会在内部向该标识颁发证书。
代码可以使用托管标识来请求支持Azure AD身份验证的服务的访问令牌。Azure负责滚动更新服务实例使用的凭据。

用户分配托管标识
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

系统分配托管标识:ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

  • 可以按照以下步骤使用托管标识:
    1:在 Azure 中创建托管标识。可以在系统分配的托管标识或用户分配的托管标识之间进行选择。
    2:使用用户分配的托管标识时,请将托管标识分配给“源”Azure 资源,例如 Azure 逻辑应用或 Azure Web 应用。
    3:授权托管标识有权访问“目标”服务。
    4:使用托管标识访问资源。在此步骤中,可以将 Azure SDK 与 Azure.Identity 库配合使用。某些“源”资源提供知道如何对连接使用托管标识的连接器。在这种情况下,您可以使用标识作为该“源”资源的功能。

使用 Azure Active Directory 对托管标识进行身份验证以访问 Azure 服务总线资源

当安全主体(用户、组或应用程序)尝试访问服务总线实体时,必须对请求进行授权。使用 Azure AD,访问资源的过程分为两个步骤。

  • 首先,对安全主体的标识进行身份验证,并返回 OAuth 2.0 令牌。用于请求令牌的资源名称为 。https://servicebus.azure.net
  • 接下来,令牌将作为请求的一部分传递给服务总线服务,以授权对指定资源的访问。

安全主体(用户、组或应用程序)打开标识

打开托管标识要使用具有托管标识的服务总线,需要将标识、角色和适当的范围。

  • 进入设置并选择标识。
  • 选择要打开的状态。
  • 选择“保存”保存设置。


ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
启用此设置后,将在 Azure Active Directory (Azure AD) 中创建新的服务标识,并将其配置到应用服务主机中

被访问的服务(存储,队列等)

配置访问控制(IAM),进行角色分配
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

官网
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-managed-service-identity

托管标识术语

  • 客户端ID - Azure AD生成的唯一标识符,在其初始预配期间与应用程序和服务主体绑定。
  • 主体ID-托管标识的服务主体对象的对象ID,用于授予对Azure资源的基于角色的访问权限。
  • Azure实例元数据服务(IMDS)-一个REST终结点,可供通过Aure资源管理器创建的所有laaS VM使用。该终结点位于已知不可路由的IP地址(169.254.169.254),该地址只能从VM中访问。

在Azure AD中注册和管理应用程序

Azure AD应用程序管理

Azure AD应用程序管理 比喻:提供一个界面,将所有应用程序快捷方式放到这个界面

Azure AD是一个标识和访问管理(IAM)系统。它提供了一个用于存储数字标识相关信息的单一位置。你可以将软件应用程序配置为使用Azure AD来作为存储用户信息的位置。
Azure AD必须配置为与应用程序相集成。换句话说,它需要知道哪些应用程序正在将它用作标识系统。使Azure AD意识到这些应用程序的存在以及应如何处理它们的过程称为"应用程序管理"。

Azure AD应用程序管理存在的目的是为了单一登录(SSO)

单一登录意味着用户无需登录使用的每个应用程序。用户登录一次,该凭据也可用于其他应用。
如果你是最终用户,可能并不关心SSO的详细信息。你只想使用能提高工作效率而无需频繁输入密码的应用。可在以下位置找到应用:https://myapps.microsoft.com 。

ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

创建第一个密钥保管库证书

ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

创建第一个密钥保管库证书

步骤 1 - 证书颁发机构 (CA) 提供程序

  • 作为 IT 管理员、PKI 管理员或任何管理 CA 帐户的人员,为给定公司(例如 Contoso)载入是使用密钥保管库证书的先决条件。
  • 以下 CA 是当前与密钥保管库合作的提供商。在此处了解更多信息
    1:DigiCert - Key Vault 提供带有 DigiCert 的 OV TLS/SSL 证书。
    2:GlobalSign - Key Vault 提供带有 GlobalSign 的 OV TLS/SSL 证书。

步骤 2 - CA 提供商的帐户管理员创建供密钥保管库使用的凭据,以便通过密钥保管库注册、续订和使用 TLS/SSL 证书。

步骤 3 - Contoso 管理员以及拥有证书的 Contoso 员工(密钥保管库用户)可以从管理员或直接从 CA 的帐户获取证书。具体取决于 CA。

使用与密钥保管库合作的 CA 创建证书

ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)

步骤 4 - 以下说明对应于上图中绿色编号的步骤。
(1) -在上图中,应用程序正在创建一个证书,该证书从内部开始,在密钥库中创建密钥。
(2) -密钥保管库向CA发送TLS/SSL证书请求。
(3) -您的应用程序在循环等待过程中轮询密钥库以完成证书。密钥库收到CA对x509证书的响应时,证书创建完成。
(4) -CA使用X509 TLS/SSL证书响应密钥库的TLS/SSL证书请求。
(5) -新证书的创建随着CA的X509证书的合并而完成。

使用未与密钥保管库合作的 CA 创建证书

ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)
以下步骤说明与上图中的绿色字母步骤相对应。
(1) -在上图中,您的应用程序正在创建证书,该证书从内部开始,在密钥库中创建密钥。
(2) -密钥库会向应用程序返回证书签名请求certificate signing request(CSR)
(3) -您的应用程序将CSR传递给您选择的CA。
(4) -您选择的CA以X509证书响应。
(5) -您的应用程序通过合并CA的X509证书来完成新证书的创建。文章来源地址https://www.toymoban.com/news/detail-440672.html

到了这里,关于ZA303学习笔记六管理应用程序的安全(密钥保管库,托管标识,管理应用程序,CA证书)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【智能软件安全】上海道宁为您带来智能软件安全平台——​Veracode,帮助您全面地保护您构建和管理地应用程序

      Veracode可以全面地 保护您构建和管理地应用程序 在现代软件 开发生命周期的 每个阶段不断发现并修复缺陷 Veracode通过 建立一种在安全和开发团队之间 架起桥梁并授权 开发人员成为 安全倡导者的积极文化 从一开始就防止常见的安全漏洞     Veracode成立于2006年,起初是一

    2024年02月06日
    浏览(41)
  • Linux内存从0到1学习笔记(6.12 应用程序是如何申请内存的呢?)

        前面提到了应用程序大多基于glibc的malloc/free进行内存的分配。这里不讨论共享内存,因为共享内存都是预先分配好的,所以由共享内存mmap和shm所设计的内存泄漏比较少见。     接下来我们从应用调用的维度来看下,应用程序都有哪些调用入口,以及它们是如何申请和释

    2024年02月03日
    浏览(55)
  • 学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

    GT│飞桨开发者技术专家 研发资源持续投入是企业为了获取核心技术.提升竞争力而进行的必要投资,同时也是企业实现长期发展、保持核心竞争力的关键因素。 在大型企业当中,人力成本占研发投入通常超50%,互联网头部企业研发薪资通常在20k以上,可以看到技术性人才非

    2024年02月15日
    浏览(43)
  • 学习笔记|ADC|NTC原理|测温程序|STC32G单片机视频开发教程(冲哥)|第十九集:ADC应用之NTC

    NTC(Negative Temperature Coefficient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。该材料是利用锰、铜、硅、钴、铁、镍、锌等两种或两种以上的金属氧化物进行充分混合、成型、烧结等工艺而成的半导体陶瓷,可制成具有负温度系数(NTC)的热

    2024年02月07日
    浏览(48)
  • 保护您的Android应用程序:Android应用程序安全一览

    我们都知道Android是为所有人设计的——开放、面向开发者、面向用户,这种开放性为今天和明天的移动技术提供了很多便利。然而,开放性也带来了需要妥善处理的安全风险。 安全是我们所有人都关注的重要问题。无论是我们的个人数据、电子邮件、电话号码、凭证、服务

    2024年02月03日
    浏览(61)
  • C++中的网络编程和安全性:实现安全的Web应用程序和网络应用程序

    作者:禅与计算机程序设计艺术 《67. C++中的网络编程和安全性:实现安全的Web应用程序和网络应用程序》 1.1. 背景介绍 随着互联网的快速发展,网络应用程序在人们的生活和工作中扮演着越来越重要的角色,网络编程和安全性也成为了现代应用程序的重要组成部分。在网络

    2024年02月16日
    浏览(44)
  • Web应用程序安全

    Web应用程序是现代互联网应用的重要组成部分,但是由于其广泛性和复杂性,常常存在各种安全漏洞和风险,如跨站脚本攻击、SQL注入攻击、信息泄露等。为了保障Web应用程序的安全性,需要进行安全性评估,以发现和修复可能存在的安全漏洞和风险。本文将介绍Web应用程序

    2024年02月21日
    浏览(45)
  • Java在物联网领域的应用非常广泛,涵盖了设备连接、数据处理、应用程序开发、安全性、嵌入式系统开发、消息队列和流处理、机器学习和人工智能以及跨平台和多语言集成等方面

    Java作为一种通用编程语言,在物联网(IoT)领域的应用也非常广泛。以下是一些Java在物联网中的典型应用: 开发物联网应用程序 :Java是一种高级编程语言,具有丰富的库和工具,使得开发物联网应用程序变得容易。Java可以用于开发各种物联网应用程序,如智能家居、智能

    2024年02月03日
    浏览(62)
  • 应用程序管理工具

    应用程序管理是 DevOps 的重要组成部分。它可以定义为在所有阶段监控和管理软件应用程序的可用性、运行状况、性能和功能的过程,包括规划、设计、构建、测试、部署、维护和更新。这意味着应用程序从概念到停止都受到监控。 管理应用程序可确保业务系统的高效运行、

    2024年02月10日
    浏览(40)
  • 云中企业应用程序安全的最佳实践

    文章首发微信公众号:网络研究院,关注获取更多。 对于许多企业来说,将应用程序迁移到公共云是一个有吸引力的提议,可以带来很多好处。 它可以加快上市时间,企业可以在几秒钟内启动新实例或停用它们,从而使开发人员能够通过快速部署来加速开发。这支持更大的

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包