华为云用户手册

  • 在云服务器上搭建网站对外提供Web服务 安全组默认拒绝所有来自外部的请求,如果您在云服器上搭建了可供外部访问的网站,则您需要在安全组入方向添加对应的规则,放通对应的端口,例如HTTP(80)、HTTPS(443)。 表6 云服务器上搭建网站对外提供Web服务 规则方向 优先级 策略 类型 协议端口 源地址 入方向规则 1 允许 IPv4 自定义TCP: 80 IP地址:0.0.0.0/0 入方向规则 1 允许 IPv4 自定义TCP: 443 IP地址:0.0.0.0/0
  • 使用ping命令验证网络连通性 安全组默认拒绝所有来自外部的请求,如果您需要在云服器上使用ping命令验证网络的连通性,则您需要在安全组入方向添加对应的规则,放通ICMP端口。 表7 使用ping命令验证网络连通性 规则方向 优先级 策略 类型 协议端口 源地址 入方向规则 1 允许 IPv4 ICMP: 全部 IP地址:0.0.0.0/0 入方向规则 1 允许 IPv6 ICMP: 全部 IP地址:::/0
  • 默认安全组和规则 系统会为每个用户默认创建一个安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。 如图1所示。 图1 默认安全组 默认安全组Sys-default规则如表1所示: 表1 默认安全组规则 规则方向 策略 类型 协议端口 源地址/目的地址 描述 入方向规则 允许 IPv4 全部 源地址:默认安全组(default) 针对全部IPv4协议,允许本安全组内实例的请求进入,即该条规则确保安全组内的实例网络互通。 入方向规则 允许 IPv6 全部 源地址:默认安全组(default) 针对全部IPv6协议,允许本安全组内实例的请求进入,即该条规则确保安全组内的实例网络互通。 出方向规则 允许 IPv4 全部 目的地址:0.0.0.0/0 针对全部IPv4协议,允许安全组内的实例可访问外部IP的所有端口。 出方向规则 允许 IPv6 全部 目的地址:::/0 针对全部IPv6协议,允许安全组内的实例可访问外部IP的所有端口。 父主题: 安全组
  • 安全组 安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。 您也可以根据需要创建自定义的安全组,或使用默认安全组,系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。默认安全组您可以直接使用,详情请参见默认安全组和规则。 安全组需在网络互通的情况下生效。若实例属于不同VPC,但同属于一个安全组,则此安全组不生效,您可以使用对等连接等产品建立VPC连接互通。VPC连接请参见VPC连接。
  • Linux云服务器 以root用户登录Linux云耀云服务器。 登录方法请参见Linux云服务器登录方式概述。 执行以下命令,重置root的用户密码。 passwd 如果是重置其他用户的密码,请将“passwd”替换为“passwd username”。 根据系统显示的如下回显信息,输入新密码,新密码的复杂度需满足表1。 New password: Retype new password: 系统显示如下回显信息时,表示密码重置成功。 passwd: password updated successfully
  • 背景信息 云服务器的密码规则如表1所示。 表1 密码设置规则 参数 规则 样例 密码 密码长度范围为8到26位。 密码至少包含以下4种字符中的3种: 大写字母 小写字母 数字 Windows操作系统云服务器特殊字符:包括“$”、“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“,”和“?” Linux操作系统云服务器特殊字符:包括“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“^”、“,”、“{”、“}”和“?” 密码不能包含用户名或用户名的逆序。 Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。 Windows操作系统的云服务器,不能以“/”为密码首字符。 YNbUwp!dUc9MClnv 说明: 样例密码随机生成,请勿复制使用样例。
  • 操作步骤 您可参考以下步骤在控制台上修改一台或多台云耀云服务器的登录密码。 登录HE CS (旧版)控制台,单击左上角的选择区域。 选中待重置密码的云耀云服务器,并单击操作按钮“ 重置密码”。 图1 重置密码 对于已安装一键式重置密码插件的云耀云服务器,系统支持批量重置密码功能。批量重置的操作如下: 勾选待重置密码的多台云耀云服务器。 单击云服务器列表页上方的“ 重置密码”。 根据界面提示,设置新密码。 设置成功后,批量重置密码的多台云耀云服务器登录密码相同。 根据界面提示,设置云耀云服务器的新密码,并确认新密码。 运行中的云服务器重置密码需重启后新密码才能生效,请勾选“自动重启”。 新密码的复杂度应满足表1。 表1 密码设置规则 参数 规则 样例 密码 密码长度范围为8到26位。 密码至少包含以下4种字符中的3种: 大写字母 小写字母 数字 Windows操作系统云服务器特殊字符:包括“$”、“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“,”和“?” Linux操作系统云服务器特殊字符:包括“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“^”、“,”、“{”、“}”和“?” 密码不能包含用户名或用户名的逆序。 Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。 Windows操作系统的云服务器,不能以“/”为密码首字符。 YNbUwp!dUc9MClnv 说明: 样例密码随机生成,请勿复制使用样例。 单击“确认”。 系统执行重置密码操作,该操作预计需要10分钟,请勿频繁执行。 云耀云服务器开机后密码自动生效。
  • 前提条件 密码丢失或过期前,已安装密码重置插件。 公共镜像创建的云耀云服务器默认已安装一键重置密码插件。 使用私有镜像创建的云耀云服务器(例如使用私有镜像切换的操作系统),请先安装密码重置插件。 请勿删除重置密码进程“CloudResetPwdAgent”和“CloudResetPwdUpdateAgent”,否则,会导致一键式重装密码功能不可用。 云耀云服务器使用的VPC网络DHCP不能禁用。 云耀云服务器网络正常通行。
  • 操作步骤 登录HECS(旧版)控制台,单击左上角的选择区域。 在云耀云服务器列表中的右上角,输入云服务器名称、IP地址或ID,并进行搜索。 单击待挂载云硬盘的云服务器的名称。 系统跳转至该云服务器详情页面。 选择“云硬盘”页签,并单击“挂载磁盘”。 系统跳转至“挂载磁盘”页面。 图1 挂载磁盘 根据界面提示,勾选目标磁盘,并设置磁盘属性。 单击“确定”。 挂载成功后,在云服务器详情页的“云硬盘”页签,即可看到新挂载的磁盘信息。
  • 云硬盘的类型 云耀云服务器使用的云硬盘类型有如下几种: 高IO:该类型云硬盘的最大IOPS可达5000,最低读写时延为1 ms,适用于主流的高性能、高可靠应用场景,例如企业应用、中小型开发测试以及Web服务器日志等。 超高IO:该类型云硬盘的最大IOPS可达33000,最低读写时延为1 ms,适用于超高IO,超大带宽的读写密集型应用场景,例如高性能计算应用场景,用来部署分布式文件系统,或者I/O密集型应用场景,用来部署各类NoSQL/关系型数据库。 这些类型的性能特点和价格有所不同,您可根据应用程序要求选择您所需的云硬盘。更多关于云硬盘规格、性能等信息,请参见磁盘类型及性能介绍。
  • 步骤1:变更规格 登录HECS(旧版)控制台,单击左上角的选择区域。 选择待变更规格的云服务器,单击操作列中的“变更规格”。 系统进入“云服务器变更规格”页面。 根据界面提示,选择变更后的vCPU和内存。 变更规格前请先将云服务器关机,或根据页面提示勾选“系统自动关机后变更规格”。 图2 变更规格 单击“下一步”。 确认变更后的配置无误后,阅读并勾选同意服务协议,单击“提交申请”。 查询规格是否变更成功。 申请变更规格后,可以通过“异常任务”栏查看规格是否变更成功。 查看控制台是否显示“异常任务”栏。 是,执行6.b。 否,变更规格成功。 打开“异常任务”,根据云服务器的“名称/ID”、“操作时间”和“任务”,确认列表中是否有刚刚执行的变更规格任务。 是,变更规格失败,失败原因请参见后续处理。 否,变更规格成功。
  • 变更须知 变更云服务器规格时,用户不能选择已售罄的CPU和内存资源。 云服务器规格(CPU或内存)变小,会影响云服务器的性能。 当云硬盘状态为“正在扩容”时,不支持变更所挂载的云服务器规格。 Windows操作系统的云服务器,执行变更规格操作前建议您参考磁盘脱机怎么办?修改Windows操作系统SAN策略,避免变更规格后磁盘处于脱机状态。 变更规格前请先将云服务器关机,或根据页面提示勾选“系统自动关机后变更规格”。
  • 变更前准备 变更规格后,可能会出现网卡漂移现象,如果对网卡有依赖,请在变更规格前做如下操作: Linux系统: 在云服务器中执行以下命令,删除网络规则目录下,文件名同时包含persistent和net的规则文件 rm -fr /etc/udev/rules.d/*net*persistent*.rules rm -fr /etc/udev/rules.d/*persistent*net*.rules Windows系统: 在云服务器中删除如下注册表下的目录。 “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles” “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged” 图1 注册表
  • 前提条件 切换操作系统前请先将云服务器关机,或根据页面提示勾选“系统自动关机后切换操作系统”。 待切换操作系统的云服务器挂载有系统盘。 切换操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。 如果您使用私有镜像切换操作系统请参考《 镜像服务 用户指南》提前完成私有镜像的制作。 如果需要指定云服务器的镜像,请提前使用指定云服务器创建私有镜像。 如果需要使用本地的镜像文件,请提前将镜像文件导入并注册为云平台的私有镜像。 如果需要使用其他区域的私有镜像,请提前复制镜像。 如果需要使用其他帐号的私有镜像,请提前完成镜像共享。
  • 操作步骤 登录HECS(旧版)控制台,单击左上角的选择区域。 在待切换操作系统的云耀云服务器的操作列中,单击“切换操作系统”。 进行切换操作系统的相关设置。 勾选“立即关机”。切换操作系统前请先将云服务器关机,或根据页面提示勾选“立即关机”。 选择切换的镜像类型、操作系统和版本。 设置密码。 如果使用公共镜像切换操作系统,您可以在切换操作系统时设置密码,也可以切换后设置密码。 如果使用私有镜像切换操作系统,您可以在切换操作系统时设置密码,或者使用镜像密码。镜像密码指所创建镜像的云服务器的密码。 图1 切换操作系统 单击“确定”。 如果提示系统盘容量不足,可能是由于系统盘容量小于您选择的待切换镜像的大小。此时,您需要先扩容系统盘,再执行切换操作。 扩容系统盘的操作指导,请参见“扩容云硬盘”章节。 在“确认切换操作系统”页面,确认切换的操作系统规格无误后,阅读并勾选声明,单击“确定”。 提交切换操作系统的申请后,云服务器的状态变为“关机(操作系统切换中)”,当状态再次变为“运行中”,表示切换结束。
  • 约束与限制 通常使用市场镜像创建的“包年/包月”云服务器不支持切换操作系统。仅部分云商店Windows操作系统不同版本之间互相切换。 “包年/包月”方式购买的云耀云服务器切换操作系统时,支持如下场景: 支持Linux操作系统之间互相切换。 支持Linux操作系统与部分云商店Windows操作系统互相切换。 支持部分云商店Windows操作系统不同版本之间互相切换。 使用私有镜像切换操作时,仅支持使用系统盘镜像或整机镜像。 云硬盘的配额需大于0。 不支持BIOS启动方式与UEFI启动方式的操作系统互相切换。
  • 切换须知 切换操作系统后,云服务器将不再保留原操作系统,并删除原有系统盘。 切换操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。 切换操作系统后,您的业务运行环境需要在新的系统中重新部署。 切换操作系统成功后云服务器会自动开机。 切换操作系统后不支持更换系统盘的云硬盘类型。 切换操作系统后云服务器IP地址和MAC地址不发生改变。 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 切换操作预计需等待10~20分钟完成切换操作系统。切换操作系统过程中,云服务器会显示任务状态为“切换操作系统中”。 Windows与Linux操作系统之间互相切换时: Windows系统更换为Linux系统:请安装读写Windows系统的NTFS分区工具,例如NTFS-3G等。 Linux系统更换为Windows系统:请安装可以识别ext3、ext4等分区的识别软件,例如Ext2Read、Ext2Fsd等。 云平台不推荐您将Linux系统更换为Windows系统,当Linux系统中存在LVM分区时,切换为Windows系统后可能会导致LVM逻辑分区无法识别。
  • Android设备上登录Linux云服务器 如果您使用Android设备,请确保已经安装了JuiceSSH。本示例中使用CentOS 7.6操作系统,通过用户名和密码进行认证。 启动JuiceSSH,单击“连接”。 图5 启动JuiceSSH 在“连接”页面单击图标。 图6 连接 在“新建连接”页面上,添加基本设置和高级设置的信息并保存。需要添加的信息如下: 昵称:指定登录会话的名称,如本例中,设置为“linux_test”。 类型:使用默认值“SSH”。 地址:输入需要登录的Linux实例的弹性公网IP地址。 按以下步骤设置认证: 单击“认证”,在下拉列表里单击“新建”。 在“新建认证”页面上,添加如下信息后,单击图标。 昵称:可选项,您可以根据需要设置一个身份名称,方便后续管理。如本示例中,设置为“linux_test”。 用户名:输入用户名“root”。 密码:单击“设置(可选)”后,输入实例的登录密码,单击“确定”。 图7 新建认证 端口:输入端口号“22”。 图8 端口号 在“连接”页面单击创建好的连接。 图9 单击连接 确认提示信息后,单击“接受”。 图10 确认提示信息 (可选)第一次连接时,JuiceSSH会提示您如何设置字体大小,如何弹出键盘等。确认信息后,单击“好的,我知道了!”。 图11 教程 至此,您已经成功登录Linux实例。 图12 登录Linux实例
  • IOS设备上登录Linux云服务器 如果您使用iOS设备,请确保已经安装了SSH客户端工具,以Termius为例。本示例中使用CentOS 7.6操作系统,使用用户名和密码进行认证。 启动Termius,单击New Host。 图1 New Host 在SSH页面上,输入连接信息后,单击 Save。需要输入的连接信息包括: Alias:指定Host名称,如本例中,设置为ecs01。 Hostname:输入需要连接的 Linux 实例的公网IP地址。 Use SSH:打开SSH登录配置。 Host:输入需要连接的Linux实例的公网IP地址。 Port:输入端口号22。 用户名:输入用户名root。 密码:输入实例登录密码。 图2 输入连接信息 单击右上角的“Save”,保存登录信息,在Hosts页面,单击连接的名称远程连接服务器。 图3 保存登录信息 当出现如图4所示页面时,您已经成功地连接了Linux云服务器。 图4 已连接
  • 本地使用Windows操作系统 如果本地主机为Windows操作系统,可以按照下面方式登录云服务器。 以下示例演示了SSH密码方式连接Linux实例的操作步骤。 图1 SSH密码方式连接Linux实例 下面步骤以PuTTY为例。 在以下路径中下载PuTTY和PuTTYgen。 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 运行PuTTY。 单击“Session”。 Host Name (or IP address):输入云服务器的弹性公网IP。 Port:输入 22。 Connection Type:选择 SSH。 Saved Sessions:任务名称,在下一次使用putty时就可以单击保存的任务名称,即可打开远程连接。 图2 单击“Session” 单击“Window”,在“Translation”下的“Received data assumed to be in which character set:”选择“UTF-8”。 单击“Open”。 如果首次登录云服务器,PuTTY会显示安全警告对话框,询问是否接受服务器的安全证书。单击“是”将证书保存到本地注册表中。 建立到云服务器的SSH连接后,根据提示输入用户名和密码登录云服务器。 如果是公共镜像(包括CoreOS),首次登录时,登录用户名、密码如下: 用户名:root 密码: 购买云服务器 时,您设置的密码
  • LakeFormation的 IAM 权限列表 表3列举了LakeFormation的所有IAM权限。 表3 LakeFormation的IAM权限列表 操作类型 操作项 描述 只读 lakeformation:access:describe 查询接入客户端。 lakeformation:agency:describe 查询委托。 lakeformation:catalog:describe 查询Catalog元数据。 lakeformation:configuration:describe 查询配置。 lakeformation:credential:describe 查询认证信息。 lakeformation:database:describe 查询数据库元数据。 lakeformation:file:describe 查询文件。 lakeformation:function:describe 查询函数元数据。 lakeformation:group:describe 查询用户组以及关联角色关系。 lakeformation:instance:describe 查询实例。 lakeformation:instance:listAuthorizedLocation 查询已授权给LakeFormation服务的OBS路径。 lakeformation:instanceJob:describe 查询实例级任务。 lakeformation:job:describe 查询任务。 lakeformation:metadataEvent:describe 查询元数据事件。 lakeformation:obs:describe 查询OBS桶列表。 lakeformation:part:describe 查询分区。 lakeformation:policy:describe 查询权限策略。 lakeformation:policy:export 批量查询权限策略。 lakeformation:role:describe 查询角色。 lakeformation:table:describe 查询表元数据。 lakeformation:tableFile:describe 查询文件。 lakeformation:tableFileGroup:describe 查询表文件组元数据。 lakeformation:tag:describe 查询资源标签。 lakeformation:user:describe 查询用户以及关联角色关系。 写 lakeformation:access:create 创建接入客户端。 lakeformation:access:delete 删除接入客户端。 lakeformation:agency:create 创建委托。 lakeformation:agency:drop 删除委托。 lakeformation:catalog:alter 修改Catalog元数据。 lakeformation:catalog:create 创建Catalog元数据。 lakeformation:catalog:drop 删除Catalog元数据。 lakeformation:database:alter 修改数据库元数据。 lakeformation:database:create 创建数据库元数据。 lakeformation:database:drop 删除数据库元数据。 lakeformation:dataset:create 创建数据集元数据。 lakeformation:file:create 创建文件。 lakeformation:file:drop 删除文件。 lakeformation:file:alter 修改文件。 lakeformation:function:alter 修改函数元数据。 lakeformation:function:create 创建函数元数据 lakeformation:function:drop 删除函数元数据。 lakeformation:group:alter 修改用户组以及关联角色关系。 lakeformation:instance:access 申请接入服务。 lakeformation:instance:alter 修改实例。 lakeformation:instance:create 创建实例。 lakeformation:instance:drop 删除实例。 lakeformation:instanceJob:alter 修改任务。 lakeformation:instanceJob:create 创建任务。 lakeformation:instanceJob:drop 删除任务。 lakeformation:instanceJob:exec 执行实例级任务。 lakeformation:instance:createSubscriber 创建元数据事件订阅者。 lakeformation:instance:deleteSubscriber 删除元数据事件订阅者。 lakeformation:job:alter 修改任务。 lakeformation:job:create 创建任务。 lakeformation:job:drop 删除任务。 lakeformation:job:exec 执行任务。 lakeformation:model:create 创建模型元数据。 lakeformation:metadata:restore 恢复元数据。 lakeformation:part:alter 修改分区。 lakeformation:part:drop 删除分区。 lakeformation:part:create 创建分区。 lakeformation:policy:create 创建权限策略。 lakeformation:policy:delegate 将权限策略委托给其他授权主体。 lakeformation:policy:drop 删除权限策略。 lakeformation:role:alter 修改角色以及关联用户组关系。 lakeformation:role:create 创建角色。 lakeformation:role:drop 删除角色。 lakeformation:table:alter 修改表元数据。 lakeformation:table:create 创建表元数据。 lakeformation:table:drop 删除表元数据。 lakeformation:tableFile:alter 修改表文件。 lakeformation:tableFile:create 创建表文件。 lakeformation:tableFile:drop 删除表文件。 lakeformation:tableFileGroup:alter 修改表文件组元数据。 lakeformation:tableFileGroup:create 创建表文件组元数据。 lakeformation:tableFileGroup:drop 删除表文件组元数据。 lakeformation:transaction:operate 操作事务。 lakeformation:user:alter 修改用户以及关联角色关系。 权限管理 lakeformation:accessService:grant 授权接入服务。 lakeformation:accessTenant:grant 授权接入租户。 lakeformation:accessAgency:describe 查询接入委托信息。 lakeformation:accessService:describe 查看接入服务。 lakeformation:agreement:describe 查询服务协议授权。 lakeformation:agreement:cancel 取消服务协议授权。 lakeformation:agreement:grant 授权服务协议授权。 lakeformation:instance:authorizeLocation 授权将OBS路径授权给LakeFormation服务。 lakeformation:instance:cancelAuthorizeLocation 取消授权OBS路径。
  • IAM概述 如果您需要对华为云上购买的LakeFormation资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。 通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制其对华为云资源的访问范围。例如您希望其拥有LakeFormation的使用权限,但是不希望其拥有删除数据库等高危操作的权限,那么您可以使用IAM创建用户,通过授予仅能查询LakeFormation实例,但是不允许删除的权限,控制其对云服务资源的使用范围。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过对应权限管理操作。 IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见IAM产品介绍。
  • IAM系统策略 表1介绍了LakeFormation的默认系统策略。 表1 LakeFormation系统策略 系统角色/策略名称 描述 类别 依赖关系 LakeFormation FullAccess LakeFormation管理员权限,拥有该权限的用户可以操作并使用所有LakeFormation服务功能。 系统策略 IAM AgencyFullAccess OBS OperateAccess VPC FullAccess VPCEndpoint FullAccess LakeFormation ReadOnlyAccess LakeFormation只读权限,拥有该权限的用户可以执行LakeFormation所有查询类功能。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC ReadOnlyAccess VPCEndpoint ReadOnlyAccess LakeFormation CommonOperations LakeFormation基础权限,包含LakeFormation服务协议查看/授权/取消,以及OBS、TMS等周边依赖服务的基础权限集合。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC FullAccess VPCEndpoint FullAccess 表2介绍了lakeFormation常用操作与系统权限的授权关系,您可以参考该表选择合适的系统权限。 表2 LakeFormation常用操作与系统策略的授权关系 操作 LakeFormation FullAccess LakeFormation CommonOperations LakeFormation ReadOnlyAccess 查询LakeFormation实例 √ √ √ 创建LakeFormation实例 √ x x 变更LakeFormation实例 √ x x 删除LakeFormation实例 √ x x 恢复LakeFormation实例 √ x x 查询租户所有标签 √ √ √ 更新LakeFormation实例的标签 √ √ x 创建元数据迁移/发现任务 √ √ x 修改元数据迁移/发现任务 √ √ x 删除元数据迁移/发现任务 √ √ x 查询元数据迁移/发现任务 √ √ √ 查询元数据迁移/发现任务日志 √ √ x 运行/停止元数据迁移/发现任务 √ √ x 同意用户协议 √ √ √ 查询用户协议 √ √ √ 删除用户协议 √ √ √ 授权LakeFormation服务创建委托 √ x x 查询LakeFormation服务创建的委托 √ √ √ 删除LakeFormation服务创建的委托 √ x x 授权资源 √ x x 查询授权资源 √ √ √ 取消授权资源 √ x x 查询OBS桶列表 √ √ √ 查询OBS桶对象列表 √ √ √ 创建服务接入客户端 √ √ x 查询服务接入客户端 √ √ √ 删除服务接入客户端 √ √ x 订阅元数据事件 √ √ x 取消订阅元数据事件 √ √ x 查询元数据事件 √ √ √ 查询Catalog元数据 √ √ √ 创建Catalog元数据 √ √ x 修改Catalog元数据 √ √ x 删除Catalog元数据 √ √ x 查询Database元数据 √ √ √ 创建Database元数据 √ √ x 修改Database元数据 √ √ x 删除Database元数据 √ √ x 查询Table元数据 √ √ √ 创建Table元数据 √ √ x 修改Table元数据 √ √ x 删除Table元数据 √ √ x 查询Partition元数据 √ √ √ 创建Partition元数据 √ √ x 修改Partition元数据 √ √ x 删除Partition元数据 √ √ x 查询列统计信息 √ √ √ 创建列统计信息 √ √ x 修改列统计信息 √ √ x 删除列统计信息 √ √ x 查询Function元数据 √ √ √ 创建Function元数据 √ √ x 修改Function元数据 √ √ x 删除Function元数据 √ √ x 查询Model元数据 √ √ √ 创建Model元数据 √ √ x 修改Model元数据 √ √ x 删除Model元数据 √ √ x 查询ModelFile元数据 √ √ √ 创建ModelFile元数据 √ √ x 修改ModelFile元数据 √ √ x 删除ModelFile元数据 √ √ x 查询dataset元数据 √ √ √ 创建dataset元数据 √ √ x 修改dataset元数据 √ √ x 删除dataset元数据 √ √ x 查询元数据数量 √ √ √ 查询授权主体 √ √ √ 创建角色 √ √ x 删除角色 √ √ x 修改角色 √ √ x 查询角色 √ √ √ 将用户/用户组加入角色 √ √ x 将用户/用户组移除角色 √ √ x 更新角色中的用户/用户组 √ √ x 将元数据权限授权给授权主体 √ √ x 取消授权元数据权限给授权主体 √ √ x 查询授权信息 √ √ √ 获取访问数据的STSToken √ √ x LakeFormation系统策略所包含的详细内容如下: LakeFormation FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:*", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] } LakeFormation CommonOperations策略 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:access:create", "lakeformation:access:delete", "lakeformation:accessAgency:describe", "lakeformation:accessService:describe", "lakeformation:accessService:grant", "lakeformation:accessTenant:grant", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "lakeformation:catalog:alter", "lakeformation:catalog:create", "lakeformation:catalog:drop", "lakeformation:database:alter", "lakeformation:database:create", "lakeformation:database:drop", "lakeformation:dataset:alter", "lakeformation:dataset:alterFile", "lakeformation:dataset:alterFileGroup", "lakeformation:dataset:create", "lakeformation:dataset:createFile", "lakeformation:dataset:createFileGroup", "lakeformation:dataset:drop", "lakeformation:dataset:dropFile", "lakeformation:dataset:dropFileGroup", "lakeformation:function:alter", "lakeformation:function:create", "lakeformation:function:drop", "lakeformation:group:alter", "lakeformation:instance:access", "lakeformation:instance:alter", "lakeformation:instanceJob:alter", "lakeformation:instanceJob:create", "lakeformation:instanceJob:drop", "lakeformation:instanceJob:exec", "lakeformation:job:alter", "lakeformation:job:create", "lakeformation:job:drop", "lakeformation:job:exec", "lakeformation:model:alter", "lakeformation:model:alterFile", "lakeformation:model:create", "lakeformation:model:createFile", "lakeformation:model:drop", "lakeformation:model:dropFile", "lakeformation:policy:create", "lakeformation:policy:drop", "lakeformation:role:alter", "lakeformation:role:create", "lakeformation:role:drop", "lakeformation:table:alter", "lakeformation:table:create", "lakeformation:table:drop", "lakeformation:transaction:operate", "lakeformation:user:alter", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ] } ] } LakeFormation ReadOnlyAccess策略 { "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] }
  • IAM权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 LakeFormation授权时,在全局级服务中设置权限,不需要切换区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对LakeFormation服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于管理员创建IAM用户接口,您可以从接口的请求部分看到所需的请求参数及参数说明,将消息体加入后的请求如下所示,其中加粗的字段需要根据实际值填写。 accountid为IAM用户所属的账号ID。 username为要创建的IAM用户名。 email为IAM用户的邮箱。 **********为IAM用户的登录密码。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** { "user": { "domain_id": "accountid", "name": "username", "password": "**********", "email": "email", "description": "IAM User Description" } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“X-Subject-Token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在管理员创建IAM用户的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3.0/OS-USER/users
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于管理员创建IAM用户接口,使用AK/SK方式认证时,添加消息头后的请求如下所示。 1 2 3 4 POST https://iam.cn-north-1.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要创建IAM用户,由于IAM为全局服务,则使用任一区域的Endpoint,比如“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在管理员创建IAM用户的URI部分找到resource-path(/v3.0/OS-USER/users),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 响应示例 状态码: 200 Demo Information { "result_code" : "LIVE.100000000", "result_msg" : "SUC CES S", "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test" } 状态码: 400 Error response { "result_code" : "LIVE.103011019", "result_msg" : "The resource to access is not exists", "domain" : "push.testott.hls.com", "app_name" : "test", "id" : "test-abc" }
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/ott/channels/input { "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test", "input" : { "input_protocol" : "RTMP_PUSH", "sources" : [ { "width" : 100, "bitrate_for3u8" : false, "enable_snapshot" : false, "bitrate" : 1024, "passphrase" : "", "url" : "rtmp://192.168.8.158/ott/adtestdrm?vhost=pull.testott.hls.com", "height" : 100 } ] } }
共100000条