Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> Virtual Private Cloud> Referencia de la API> Ejemplos de aplicación> Ejemplo 2: Configuración de un grupo de seguridad para un ECS
Actualización más reciente 2023-02-03 GMT+08:00

Ejemplo 2: Configuración de un grupo de seguridad para un ECS

Escenarios

Esta sección describe cómo configurar un grupo de seguridad para un ECS invocando a las API.

Prerrequisitos

  • Si utiliza un token para la autenticación, debe obtener el token y agregar X-Auth-Token al encabezado de solicitud cuando realice una llamada a la API. Obtenga el token haciendo referencia a Autenticación.

El token obtenido de IAM es válido por solo 24 horas. Si desea utilizar un token para la autenticación, puede almacenarlo en caché para evitar llamadas frecuentes.

Procedimiento

  1. Obtenga la información de NIC basada en el ID de ECS.
    1. Envía a GET https://VPC endpoint/v1/{project_id}/ports?device_id={ecs_id}. El parámetro project_id indica el ID del proyecto.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. Compruebe el mensaje de respuesta.
      • La solicitud se realiza correctamente si se muestra la siguiente respuesta.
        {
        	"ports": [{
        		"id": "02c72193-efec-42fb-853b-c33f2b802467",
        		"name": "",
        		"status": "ACTIVE",
        		"admin_state_up": true,
        		"fixed_ips": [{
        			"subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12",
        			"ip_address": "192.168.0.75"
        		}],
        		"mac_address": "fa:16:3e:47:5f:c1",
        		"network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
        		"tenant_id": "db82c9e1415a464ea68048baa8acc6b8",
        		"project_id": "db82c9e1415a464ea68048baa8acc6b8",
        		"device_id": "ea61f836-b52f-41bf-9d06-685644001d6f",
        		"device_owner": "compute:br-iaas-odin1a",
        		"security_groups": [
        			"e0598d96-9451-4f8a-8de0-b8b4d451d9e7"
        		],
        		"extra_dhcp_opts": [],
        		"allowed_address_pairs": [],
        		"binding:vnic_type": "normal",
        		"binding:vif_details": {
        			"primary_interface": true
        		},
        		"binding:profile": {},
        		"port_security_enabled": true,
        		"created_at": "2020-06-20T08:07:29",
        		"updated_at": "2020-06-20T08:07:29"
        	}]
        }
      • Para obtener más información sobre los códigos de error que se muestran si la solicitud falla, consulte la sección Códigos de error.
  2. Ver información acerca de los grupos de seguridad existentes.
    1. Envía a GET https://VPC endpoint/v1/{project_id}/subnets/security-groups. El parámetro project_id indica el ID del proyecto.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. Compruebe el mensaje de respuesta.
      • La solicitud se realiza correctamente si se muestra la siguiente respuesta. En la respuesta, el id indica el ID del grupo de seguridad.
        {
        	"security_groups": [{
        		"id": "16b6e77a-08fa-42c7-aa8b-106c048884e6",
        		"name": "qq",
        		"description": "qq",
        		"vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85",
        		"enterprise_project_id ": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2",
        		"security_group_rules": [{
        			"direction": "egress",
        			"ethertype": "IPv4",
        			"id": "369e6499-b2cb-4126-972a-97e589692c62",
        			"description": "",
        			"security_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6"
        		}, {
        			"direction": "ingress",
        			"ethertype": "IPv4",
        			"id": "0222556c-6556-40ad-8aac-9fd5d3c06171",
        			"description": "",
        			"remote_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6",
        			"security_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6"
        		}]
        	}, {
        		"id": "9c0f56be-a9ac-438c-8c57-fce62de19419",
        		"name": "default",
        		"description": "qq",
        		"vpc_id": "13551d6b-755d-4757-b956-536f674975c0",
        		"enterprise_project_id ": "0",
        		"security_group_rules": [{
        			"direction": "egress",
        			"ethertype": "IPv4",
        			"id": "95479e0a-e312-4844-b53d-a5e4541b783f",
        			"description": "",
        			"security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"
        		}, {
        			"direction": "ingress",
        			"ethertype": "IPv4",
        			"id": "0c4a2336-b036-4fa2-bc3c-1a291ed4c431",
        			"description": "",
        			"remote_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419",
        			"security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"
        		}]
        	}]
        }
      • Para obtener más información sobre los códigos de error que se muestran si la solicitud falla, consulte la sección Códigos de error.
  3. Agregue el ECS a un grupo de seguridad.
    1. Envía a PUT https://VPC endpoint/v1/{project_id}/ports/{port_id}. El parámetro project_id indica el ID del proyecto.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. Especifique los siguientes parámetros en el cuerpo de la solicitud:
      {
          "port": {
              "security_groups": ["9c0f56be-a9ac-438c-8c57-fce62de19419","16b6e77a-08fa-42c7-aa8b-106c048884e6"]
          }
      }
    4. Compruebe el mensaje de respuesta.
      • La solicitud se realiza correctamente si se muestra la siguiente respuesta. En la respuesta, id indica el ID del puerto.
        {
        	"port": {
        		"id": "02c72193-efec-42fb-853b-c33f2b802467",
        		"name": "",
        		"status": "ACTIVE",
        		"admin_state_up": true,
        		"fixed_ips": [{
        			"subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12",
        			"ip_address": "192.168.0.75"
        		}],
        		"mac_address": "fa:16:3e:47:5f:c1",
        		"network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
        		"tenant_id": "db82c9e1415a464ea68048baa8acc6b8",
        		"project_id": "db82c9e1415a464ea68048baa8acc6b8",
        		"device_id": "ea61f836-b52f-41bf-9d06-685644001d6f",
        		"device_owner": "compute:br-iaas-odin1a",
        		"security_groups": ["9c0f56be-a9ac-438c-8c57-fce62de19419", "16b6e77a-08fa-42c7-aa8b-106c048884e6"],
        		"extra_dhcp_opts": [],
        		"allowed_address_pairs": [{
        			"ip_address": "1.1.1.1/0"
        		}],
        		"binding:vnic_type": "normal",
        		"binding:vif_details": {
        			"primary_interface": true
        		},
        		"binding:profile": {},
        		"port_security_enabled": true,
        		"created_at": "2020-06-20T08:07:29",
        		"updated_at": "2020-06-20T08:07:29"
        	}
        }
      • Para obtener más información sobre los códigos de error que se muestran si la solicitud falla, consulte la sección Códigos de error.