8.2. 使用安全组和密钥对保护实例访问


安全组是一组 IP 过滤规则,它们控制网络和协议对实例的访问,如 ICMP,允许您 ping 实例,以及 SSH 允许您连接实例。

所有项目都有一个名为 default 的默认安全组,当您没有为实例指定安全组时使用。默认情况下,默认安全组允许所有传出流量,并拒绝来自同一安全组中实例以外的任何来源的所有传入流量。您可以在实例创建过程中将一个或多个安全组应用到实例。要将安全组应用到正在运行的实例,请将该安全组应用到与实例连接的端口。

有关安全组的更多信息,请参阅管理网络资源 中的 配置安全组

注意

要在云上执行 openstack 客户端命令,您必须指定 clouds.yaml 文件中详述的云名称。您可以使用以下方法之一指定云的名称:

  • 在每个命令中使用 --os-cloud 选项,例如:

    $ openstack flavor list --os-cloud <cloud_name>

    如果您访问多个云,则使用此选项。

  • bashrc 文件中为云名称创建一个环境变量:

    `export OS_CLOUD=<cloud_name>`
注意

您无法在实例创建过程中将基于角色的访问控制 (RBAC) 共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,您必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅 创建和管理实例 中的 向端口添加安全组

密钥对是 SSH 或 x509 凭据,在实例启动时注入到实例中,以启用对实例的远程访问。您可以在 RHOSP 中创建新密钥对,或导入现有的密钥对。每个用户应至少有一个密钥对。密钥对可用于多个实例。

注意

您无法在项目中的用户间共享密钥对,因为每个密钥对属于创建或导入密钥对的单独用户,而不是项目。

8.2.1. 将安全组添加到端口

default 安全组应用于没有指定替代安全组的实例。您可以将替代安全组应用到正在运行的实例上的端口。

先决条件

  • 管理员已为您创建一个项目,并为您提供了一个 clouds.yaml 文件来访问云。
  • 已安装 python-openstackclient 软件包。

流程

  1. 确定您要将安全组应用到的实例上的端口:

    $ openstack port list --server myInstancewithSSH
  2. 将安全组应用到端口:

    $ openstack port set --security-group <sec_group> <port>

    将 &lt ;sec_group > 替换为您要应用到正在运行的实例端口的安全组的名称或 ID。您可以根据需要多次使用 --security-group 选项应用多个安全组。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部