华为云用户手册

  • 基本概念 表1 部署服务基本概念 词汇 定义 部署步骤 应用中最小的可执行单元(也可以理解为部署功能的插件化封装),一个部署步骤对应实现特定的功能,一个应用可以由一个或多个部署步骤组成。 参数 参数是指设置参数后,部署的原子步骤中可以将原子步骤中的配置用参数来表示,部署时可以动态修改参数的值。 运行时参数 部署应用时可重新设定指定值的参数。按照属性可分“自定义参数”和“系统预定义参数”,支持枚举、字符串和环境三种类型。 部署模板 模板是将多个部署步骤根据业务场景进行编排后组成的模板实例,分为“系统模板”和“自定义模板”,系统模板也称为预置模板,对所有用户可见;自定义模板为用户根据部署场景自行编排保存,对项目组成员可见。 目标主机 在主机部署中作为最终部署的对象,部署服务将您的制品等资源部署到环境内的目标主机。 代理主机 为其他无公网IP的目标主机提供访问通道能力。 主机集群 用于托管您即将部署的主机等基础资源,您可将创建完成的资源导入到某个应用下用于部署。 环境 由一台或多台相同操作系统的主机组成的一个集合,在应用中作为被部署对象,可实现多主机批量部署。 Kubernetes 开源项目,用于管理云平台中多个主机上的容器化的应用,同时支持对用户线下Kubernetes集群和云容器引擎(CCE)Kubernetes集群的部署。 服务扩展点 服务扩展点是CodeArts的一种扩展插件,为CodeArts提供连接第三方服务的能力。例如,在Kubernetes部署的自定义集群部署场景中,服务扩展点可存储Kubeconfig鉴权信息,用于实现集群的认证和远程控制,实现容器部署。 Servicestage 提供一站式应用托管和微服务应用管理的PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,支持Apache ServiceComb,Spring Cloud等业界主流微服务框架运行环境。 官方资源池 由CodeArts提供的执行环境,所有用户共用。 自托管资源池 用户可以将自有的主机作为执行主机,接入CodeArts,作为应用的执行环境。在主机部署场景下,采用自托管资源池部署应用,可以实现CodeArts到目标主机的内网部署。
  • 网站漏洞扫描 具有OWASP TOP10和WASC的漏洞检测能力,支持扫描20余种类型的漏洞,包括: SQL注入、 CS RF跨站请求伪造、XXE(XML外部实体)、表达式注入、Xpath注入、代码注入、命令注入、操作系统命令注入、SSRF服务端请求伪造、反序列化、XSS跨站脚本、Jsonp劫持、HTTP头注入、CRLF、URL跳转/重定向、文件上传、文件包含(LFI/RFI)、任意文件读取、路径遍历、格式化字符串、越权检测、敏感信息泄露、弱加密算法检测、配置错误、HTTP请求走私、HTTP头安全规范检查。 支持使用Ajax、JavaScript、Flash等技术构建网站,支持使用Tomcat、Apache、Nginx、IIS等Web容器部署的网站。 扫描规则云端自动更新,全网生效,及时涵盖最新爆发的漏洞。 支持静态页面和动态页面扫描。 支持HTTPS扫描。
  • 主机 漏洞扫描 支持深入扫描 通过配置验证信息,可连接到服务器进行OS检测,进行多维度的补丁、已知漏洞、配置检测。 支持操作系统典型服务协议SSH、SSL/TLS的识别和已知漏洞扫描。 支持内网扫描 可以通过跳板机方式访问业务所在的服务器,适配不同企业网络管理场景。 支持中间件扫描 丰富的扫描场景 支持主流Web容器、前台开发框架、后台微服务技术栈的版本漏洞和配置合规扫描。 多扫描方式可选 支持通过标准包或者自定义安装等多种方式识别服务器的中间件及其版本,全方位发现服务器的漏洞风险。
  • 移动应用安全 移动应用安全服务能快速扫描您的应用,并提供详细的检测报告,协助您快速定位修复问题。 全自动化测试 您只需上传Android、HarmonyOS应用文件提交扫描任务,即可输出详尽专业的测试报告。 支持工信部等4部委的合规要求进行检测,主要检测内容包括隐私声明和行为一致性检测、权限检测、隐私检测、安全问题检测等内容的自动化检测。 详细的测试报告 详尽的在线测试报告,一键即可下载,报告提供包括问题代码行、修复建议、调用栈信息、违规问题场景截图、关联隐私策略片段等信息。 支持第三方SDK隐私声明解析 针对第三方SDK隐私声明存在“表格”与“外链”两种展示方式。通过插桩方式获取应用隐私声明的url,继而提取并深度分析隐私声明内容。 支撑鸿蒙应用扫描 率先支持鸿蒙应用安全漏洞、隐私合规问题扫描。
  • 跨源分析开发方式 表1提供 DLI 支持的数据源对应的开发方式。 表1 跨源分析语法参考 服务名称 开发SQL作业 开发Spark jar作业 开发Flink OpenSource SQL作业 开发Flink Jar作业 CloudTable HBase 创建HBase关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Hbase源表 Hbase结果表 Hbase维表 - CloudTable OpenTSDB 创建OpenTSDB关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - CSS 创建CSS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Elasticsearch结果表 - DCS Redis 创建DCS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Redis源表 Redis结果表 Redis维表 Flink作业样例 DDS 创建DDS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - DMS - - Kafka源表 Kafka结果表 - DWS 创建DWS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 DWS源表 DWS结果表 DWS维表 Flink作业样例 MRS HBase 创建HBase关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Hbase源表 Hbase结果表 Hbase维表 Flink作业样例 MRS Kafka - - Kafka源表 Kafka结果表 Flink作业样例 MRS OpenTSDB 创建OpenTSDB关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - RDS MySQL 创建RDS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 MySQL CDC源表 - RDS PostGre 创建RDS关联表 插入数据 查询数据 - Postgres CDC源表 -
  • DLI自定义委托场景 表1 DLI自定义委托场景 场景 委托名称 适用场景 权限策略 允许DLI按表生命周期清理数据 dli_data_clean_agency 数据清理委托,表生命周期清理数据、Lakehouse表数据清理使用。 该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。 数据清理委托权限配置 允许DLI读写OBS将日志转储 自定义 DLI Flink作业下载OBS对象、OBS/DWS数据源(外表)、日志转储、使用savepoint、开启checkpoint,DLI Spark作业下载OBS对象、读写OBS外表。 访问和使用OBS的权限策略 允许DLI在访问DEW获取数据访问凭证 自定义 DLI 作业使用DEW-C SMS 凭证管理能力。 使用DEW加密功能的权限 允许访问DLI Catalog元数据 自定义 DLI 访问DLI元数据。 访问DLI Catalog元数据的权限 允许访问LakeFormation Catalog元数据 自定义 DLI 访问LakeFormation元数据。 访问LakeFormation Catalog元数据的权限
  • 约束与限制 自定义委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。 允许DLI按表生命周期清理数据的委托名称必须为dli_data_clean_agency。 仅Flink 1.15和Spark 3.3.1(Spark通用队列场景)及以上版本的引擎执行作业支持配置自定义委托。 更新委托权限后,系统将升级您的dli_admin_agency为dli_management_agency,新的委托包含跨源操作、 消息通知 、用户授权操作所需的权限。除此之外的其他委托权限需求都需要用户自定义委托。了解dli_management_agency请参考DLI委托概述。 常见新建委托场景:允许DLI读写OBS数据、日志转储、Flink checkopoint;允许DLI在访问DEW获取数据访问凭证、允许访问Catalog获取元数据等场景。以上场景的委托权限请参考常见场景的委托权限策略。
  • 步骤1:在 IAM 控制台创建云服务委托并授权 登录管理控制台。 单击右上方登录的用户名,在下拉列表中选择“ 统一身份认证 ”。 在左侧导航栏中,单击“委托”。 在“委托”页面,单击“创建委托”。 在“创建委托”页面,设置如下参数: 委托名称:按需填写,例如“dli_obs_agency_access”。 委托类型:选择“云服务”。 云服务:(“委托类型”选择“云服务”时出现此参数项。)在下拉列表中选择“DLI"。 持续时间:选择“永久”。 描述:非必选,可以填写“拥有OBS OperateAccess权限的委托”。 图2 创建委托 配置完委托的基本信息后,单击“下一步”。 授予当前委托所需的权限策略,单击“新建策略”。 配置策略信息。 输入策略名称,本例:dli-obs-agency。 选择“JSON视图”。 在策略内容中粘贴自定义策略。 本例权限包含访问和使用OBS的权限,适用于以下场景:DLI Flink作业下载OBS对象、OBS/DWS数据源(外表)、日志转储、使用savepoint、开启Checkpoint。DLI Spark作业下载OBS对象、读写OBS外表。 更多Flink作业常见委托权限配置请参考常见场景的委托权限策略。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketPolicy", "obs:bucket:GetLifecycleConfiguration", "obs:bucket:GetBucketLocation", "obs:bucket:ListBucketMultipartUploads", "obs:bucket:GetBucketLogging", "obs:object:GetObjectVersion", "obs:bucket:GetBucketStorage", "obs:bucket:GetBucketVersioning", "obs:object:GetObject", "obs:object:GetObjectVersionAcl", "obs:object:DeleteObject", "obs:object:ListMultipartUploadParts", "obs:bucket:HeadBucket", "obs:bucket:GetBucketAcl", "obs:bucket:GetBucketStoragePolicy", "obs:object:AbortMultipartUpload", "obs:object:DeleteObjectVersion", "obs:object:GetObjectAcl", "obs:bucket:ListBucketVersions", "obs:bucket:ListBucket", "obs:object:PutObject" ], "Resource": [ "OBS:*:*:bucket:bucketName",//请替换bucketName为对应的桶名称 "OBS:*:*:object:*" ] }, { "Effect": "Allow", "Action": [ "obs:bucket:ListAllMyBuckets" ] } ] } 按需输入策略描述。 新建策略完成后,单击“下一步”,返回委托授权页面。 选择步骤8新建的自定义策略。 图3 选择自定义策略 单击“下一步”,选择委托的授权范围。 了解更多授权操作说明请参考创建用户组并授权。 所有资源:授权后,IAM用户可以根据权限使用账号中所有资源,包括企业项目、区域项目和全局服务资源。 全局服务资源:全局服务部署时不区分区域,访问全局级服务,不需要切换区域,全局服务不支持基于区域项目授权。如 对象存储服务 (OBS)、内容分发网络(CDN)等。授权后,用户根据权限使用全局服务的资源。 指定区域项目资源:授权后,IAM用户根据权限使用所选区域项目中的资源,未选择的区域项目中的资源,该IAM用户将无权访问。 指定企业项目资源:授权后,IAM用户根据权限使用所选企业项目中的资源。如企业项目A包含资源B,资源B部署在北京四和上海二,IAM用户所在用户组关联企业项目A后,北京四和上海二的资源B用户都可访问,不在企业项目A内的其他资源,该IAM用户将无权访问。 本例自定义策略中是OBS权限,因此选择全局服务资源。如果使用的是DLI权限,推荐选择“指定区域项目资源”。 单击“确定”,完成授权。 授权后需等待15-30分钟才可生效。
  • 关于密钥 加密所需的密钥依赖于 数据加密 服务(DEW,Data Encryption Workshop)。DEW通过数据加密密钥(Data Encryption Key,DEK),对具体资源进行加密,然后通过用户主密钥(Customer Master Key,CMK)对DEK进行加密,保护DEK,如图1所示。 图1 数据加密过程 数据加密过程中涉及的几种密钥,如表1所示。 表1 密钥说明 名称 概念 功能 数据加密密钥 即DEK,是用户加密数据的加密密钥。 加密具体资源。 自定义密钥 是用户通过DEW创建的密钥,是一种密钥加密密钥,主要用于加密并保护DEK。 一个自定义密钥可以加密多个DEK。 支持禁用、计划删除等操作。 默认密钥 属于用户主密钥,是用户第一次通过对应云服务使用DEW加密时,系统自动生成的,其名称后缀为“/default”。 例如:evs/default 支持通过管理控制台DEW页面查询默认密钥详情。 不支持禁用、计划删除等操作。 如果加密云硬盘使用的CMK被执行禁用或计划删除操作,操作生效后,使用该CMK加密的云硬盘仍然可以正常使用,但是,当该云硬盘被卸载并重新挂载至弹性云服务器时,由于无法正常获取密钥,会导致挂载失败,云硬盘不可用。 关于密钥管理的更多信息,请参见《数据加密服务用户指南》。
  • 关于密钥 加密所需的密钥依赖于数据加密服务(DEW,Data Encryption Workshop)。DEW通过数据加密密钥(Data Encryption Key,DEK),对具体资源进行加密,然后通过用户主密钥(Customer Master Key,CMK)对DEK进行加密,保护DEK,如图1所示。 图1 数据加密过程 数据加密过程中涉及的几种密钥,如表1所示。 表1 密钥说明 名称 概念 功能 数据加密密钥 即DEK,是用户加密数据的加密密钥。 加密具体资源。 自定义密钥 是用户通过DEW创建的密钥,是一种密钥加密密钥,主要用于加密并保护DEK。 一个自定义密钥可以加密多个DEK。 支持禁用、计划删除等操作。 默认密钥 属于用户主密钥,是用户第一次通过对应云服务使用DEW加密时,系统自动生成的,其名称后缀为“/default”。 例如:evs/default 支持通过管理控制台DEW页面查询默认密钥详情。 不支持禁用、计划删除等操作。 如果加密云硬盘使用的CMK被执行禁用或计划删除操作,操作生效后,使用该CMK加密的云硬盘仍然可以正常使用,但是,当该云硬盘被卸载并重新挂载至弹性云服务器时,由于无法正常获取密钥,会导致挂载失败,云硬盘不可用。 关于密钥管理的更多信息,请参见《数据加密服务用户指南》。
  • 问题现象 使用Linux私有镜像创建/切换服务器后,无法通过重置密码登录Flexus应用服务器 L实例 。Linux私有镜像的镜像源来自其他云平台的服务器或从第三方下载,通过此类私有镜像创建的Flexus应用服务器L实例可能因为未安装一键式密码重置插件而无法重置密码。 如果您知晓您的私有 镜像服务 器密码,请参考使用Linux私有镜像创建/切换Flexus L实例后,无法重置密码怎么办?(已知私有镜像初始密码)安装插件。 如果您遗忘了您的私有镜像服务器密码,请参见本节内容为私有镜像安装一键式密码重置插件,并为Flexus应用服务器L实例设置密码。 本节操作重置的是root用户的密码,您可以重置完root密码后登录云服务器后再重置非root用户的密码。
  • 前提条件 使用待安装密码插件的私有镜像创建一台Linux操作系统的临时弹性云服务器A。 准备一台Linux操作系统的临时弹性云服务器B,且该临时弹性云服务器与弹性云服务器A位于同一个可用区。 请确保临时弹性服务器A/B和待安装一键式重置密码插件的Flexus应用服务器L实例均属于同一个区域。 您可以选择符合要求的已有弹性云服务器作为临时,也可以重新购买一台临时弹性云服务器。 重新购买的弹性云服务器在重置密码后,请及时释放,以免继续收费。 弹性云服务器B已经绑定弹性公网IP。
  • 监控安全风险 EdgeSec已对接 云监控服务 (Cloud Eye, CES ),可以通过管理控制台,查看EdgeSec的相关指标,及时了解EdgeSec防护状况,并通过指标设置防护策略。CES服务是华为云为用户提供一个针对各种云上资源的立体化监控平台,用户通过 云监控 服务可以全面了解云上的资源使用情况、业务的运行状况,并及时收到异常告警做出反应,保证业务顺畅运行。 用户通过设置EdgeSec告警规则,可自定义监控目标与通知策略,告警规则包含名称、监控对象、监控指标、告警阈值、监控周期和是否发送通知等参数,帮助用户及时了解EdgeSec防护状况,从而起到预警作用。 父主题: 安全
  • DDoS攻击防护 边缘安全的DDoS攻击防护,基于先进的特征识别算法对流量进行统一精确检测,识别攻击后,可以快速清洗,抵御SYN Flood、UDP Flood、ICMP Flood等各种大流量攻击,保障正常服务平稳运行。 边缘安全节点网络基于分布式架构搭建,智能调度全局负载均衡,当某个CDN边缘站点的业务受攻击流量到达清洗阈值时,就近调度流量至更大带宽的高防机房,应对超大流量DDoS攻击,保障突发攻击时的业务访问流畅稳定。
  • Web基础防护 覆盖OWASP(Open Web Application Security Project,简称OWASP)TOP 10中常见安全威胁,通过预置丰富的信誉库,对漏洞攻击、网页木马等威胁进行检测和拦截。 全面的攻击防护 支持SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录(路径)遍历、敏感文件访问、命令/代码注入、XML/Xpath注入等攻击检测和拦截。 Webshell检测 防护通过上传接口植入网页木马。 识别精准 内置语义分析+正则双引擎,黑白名单配置,误报率更低。 支持防逃逸,自动还原常见编码,识别变形攻击能力更强。 默认支持的编码还原类型:url_encode、Unicode、xml、OCT(八进制)、HEX(十六进制)、html转义、base64、大小写混淆、javascript/shell/php等拼接混淆。 深度检测 深度反逃逸识别(支持同形字符混淆、通配符变形的命令注入、UTF7、Data URI Scheme等的防护)。 header全检测 支持对请求里header中所有字段进行攻击检测。 Shiro解密检测 支持对Cookie中的rememberMe内容做AES,Base64解密后再检测。
  • 快速部署 本章节主要帮助用户快速部署“快速搭建Dify-LLM应用开发平台”解决方案 表1 参数说明 参数名称 类型 是否可选 参数解释 默认值 vpc_name string 必填 虚拟私有云名称,该模板使用新建VPC,不允许重名。取值范围:1-54个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 dify-llm-application-development-platform-demo secgroup_name string 必填 安全组名称,该模板新建安全组,请参考安全组规则修改进行配置。取值范围:1-64个字符,支持字母、数字、中文、下划线(_)、中划线(-)、英文句号(.)。 dify-llm-application-development-platform-demo ecs_name string 必填 云服务器实例名称,不支持重名。取值范围:1-64个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 dify-llm-application-development-platform-demo flexus_flavor string 必填 云服务器实例规格,支持弹性云服务器 ECS及华为云Flexus 云服务器X实例。Flexus 云服务器X实例规格ID命名规则为x1.?u.?g,例如2vCPUs4GiB规格ID为x1.2u.4g,具体华为云Flexus 云服务器X实例规格请参考控制台。弹性云服务器规格名称,具体请参考官网弹性云服务器规格清单。 x1.8u.16g ecs_password string 必填 云服务器密码,长度为8-26位,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种,仅支持小写字母、数字、中划线(-)、英文句号(.)。修改密码,请参考重置云服务器密码登录ECS控制台修改密码。管理员账户默认root。 空 ecs_volume_size number 必填 云服务器系统盘大小,磁盘类型默认为高IO,单位:GB,取值范围为40-1,024,不支持缩盘。 100 bandwidth_size number 必填 弹性公网带宽大小,该模板计费方式为按流量计费。单位:Mbit/s,取值范围:1-300Mbit/s。 300 charging_mode string 必填 计费模式,默认自动扣费,取值为prePaid(包年包月)或postPaid(按需计费)。 postPaid charge_period_unit string 必填 计费周期单位,当计费方式设置为prePaid,此参数是必填项。有效值为:month(包月)和year(包年)。 month charge_period number 必填 计费周期,当计费模式设置为prePaid,此参数是必填项。可选值为:1-3(year)、1-9(month)。 1 登录华为云解决方案实践,选择“快速搭建Dify-LLM应用开发平台”,单击“一键部署”,跳转至解决方案创建资源栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1 参数填写说明完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托(可不选),单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 (可选)如果计费模式选择“包年包月”,在余额不充足的情况下(所需总费用请参考表2)请及时登录费用中心,手动完成待支付订单的费用支付。 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 刷新页面,在“输出”中查看Dify-LLM应用开发平台访问说明。堆栈部署成功后,Dify应用搭建脚本开始执行,耐心等待5-10分钟左右(受网络波动影响)。 图10 说明 父主题: 实施步骤
  • 开通密钥轮转如何收费? 开通密钥轮转后,会收取相应的密钥存储费用,每个轮转的版本将作为一个独立的主密钥资源进行计算,调用次数计费与轮转次数计费无关。 以1个密钥开通轮转,轮转周期为30天,单价0.015元(抹零后0.01元)每小时为例: 第一个月:密钥的轮转版本为0,收费为0.01*24*30 + 0*0.01*24*30 = 7.2元。 第二个月:密钥的轮转版本为1,收费为0.01*24*30 + 1*0.01*24*30 = 14.4元。 第三个月:密钥的轮转版本为2,收费为0.01*24*30 + 2*0.01*24*30 = 21.6元。 以此类推 第n个月:密钥的轮转版本为n,收费为0.01*24*30 + (n-1)*0.01*24*30 = 7.2*n元。 父主题: 计费类
  • 配置须知 按照本案例配置后,可以正常通过API或SDK完成权限所允许的操作,但如果通过控制台或OBS Browser+登录,可能会出现无权限的相关提示信息。 报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。如果指定的权限中没有包含如obs:bucket:ListAllMyBuckets、obs:bucket:ListBucket及一些控制台和OBS Browser+加载页面时需要调用的接口权限,会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。 如果希望IAM用户能在控制台或OBS Browser+顺利完成桶和对象相关操作,建议至少在自定义策略中包含obs:bucket:ListAllMyBuckets和obs:bucket:ListBucket两个权限。(本案例中的权限2和权限3已包含) obs:bucket:ListAllMyBuckets面向所有资源,资源选择时要选择所有资源。 obs:bucket:ListBucket只面向授权的桶,资源选择时根据情况选择所有资源或者指定的桶。
  • 桶ACL和桶策略的映射关系 桶ACL用于授予桶基本的读写权限,桶策略高级设置中支持更多在桶上可以执行的动作。桶ACL是对桶策略的补充,除了限定的只能由桶ACL授予日志投递用户组权限外,更多时候桶策略可以替代桶ACL管理桶的访问权限。桶ACL访问权限和桶策略动作的映射关系如表1所示。 表1 桶ACL和桶策略的映射关系 ACL权限 选项 对应桶策略高级设置中的动作 桶访问权限 读取权限 HeadBucket ListBucket ListBucketVersions ListBucketMultipartUploads 写入权限 PutObject DeleteObject DeleteObjectVersion 对象权限 对象读权限 GetObject ACL访问权限 读取权限 GetBucketAcl 写入权限 PutBucketAcl
  • 对象ACL和桶策略的映射关系 对象ACL用于授予对象基本的读写权限。桶策略高级设置中支持更多在对象上可以执行的动作。对象ACL访问权限和桶策略动作的映射关系如表2所示。 表2 对象ACL和桶策略的映射关系 对象ACL权限 选项 对应桶策略高级设置中的动作 对象访问权限 读取权限 GetObject GetObjectVersion ACL访问权限 读取权限 GetObjectAcl GetObjectVersionAcl 写入权限 PutObjectAcl PutObjectVersionAcl
  • Action / NotAction 桶策略动作与资源相关,当资源为当前整个桶时,桶策略动作需配置为桶相关的动作;当资源为桶内对象时,桶策略动作需配置为对象相关的动作。 桶策略动作可以通过排除策略来指定: (可选项)排除以上授权操作:桶策略对除指定动作外的其他动作生效。 不勾选:表示桶策略对指定的动作生效。 勾选:表示桶策略对除指定动作外的其他动作生效。 对于桶策略模板,“桶读写”模板默认勾选,其他模板默认不勾选。桶策略模板中的动作排除策略不支持修改。
  • Condition 除了指定效力、被授权用户、资源、动作外,桶策略还可以指定生效条件。只有当条件设置的表达式与访问请求中的值匹配时,桶策略才生效。条件是可选参数,用户可以根据业务需要选择是否使用。 例如,账号A拥有example桶,账号B会向账号A的example桶中上传对象,账号A想要拥有账号B向example桶中上传对象的完全控制权限(因为默认情况下对象由上传该对象的账号B拥有),则可以指定上传请求中必须包含x-obs-acl键,以及显式授予完全控制权限,完整的条件表达式如下: 条件运算符 键 值 StringEquals x-obs-acl bucket-owner-full-control 条件由条件运算符、条件键、条件值三部分组成,最终组成一个条件表达式,决定桶策略生效的条件。同一个条件运算符中,如果存在多个相同的键,则只会保留最后一个键。条件运算符、键两者之间存在互相限制的关联关系,例如:条件运算符选择了一个String类型的,比如StringEquals,键就只能选择String类型的,比如UserAgent。键选择了一个Date类型,比如CurrentTime,条件运算符就只能选择Date类型的,比如DateEquals。 条件运算符 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,策略才能生效。Statement中可选的条件运算符参见表4,String型运算符如未增加说明,不区分大小写。
  • 配置须知 如果同时在IAM和企业项目中针对某个动作(Action)为某IAM用户进行了授权,授权结果以IAM为准。 举例: 1、如果在IAM和企业项目同时配置了列举桶权限(obs:bucket:ListAllMyBuckets),最终结果会列举出所有桶,包括用户所属企业项目之外的桶。 2、针对上传权限(obs:object:PutObject),如果在IAM中配置Allow,企业项目中配置deny,最终结果为Allow,即允许上传对象。 如果在IAM中为某IAM用户配置OBS Viewer权限,并且将其所在用户组加入至企业项目中,则IAM用户登录后将会出现无法列举桶的情况。 配置完成进入桶后仍然会出现无权限相关提示,属于正常现象,因为控制台还调用了其他高级配置的接口,但此时已可以正常完成读写模式中允许的操作。
  • 场景介绍 本章节介绍如何通过企业项目为华为云账号下的某个IAM用户配置指定桶的权限,使其只能在控制台看到授权的桶并且拥有桶的指定权限,无法看到账号下的其他桶,实现桶资源的隔离。 本案例将指定IAM用户test-user只能在控制台看到名为example的桶,并且只拥有上传权限(obs:object:PutObject)、列举桶内权限(obs:bucket:ListBucket)和列举桶权限(obs:bucket:ListAllMyBuckets),通过这些权限test-user用户可以完成上传对象的操作。
  • 场景介绍 本案例介绍如何使用临时访问密钥(临时AK/SK和securitytoken),通过临时授权的方式访问OBS。 假设您希望IAM用户(用户名:APPServer)可以访问桶hi-company的APPClient文件夹,并希望申请到两个不同的临时访问密钥分发给终端APP:APP-1和APP-2,其中APP-1仅能访问APPClient/APP-1下的文件,APP-2仅能访问APPClient/APP-2下的文件。
  • 相关场景 如果想要实现只允许指定的IP地址访问OBS桶,则将上述示例中桶策略的“条件运算符”设置为“NotIpAddress”,并在“值”中指定允许的IP地址即可。 在内网访问OBS的场景下,如果想要限制指定私网IP地址访问桶,需要购买网关型VPCEP终端节点(服务类别选择“按名称查找服务”,获取服务名称请提交工单,技术人员将为您提供)。通过VPCEP终端节点访问桶,OBS侧感知到的源IP即为私网IP,桶策略可直接针对私网IP进行访问限制。
  • 文件分享方法 在OBS管理控制台左侧导航栏选择“桶列表”。 在桶列表单击目标桶的桶名称,进入“对象”页面。 选中待分享的文件,并单击右侧操作列的“分享”。 此时,链接信息中的链接就已经生效并开始计时,有效期为默认的5分钟。修改URL有效期,链接会相应变化,新链接的有效期从修改时开始计算。 图1 分享文件 URL相关操作。 单击“打开URL”,将在新页面打开文件进行预览或者直接下载文件到本地。 单击“复制链接”,您可以将该链接分享给所有用户,用户可以在浏览器中通过此链接直接访问文件。 单击“复制路径”,您可将该路径分享给所有拥有对象所在桶权限的用户,用户可以在对应桶中的文件搜索框中输入该路径搜索并访问文件。 在“URL有效期”内,任何用户都可以访问该文件。
  • 文件夹分享方法 在OBS管理控制台左侧导航栏选择“桶列表”。 在桶列表单击目标桶的桶名称,进入“对象”页面。 选中待分享的文件夹,并单击右侧的“分享”,系统弹出“分享文件夹”对话框。 分享文件夹有两种方式,分别是提取码分享和直接分享。 方法一:提取码分享。 图2 提取码分享 分享策略选择“提取码分享”。 设置相关参数。 表1 提取码分享文件夹参数 参数 说明 URL有效期 单位为分钟或小时,URL有效期的取值范围为1分钟到18小时,默认值为5分钟。 在“URL有效期”内,任何用户都可以访问该文件夹。 提取码 六位数字。 用户在访问分享链接时,需要输入提取码,才能看到文件夹中的对象。 单击“创建分享”,生成文件分享URL。 将链接及提取码发送给所有用户,用户通过访问链接并输入提取码以访问文件夹中的对象。 验证: 其他用户通过网页访问分享的文件夹。 打开网页,输入分享的URL地址,打开链接。 在页面提示框输入“提取码”,确认即可访问分享的文件夹。 其他用户通过OBS Browser+访问分享的文件夹。 打开OBS Browser+。 在登录页面选择“授权码登录”。 输入“授权码”和“提取码”。 单击“登录”,即可访问分享的文件夹。 方法二:直接分享。 图3 直接分享 分享策略选择“直接分享”。 设置相关参数。 表2 直接分享文件夹参数 参数 说明 URL有效期 单位为分钟或小时,URL有效期的取值范围为1分钟到18小时,默认值为5分钟。 在“URL有效期”内,任何用户都可以访问该文件夹。 单击“复制链接”发送给用户,用户通过该链接即可访问文件夹下所有对象。该分享链接由桶 域名 (前缀)+签名信息(后缀)构成,对该文件夹下所有对象生效。用户可以在分享链接的前缀后面插入对象路径来访问文件夹中的对象,支持访问下载,如图4所示。 验证:其他用户通过分享链接访问文件夹下所有对象。 打开网页,输入分享的链接(前缀+后缀)。 单击“Enter”键打开链接,列举出文件夹内所有对象。 复制对象路径,然后在前缀后黏贴。 单击“Enter”键打开链接,即可访问下载文件夹中的指定对象。 图4 访问直接分享链接示例图
  • 配置须知 本案例预置的“目录只读”模板允许所有账号(所有互联网用户)对指定目录执行以下权限: GetObject:获取对象内容、获取对象元数据 GetObjectVersion:获取指定版本对象内容、获取指定版本对象元数据 GetObjectVersionAcl:获取指定版本对象ACL GetObjectAcl:获取对象ACL RestoreObject:恢复归档存储对象 HeadBucket:判断桶是否存在、获取桶元数据 GetBucketLocation:获取桶位置 使用本案例授权会涉及部分桶相关权限(HeadBucket、GetBucketLocation),请谨慎使用。如果需要缩小权限范围,请参考对所有账号授予指定对象的读权限。
  • 配置须知 按照本案例配置后,可以正常通过API或SDK完成对象下载操作,但如果通过控制台或OBS Browser+登录桶列表,会出现无权限的相关提示信息。 报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。而授予的只读权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全