云服务器内容精选

  • 应用原理 通过 统一身份认证 服务(Identity and Access Management, IAM )对弹性云服务器(Elastic Cloud Server,E CS )的委托获取临时访问密钥来保护AK&SK。 访问凭证按照时效性可分为永久凭证和临时凭证,相较于永久性访问凭证,例如用户名和密码,临时访问密钥因为有效期短且刷新频率高,所以安全性更高。因此,您可以为ECS实例授予IAM委托,使ECS实例内的应用程序可以使用临时AK&SK+SecurityToken访问C SMS ,不需要保存临时访问密钥,每次需要时动态获取,也可以缓存在内存里定时更新。
  • 使用场景 以最基础的数据库用户名及密码管理为示例,为您介绍凭据管理服务基本的使用场景。 使用场景:管理员角色负责存入、更新凭据值的操作,使用者通过第三方应用服务获取所需的凭据值,具体使用流程如图 凭据登录流程所示。 图1 凭据登录流程 流程说明如下: 您首先需要在凭据管理服务中使用控制台或者API创建一个凭据,用来存储数据库的相关信息(例如:数据库地址、端口、密码)。 当您使用应用程序访问数据库时,凭据管理服务会去查询管理员通过步骤1所创建的凭据内存储的内容。 凭据管理服务检索并解密凭据密文,将凭据中保存的信息通过凭据管理API安全地返回到应用程序中。 应用程序获取到解密后的凭据明文信息,使用这些安全的信息访问数据库。 父主题: 凭据管理
  • 已申请权限,但是仍然没有权限操作 检查IAM和ACMS是否属于应用平台的同一个站点,需要在哪个站点操作ACMS,就通过该站点的应用平台进入IAM申请权限。 如果站点一致,则检查ACMS上的服务和IAM里有权限的服务是否一致。当前服务下,必须有服务运维岗位权限或运维管理员权限。 如果上述检查正确,但仍然没有权限,那么重新登录,再回到ACMS,查看是否有权限。 如果重新登录后依然没有权限,在ACMS中,按F12,打开工作台,刷新页面,找到findUserPolicies,在响应中搜索是否存在SecurityTokenService_SDM。 如果不存在,就是没有申请权限,如果缺少SecurityTokenService_SDM,就需要申请服务的服务运维岗位权限或运维管理员权限 如果存在,但页面上依然报错,请联系支撑人员定位,将站点名称、定位过程、findUserPolicies中的响应内容,提供给支撑人员。 父主题: 运行时引擎访问凭据管理服务
  • 运行时引擎访问凭据管理服务功能介绍 访问凭据管理服务(Access Credential Management Service,简称ACMS,也称为Security Token Service,简称STS)为云服务业务提供了以下两个功能: 微服务之间请求认证 ACMS为每个接入的微服务,颁发了用于通信中进行认证的STS认证凭据,两个微服务之间通信时,可以使用该认证凭据,进行STS认证。 为了让微服务可以安全地获取到STS认证凭据,STS给每个接入的微服务颁发了一张身份证书,该证书中包含了微服务的名称等信息。该证书在微服务部署时,安装到微服务所在的虚拟机或容器里。微服务使用该证书,就可以到STS-Server上获取认证凭据。 两个微服务之间通信时,被调用方(Provider)需要在ACMS管理台上给调用方(Consumer)配置访问权限(Access Control List,简称ACL),开通后,Consumer就可以使用STS下发的认证凭据,用于消息的签名和加密。 敏感配置的托管和分发功能 ACMS为每个接入的微服务都分配了一个用于加密敏感数据的密钥(KEK),对服务也分配了加密敏感数据的密钥(ServiceKEK)。同一个服务下的所有微服务,ServiceKEK是相同的。 利用这两个密钥,微服务可以将一些敏感配置托管到STS,STS会使用KEK或ServiceKEK对数据进行加密,在微服务部署时,由部署平台将敏感数据密文下发到微服务部署的环境上。 微服务启动时,利用微服务身份证书,可以同时获取KEK和ServiceKEK,从而把敏感数据明文解密出来。 父主题: 配置访问凭据管理服务
  • 访问凭据管理服务概述 访问凭据管理服务(Access Credential Management Service,简称ACMS,也称为Security Token Service,简称STS)为云服务业务提供了以下两个功能: 微服务之间请求认证 ACMS为每个接入的微服务,颁发了用于通信中进行认证的STS认证凭据,两个微服务之间通信时,可以使用该认证凭据,进行STS认证。 为了让微服务可以安全地获取到STS认证凭据,STS给每个接入的微服务颁发了一张身份证书,该证书中包含了微服务的名称等信息。该证书在微服务部署时,安装到微服务所在的虚拟机或容器里。微服务使用该证书,就可以到STS-Server上获取认证凭据。 两个微服务之间通信时,被调用方(Provider)需要在ACMS管理台上给调用方(Consumer)配置访问权限(Access Control List,简称ACL),开通后,Consumer就可以使用STS下发的认证凭据,用于消息的签名和加密。 敏感配置的托管和分发功能 ACMS为每个接入的微服务都分配了一个用于加密敏感数据的密钥(KEK),对服务也分配了加密敏感数据的密钥(ServiceKEK)。同一个服务下的所有微服务,ServiceKEK是相同的。 利用这两个密钥,微服务可以将一些敏感配置托管到STS,STS会使用KEK或ServiceKEK对数据进行加密,在微服务部署时,由部署平台将敏感数据密文下发到微服务部署的环境上。 微服务启动时,利用微服务身份证书,可以同时获取KEK和ServiceKEK,从而把敏感数据明文解密出来。 父主题: 访问凭据管理服务
  • 使用AppCode进行API请求的简易认证 在创建API时,选择“APP认证”并且开启“支持简易认证”。 如果您修改已有API为简易认证,需要在修改完成后,将API重新发布,使简易认证模式生效。 将支持简易认证的API绑定到已创建的凭据。 发送请求时,增加请求头部参数“X-Apig-AppCode”,省略请求签名相关信息。 以Curl方式为例,增加头部参数名称:X-Apig-AppCode,参数值填已生成的AppCode。 curl -X GET "https://api.exampledemo.com/testapi" -H "content-type: application/json" -H "host: api.exampledemo.com" -H "X-Apig-AppCode: xhrJVJKABSOxc7d***********FZL4gSHEXkCMQC"
  • RDS凭据使用流程 图1 产品架构 流程说明: 创建一个RDS凭据。 设置凭据名称、标签等。 配置自动轮转策略。 应用系统在使用过程中需要访问数据库时,可以向CSMS服务请求访问凭据,获取凭据值,调用API接口详情请参见查询凭据版本和凭据值。 应用系统通过访问返回的凭据值解析明文数据,获取账号和密码后,可以访问该用户对应的目标数据库。 开启自动轮转后,数据库实例所托管的密码将定时轮转更新,请确认使用该数据库实例的应用端已完成代码适配,可在数据库连接建立时,动态获取最新凭据。 不要轻易缓存凭据中的任何信息,避免账号密码轮转后失效,导致数据库连接失败。
  • 轮换凭据和密钥 为提升系统安全性,需要对敏感凭据进行定期更新。凭据轮换时要求对目标凭据具备依赖性的应用或配置同步更新,多应用系统凭据更新容易遗漏,可能带来业务中断风险。 通过凭据管理服务,提供凭据多版本管理,应用节点通过API/SDK调用实现应用层凭据安全轮换。 解决方案说明如下: 管理员通过凭据管理控制台或API接口新增凭据版本,更新目标凭据内容。 应用节点通过调用API/SDK 获取最新凭据版本,或指定版本状态的凭据,实现全量或灰度的凭据轮换。 定期重复步骤1和步骤2实现凭据定期轮转。 加密密钥开启密钥轮换,提高存储安全性。
  • 凭据安全检索 应用程序访问数据库或其他服务时,需要提供如密码、令牌、证书、SSH 密钥、API 密钥等各种类型的凭据信息进行身份校验,通常是直接使用明文方式将上述凭据嵌入在应用程序的配置文件中。该场景存在凭据信息硬编码、明文存储易泄露和安全性较低等风险问题。 通过凭据管理服务,用户可以将代码中的硬编码替换为对API 的调用,以便用编程的方式动态查询凭据,由于该凭据中不包含敏感信息,保证凭据不被泄露。 解决方案说明如下: 应用读取配置时,调用凭据管理服务API检索读取凭据(代替硬编码和明文凭据)。
  • 凭据事件通知 用户为凭据对象订阅关联事件后,当事件为启用状态且基础事件类型在凭据对象上触发时,通过 消息通知 服务( SMN )对应事件通知会发送至事件指定的通知主题上。基础事件类型包括:凭据新版本创建,凭据版本过期,凭据删除,凭据轮转。配置事件通知后,用户可以通过 函数工作流 服务(FunctionGraph)中基于事件驱动的托管函数来自动化轮转凭据。 解决方案说明如下: 1.管理员通过凭据管理服务的事件通知控制台或者调用API接口新增事件。 2.创建或更新凭据时,关联订阅所需的事件对象。 3.用户在凭据状态发生改变时收到事件通知消息,并可在函数工作流服务(FunctionGraph)中配置函数,来实现凭据自动更新或轮转等功能。
  • 凭据管理基本功能 表1 凭据管理基本功能 功能 服务内容 凭据全生命周期管理 创建、查看、定时删除、取消删除凭据 修改凭据的加密密钥和描述信息 凭据版本管理 创建、查看凭据版本 查看凭据值 凭据版本到期设置 凭据版本状态管理 更新、查询、删除凭据版本状态 凭据标签管理 添加、搜索、编辑、删除标签 凭据事件管理 创建、查看、删除事件 修改凭据事件类型 凭据通知管理 查看变更事件类型、事件名称、凭据名称
  • 响应示例 状态码: 200 OK { "app_id" : "9ed8b7fe84224de681e7d7a5587e76dc", "app_acl_type" : "PERMIT", "app_acl_values" : [ "192.168.0.1", "192.168.0.5-192.168.0.10", "192.168.0.100/28" ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:app_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3004", "error_msg" : "App 9ed8b7fe84224de681e7d7a5587e76dc does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}/app-acl 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 app_id 是 String 应用编号
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 app_id String APP编号 app_acl_type String 类型 PERMIT (白名单类型) DENY (黑名单类型) app_acl_values Array of strings ACL策略值,支持IP、IP范围和CIDR方式。IP范围以英文中划线分隔。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 使用凭据登录数据库 下文为您介绍如何创建凭据,并且通过API调用凭据来登录到您的数据库。 您首先需要确保您的帐号拥有KMS Administrator或者KMS CMKFullAccess权限,详情见DEW权限管理。 图1 凭据登录流程 流程说明如下: 您首先需要在凭据管理服务中使用控制台或者API创建一个凭据,用来存储数据库的相关信息(例如:数据库地址、端口、密码)。 当您使用应用程序访问数据库时,凭据管理服务会去查询步骤1所创建的凭据存储的内容。 凭据管理服务检索并解密凭据密文,将凭据中保存的信息通过凭据管理API安全地返回到应用程序中。 应用程序获取到解密后的凭据明文信息,使用这些安全的信息访问数据库。