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/ VPC Endpoint/ Referencia de la API/ API/ Servicios de punto de conexión de VPC/ Adición o eliminación por lotes de registros de lista blanca de un servicio de punto de conexión de VPC
Actualización más reciente 2024-09-14 GMT+08:00

Adición o eliminación por lotes de registros de lista blanca de un servicio de punto de conexión de VPC

Función

Esta API se utiliza para agregar o eliminar registros de listas blancas de un servicio de punto de conexión de VPC por lotes. Nota: Su cuenta está en la lista blanca de su propio servicio de punto de conexión de VPC por defecto.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

POST /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/permissions/action

Tabla 1 Parámetros de enrutamiento

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Mínimo: 1

Máximo: 64

vpc_endpoint_service_id

String

Especifica el ID del servicio de punto de conexión de VPC.

Mínimo: 1

Máximo: 64

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Especifica el token de usuario. Se puede obtener invocando a la API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario.

Content-Type

No

String

Especifica el tipo MIME del cuerpo de la solicitud. Se recomienda el valor application/json. Para las API utilizadas para cargar objetos o imágenes, el tipo MIME varía en función del tipo de flujo.

Valor predeterminado: application/json

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

permissions

Array of strings

Especifica los permisos. El formato de permiso es iam:domain::domain_id u organizations:orgPath::org_path.

  • iam:domain:: y organizations:orgPath:: son formatos fijos.

  • domain_id indica el ID de la cuenta en la que se pueden crear puntos de conexión de VPC para acceder al servicio de punto de conexión de VPC. org_path indica el enrutamiento de la organización bajo la cual las cuentas pueden crear punto de conexión de VPC para acceder al servicio de punto de conexión de VPC. domain_id puede contener un máximo de 64 caracteres, solo incluidos letras y dígitos. org_path puede contener un máximo de 1,024 caracteres, solo incluidos letras, dígitos, barras diagonales (/) y guiones (-). También puede escribir un asterisco para domain_id u org_path que indica que este servicio de punto de conexión de VPC permite accesos desde cualquier punto de conexión de VPC. Ejemplo: iam:domain::6e9dfd51d1124e8d8498dce894923a0dd u organizations:orgPath::o-3j59d1231uprgk9yuvlidra7zbzfi578/r-rldbu1vmxdw5ahdkknxnvd5rgag77m2z/ou-7tuddd8nh99rebxltawsm6qct5z7rklv/*

Mínimo: 1

Máximo: 1024

Longitud del arreglo: 1 - 1000

permission_type

No

String

Especifica el tipo de lista blanca del servicio de punto de conexión de VPC.

  • domainId: indica el ID de la cuenta que puede crear puntos de conexión de VPC para conectarse al servicio de punto de conexión de VPC.

  • orgPath: indica el enrutamiento de organización incluida en la lista blanca bajo la cual las cuentas pueden crear puntos de conexión de VPC para conectarse al servicio de punto de conexión de VPC.

action

String

Especifica la acción que se va a realizar, que puede agregarse o quitarse.

Mínimo: 1

Máximo: 32

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

permissions

Array of strings

Especifica los permisos. El formato de permiso es iam:domain::domain_id u organizations:orgPath::org_path.

  • iam:domain:: y organizations:orgPath:: son formatos fijos.

  • domain_id indica el ID de la cuenta en la que se pueden crear puntos de conexión de VPC para acceder al servicio de punto de conexión de VPC. org_path indica el enrutamiento de la organización bajo la cual las cuentas pueden crear punto de conexión de VPC para acceder al servicio de punto de conexión de VPC. domain_id solo puede contener letras y dígitos. org_path solo puede contener letras, dígitos, barras diagonales (/) y guiones (-). También puede escribir un asterisco para domain_id u org_path que indica que este servicio de punto de conexión de VPC permite accesos desde cualquier punto de conexión de VPC. Ejemplo: iam:domain::6e9dfd51d1124e8d8498dce894923a0dd u organizations:orgPath::o-3j59d1231uprgk9yuvlidra7zbzfi578/r-rldbu1vmxdw5ahdkknxnvd5rgag77m2z/ou-7tuddd8nh99rebxltawsm6qct5z7rklv/*

Mínimo: 0

Máximo: 32

permission_type

String

Especifica el tipo de lista blanca del servicio de punto de conexión de VPC.

  • domainId: indica el ID de la cuenta que puede crear puntos de conexión de VPC para conectarse al servicio de punto de conexión de VPC.

  • orgPath: indica el enrutamiento de organización incluida en la lista blanca bajo la cual las cuentas pueden crear puntos de conexión de VPC para conectarse al servicio de punto de conexión de VPC.

Ejemplo de solicitudes

  • Adición de una lista blanca para un servicio de punto de conexión de VPC

    POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services/4189d3c2-8882-4871-a3c2- d380272eed88/permissions/action
    
    {
      "permissions" : [ "iam:domain::fc973eea581490997e82ea11a1d0101" ],
      "action" : "add"
    }
  • Extracción de un servicio de punto de conexión de VPC de la lista blanca

    POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services/4189d3c2-8882-4871-a3c2- d380272eed88/permissions/action
    
    {
      "permissions" : [ "iam:domain::fc973eea581490997e82ea11a1d0101" ],
      "action" : "remove"
    }

Ejemplo de respuestas

Código de estado: 200

El servidor procesó correctamente la solicitud.

{
  "permissions" : [ "iam:domain::5fc973eea581490997e82ea11a1d0101", "iam:domain::5fc973eea581490997e82ea11a1d0102" ]
}

Ejemplo de código del SDK

El ejemplo de código del SDK es el siguiente.

Java

  • Adición de una lista blanca para un servicio de punto de conexión de VPC

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.vpcep.v1.region.VpcepRegion;
    import com.huaweicloud.sdk.vpcep.v1.*;
    import com.huaweicloud.sdk.vpcep.v1.model.*;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class AddOrRemoveServicePermissionsSolution {
    
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
    
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            VpcepClient client = VpcepClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(VpcepRegion.valueOf("cn-north-4"))
                    .build();
            AddOrRemoveServicePermissionsRequest request = new AddOrRemoveServicePermissionsRequest();
            AddOrRemoveServicePermissionsRequestBody body = new AddOrRemoveServicePermissionsRequestBody();
            List<String> listbodyPermissions = new ArrayList<>();
            listbodyPermissions.add("iam:domain::fc973eea581490997e82ea11a1d0101");
            body.withAction(AddOrRemoveServicePermissionsRequestBody.ActionEnum.fromValue("add"));
            body.withPermissions(listbodyPermissions);
            request.withBody(body);
            try {
                AddOrRemoveServicePermissionsResponse response = client.addOrRemoveServicePermissions(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    
  • Extracción de un servicio de punto de conexión de VPC de la lista blanca

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.vpcep.v1.region.VpcepRegion;
    import com.huaweicloud.sdk.vpcep.v1.*;
    import com.huaweicloud.sdk.vpcep.v1.model.*;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class AddOrRemoveServicePermissionsSolution {
    
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
    
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            VpcepClient client = VpcepClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(VpcepRegion.valueOf("cn-north-4"))
                    .build();
            AddOrRemoveServicePermissionsRequest request = new AddOrRemoveServicePermissionsRequest();
            AddOrRemoveServicePermissionsRequestBody body = new AddOrRemoveServicePermissionsRequestBody();
            List<String> listbodyPermissions = new ArrayList<>();
            listbodyPermissions.add("iam:domain::fc973eea581490997e82ea11a1d0101");
            body.withAction(AddOrRemoveServicePermissionsRequestBody.ActionEnum.fromValue("remove"));
            body.withPermissions(listbodyPermissions);
            request.withBody(body);
            try {
                AddOrRemoveServicePermissionsResponse response = client.addOrRemoveServicePermissions(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    

Python

  • Adición de una lista blanca para un servicio de punto de conexión de VPC

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkvpcep.v1.region.vpcep_region import VpcepRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkvpcep.v1 import *
    
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.getenv("CLOUD_SDK_AK")
        sk = os.getenv("CLOUD_SDK_SK")
    
        credentials = BasicCredentials(ak, sk) \
    
        client = VpcepClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(VpcepRegion.value_of("cn-north-4")) \
            .build()
    
        try:
            request = AddOrRemoveServicePermissionsRequest()
            listPermissionsbody = [
                "iam:domain::fc973eea581490997e82ea11a1d0101"
            ]
            request.body = AddOrRemoveServicePermissionsRequestBody(
                action="add",
                permissions=listPermissionsbody
            )
            response = client.add_or_remove_service_permissions(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    
  • Extracción de un servicio de punto de conexión de VPC de la lista blanca

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkvpcep.v1.region.vpcep_region import VpcepRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkvpcep.v1 import *
    
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.getenv("CLOUD_SDK_AK")
        sk = os.getenv("CLOUD_SDK_SK")
    
        credentials = BasicCredentials(ak, sk) \
    
        client = VpcepClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(VpcepRegion.value_of("cn-north-4")) \
            .build()
    
        try:
            request = AddOrRemoveServicePermissionsRequest()
            listPermissionsbody = [
                "iam:domain::fc973eea581490997e82ea11a1d0101"
            ]
            request.body = AddOrRemoveServicePermissionsRequestBody(
                action="remove",
                permissions=listPermissionsbody
            )
            response = client.add_or_remove_service_permissions(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    

Go

  • Adición de una lista blanca para un servicio de punto de conexión de VPC

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        vpcep "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/region"
    )
    
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := vpcep.NewVpcepClient(
            vpcep.VpcepClientBuilder().
                WithRegion(region.ValueOf("cn-north-4")).
                WithCredential(auth).
                Build())
    
        request := &model.AddOrRemoveServicePermissionsRequest{}
    	var listPermissionsbody = []string{
            "iam:domain::fc973eea581490997e82ea11a1d0101",
        }
    	request.Body = &model.AddOrRemoveServicePermissionsRequestBody{
    		Action: model.GetAddOrRemoveServicePermissionsRequestBodyActionEnum().ADD,
    		Permissions: listPermissionsbody,
    	}
    	response, err := client.AddOrRemoveServicePermissions(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    
  • Extracción de un servicio de punto de conexión de VPC de la lista blanca

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        vpcep "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/region"
    )
    
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := vpcep.NewVpcepClient(
            vpcep.VpcepClientBuilder().
                WithRegion(region.ValueOf("cn-north-4")).
                WithCredential(auth).
                Build())
    
        request := &model.AddOrRemoveServicePermissionsRequest{}
    	var listPermissionsbody = []string{
            "iam:domain::fc973eea581490997e82ea11a1d0101",
        }
    	request.Body = &model.AddOrRemoveServicePermissionsRequestBody{
    		Action: model.GetAddOrRemoveServicePermissionsRequestBodyActionEnum().REMOVE,
    		Permissions: listPermissionsbody,
    	}
    	response, err := client.AddOrRemoveServicePermissions(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    

Otro más

Para obtener un ejemplo de código del SDK de más lenguajes de programación, consulta la ficha Ejemplo de código en API Explorer. El ejemplo de código del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

200

El servidor procesó correctamente la solicitud.

Códigos de error

Consulte Códigos de error.