请先尝试创建标记,然后再尝试将它们绑定到资源或在网络防火墙政策中使用这些标记。如需控制网络访问,标记仅在绑定到虚拟机实例时有效。
如需查看概览,请参阅防火墙标记。
授予对标记的权限
通过 tagAdmin
角色,您可以创建新标记或者更新和删除现有标记。组织管理员可以在组织级层授予此角色,而项目所有者可以在项目级层授予此角色。
gcloud
向用户授予
tagAdmin
角色。gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagAdmin
请替换以下内容:
ORGANIZATION_ID
:您的组织的 IDEMAIL_ADDRESS
:用户的电子邮件地址。
向用户授予
tagUser
角色。gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
请替换以下内容:
ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键EMAIL_ADDRESS
:用户的电子邮件地址。
用于管理标记的自定义角色
tagAdmin
角色可让您执行以下操作:创建新标记、更新和删除现有标记。如果您需要其中一些功能,您可以创建具有相关权限的自定义 IAM 角色,然后将新角色授予目标用户。如需查看相关权限的列表,请参阅 IAM 权限。
防火墙政策中使用的标记必须指定 GCE_FIREWALL 用途。虽然需要使用 GCE_FIREWALL 用途以在网络功能中使用标记,但您可以将该标记用于其他操作。
网络防火墙政策中使用的标记的范围必须仅限于单个 VPC。
创建标记键和标记值
在将标记关联到网络防火墙政策之前,您必须先创建标记键和标记值。
gcloud
获取所需权限后,创建标记键。
gcloud resource-manager tags keys create TAG_KEY \ --parent organizations/ORGANIZATION_ID \ --purpose GCE_FIREWALL \ --purpose-data network=PROJECT_ID/NETWORK
请替换以下内容:
TAG_KEY
:标记键ORGANIZATION_ID
:您的组织的 IDPROJECT_ID
:您的项目 IDNETWORK
:网络的名称
将相关标记值添加到标记键。多次运行该命令以添加多个值。 确保添加到标记键的每个标记值都是唯一的。
gcloud resource-manager tags values create TAG_VALUE \ --parent ORGANIZATION_ID/TAG_KEY
请替换以下内容:
ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键TAG_VALUE
:要分配给标记键的值
创建网络防火墙政策
创建标记后,您可以在网络防火墙政策中使用该标记。如果您还没有现成的网络防火墙政策,请创建新政策。
gcloud
创建网络防火墙政策。
gcloud compute network-firewall-policies create \ FIREWALL_POLICY_NAME \ --global
替换以下内容:
FIREWALL_POLICY_NAME
:新网络全局网络防火墙政策的名称
创建具有标记的防火墙政策规则
创建标记和网络防火墙政策后,您可以创建具有特定来源标记值和目标标记值的网络防火墙政策规则,以在具有来源标记和目标标记的虚拟机之间允许所需流量。
gcloud
创建具有特定来源和目标键及值的网络防火墙政策规则。
gcloud compute network-firewall-policies rules create 1 \ --firewall-policy FIREWALL_POLICY_NAME \ --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --direction DIRECTION \ --action ACTION \ --layer4-configs tcp:PORT \ --global-firewall-policy
请替换以下内容:
FIREWALL_POLICY_NAME
:新网络全局网络防火墙政策的名称ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键TAG_VALUE
:要分配给标记键的值DIRECTION
:指明规则是ingress
规则还是egress
规则ACTION
:以下操作之一:allow
:允许与规则匹配的连接deny
:拒绝与规则匹配的连接goto_next
:将连接评估传递到层次结构中的下一个级别(文件夹或网络)
PORT
:用于访问资源的端口号
将标记绑定到虚拟机实例
标记管理员可以将标记绑定到各个虚拟机实例。
将标记绑定到资源会将标记值附加到资源。虽然一个标记可以有给定键的多个值,但您只能将每个标记键的一个值绑定到资源。例如,您不能同时将 web-backend 和 web-backend 绑定到同一虚拟机实例,因为它们属于同一标记键 web-backend。
例如,开发者 Sasha 想要设置一个由 API 后端和支持性数据库存储区组成的应用。为了允许后端和数据库服务器之间的流量,Sasha 需要将 web-backend 和 web-backend 标记值绑定到不同的虚拟机。
gcloud
授予
tagUser
角色。gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
请替换以下内容:
ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键EMAIL_ADDRESS
:用户的电子邮件地址。
在此命令中,用户被授予使用相应键的所有当前和未来值。您还可以选择性地仅授予对标记的特定值的访问权限,如下所示:
gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
请替换以下内容:
ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键TAG_VALUE
:要分配给标记键的值EMAIL_ADDRESS
:用户的电子邮件地址。
授予您想要将标记绑定到的资源的
tagUser
角色。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
替换以下内容:
PROJECT_ID
:您的项目的 IDEMAIL_ADDRESS
:用户的电子邮件地址。
获取标记键值对的
PARENT
值:定义项目和可用区的完整名称前缀:
FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
获取虚拟机 ID:
VM_ID=$(gcloud compute instances describe VM_NAME --zone ZONE--format='value(id)')
串联
FULL_NAME_PREFIX
和VM_ID
的值:PARENT="$FULL_NAME_PREFIX$VM_ID" echo $PARENT
请替换以下内容:
PROJECT_NUMBER
:您项目的编号ZONE
:虚拟机所在的可用区VM_NAME
:您正在使用的虚拟机的名称
列出绑定。
gcloud resource-manager tags bindings list \ --location LOCATION_NAME \ --parent PARENT
替换以下内容:
LOCATION_NAME
:标记所属的位置;此处为虚拟机实例所在的可用区PARENT
:附加到绑定的完整资源名称(如上一个命令中派生)
删除和创建绑定。
gcloud resource-manager tags bindings delete \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT gcloud resource-manager tags bindings create \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT
请替换以下内容:
LOCATION_NAME
:标记所属的位置ORGANIZATION_ID
:您的组织的 IDTAG_KEY
:标记键TAG_VALUE
:标记键的值PARENT
:要附加到标记值的资源的完整资源名称
在对等互连网络中使用标记
您可以在网络对等互连中使用标记。按指定顺序执行以下任务,以在两个对等互连网络中使用标记。
- 向两个用户分配
tagAdmin
角色:每个对等网络中一个用户。组织管理员在组织级层向用户授予tagAdmin
角色,项目所有者可以在项目级层授予该角色。 - 让第一个网络用户在第一个网络中创建标记键和标记值。
- 让第二个网络用户在第二个网络中创建标记键和标记值。
- 向这两个用户授予必需的权限来绑定这两个网络中的标记。
- 将标记绑定到第一个网络中的用户和资源。
- 将标记绑定到第二个网络中的用户和资源。
- 对于第二个网络中的用户,授予第一个网络中的
tagUser
权限。 - 对于第一个网络中的用户,授予第二个网络中的
tagUser
权限。 - 在第一个网络中创建防火墙政策规则。
- 在第二个网络中创建防火墙政策规则。
后续步骤
- 如需详细了解如何创建标记,请参阅创建和管理标记。