Gestionar políticas de acceso

Puede definir u obtener la política de Gestión de Identidades y Accesos (IAM) o de control de acceso de una o varias pruebas de conectividad. Además, puede ver los permisos que tiene un usuario o una cuenta de servicio para una prueba de conectividad específica.

En este documento se muestran ejemplos de control de acceso que usan la API Network Management. Para seguir estos pasos en la consola Google Cloud o mediante comandos de gcloud, consulta las guías prácticas de gestión de identidades y accesos.

Para obtener información sobre las vinculaciones de políticas y los etags que se indican en los siguientes comandos, consulta la referencia de la API de políticas de gestión de identidades y accesos.

Para obtener información sobre los roles y permisos de gestión de identidades y accesos necesarios para ejecutar pruebas de conectividad, consulta Roles y permisos.

Definir una política de control de acceso

Este procedimiento define la política de control de acceso en el recurso Connectivity Tests especificado.

API

Usa el método networkmanagement.connectivitytests.setIamPolicy para definir la política de control de acceso de un USER, ROLE y TEST_ID.

En el siguiente ejemplo se define una política que vincula el rol de networkmanagement.admin a username@yourcompany.com para mytest-1.

 POST https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:setIamPolicy
   {
     "version": "VERSION",
     "etag": "ETAG",
     "bindings": [{
       "role": "ROLE",
       "members": [
         "PRINCIPAL"
       ]
     }]
   }

Sustituye los siguientes valores:

  • TEST_ID: el ID del objeto Connectivity Tests (prueba) que estás ejecutando
  • VERSION: especifica el formato de la política. Los valores válidos son 0, 1 y 3. Cualquier operación que afecte a las vinculaciones de roles condicionales debe especificar la versión 3.
  • ETAG: se usa para el control de concurrencia optimista como una forma de evitar que las actualizaciones simultáneas de una política se sobrescriban entre sí (un ejemplo de etag es BwWbrqiZFRs=).
  • ROLE: un rol asignado a principales (por ejemplo, roles/networkmanagement.admin)
  • PRINCIPAL: especifica las identidades que solicitan acceso a un recurso Google Cloud (por ejemplo, user:username@yourcompany.com). Para ver una lista de los tipos de principales o miembros, consulta la referencia de la API de políticas de gestión de identidades y accesos.

Obtener una política de control de acceso

Este procedimiento obtiene la política de control de acceso del recurso Connectivity Tests especificado.

API

Usa el método networkmanagement.connectivitytests.getIamPolicy para definir la política de control de acceso de un PRINCIPAL, ROLE y TEST_ID.

En el siguiente ejemplo se obtiene una política que vincula el rol de networkmanagement.admin a username@yourcompany.com para mytest-1.

  GET https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:getIamPolicy
    {
      "version": "VERSION",
      "etag": "ETAG",
      "bindings": [{
        "role": "ROLE",
        "members": [
          "PRINCIPAL"
        ]
      }]
    }

Sustituye los siguientes valores:

  • TEST_ID: el ID del objeto Connectivity Tests (prueba) que estás ejecutando
  • VERSION: especifica el formato de la política. Los valores válidos son 0, 1 y 3. Cualquier operación que afecte a las vinculaciones de roles condicionales debe especificar la versión 3.
  • ETAG: se usa para el control de concurrencia optimista como forma de evitar que las actualizaciones simultáneas de una política se sobrescriban entre sí (un ejemplo de etag es BwWbrqiZFRs=).
  • ROLE: un rol asignado a principales (por ejemplo, roles/networkmanagement.admin)
  • PRINCIPAL: especifica las identidades que solicitan acceso a un recurso Google Cloud (por ejemplo, user:username@yourcompany.com). Para ver una lista de los tipos de principales, consulta la referencia de la API de políticas de gestión de identidades y accesos.

Testar permisos de IAM

Este procedimiento devuelve los permisos que tiene un usuario o una cuenta de servicio para un recurso Connectivity Tests.

API

Usa el método networkmanagement.connectivitytests.testIamPermissions para devolver los permisos asignados a un TEST_ID.

En el siguiente ejemplo se verifica que username@yourcompany.com tiene el permiso networkmanagement.connectivitytests.get para mytest-1.

  POST https://networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:testIamPermissions
    {
      "permissions": [
        "networkmanagement.connectivitytests.get"
      ]
    }

Sustituye TEST_ID por el ID del objeto Connectivity Tests (prueba) que estés ejecutando.

Siguientes pasos