Administra la configuración de recursos

En esta guía, se describe cómo administrar la configuración de recursos. Puedes usar la Configuración de recursos para establecer de forma centralizada los parámetros de configuración de tu cuenta de Google Cloud proyectos, carpetas y organización. Cada parámetro de configuración de recursos te permite controlar un aspecto de un servicio admitido.

Antes de comenzar

Para obtener más información sobre qué es la configuración de recursos y cómo funciona, consulta el Descripción general de la configuración de recursos.

Habilite la API

La API de Resource Settings se puede habilitar para proyectos individuales.

Consola de Google Cloud

Para habilitar la API de Resource Settings, haz lo siguiente:

Ir a API y servicios (APIs & Services)

  1. Selecciona el proyecto que usarás para acceder a la API.
  2. Haz clic en el botón Habilitar las API y el servicio.
  3. Busca “Configuración de recursos”.
  4. En los resultados de la búsqueda, haz clic en “API de Resource Settings”.
  5. Si se muestra "API habilitada", significa que la API ya está habilitada. De lo contrario, haz clic en el botón Habilitar.

gcloud

Para habilitar la API de Resource Settings, usa el comando gcloud services enable:

gcloud services enable resourcesettings.googleapis.com

Permisos necesarios

Los permisos que necesitas dependen de la acción que debes realizar.

Para obtener estos permisos, pídele a tu administrador que otorgue el rol sugerido en el nivel adecuado de la jerarquía de recursos.

Ver configuración de recursos

Para ver la configuración de recursos disponible para usar en un recurso, así como los valores de configuración locales efectivos de un recurso, necesitas la función Visualizador de configuración de recursos (roles/resourcesettings.viewer) o bien otra función que incluya los siguientes permisos:

  • resourcesettings.settings.get
  • resourcesettings.settings.list

Administra la configuración de recursos

Para crear, actualizar y borrar valores de configuración de recursos en un recurso, necesitas el rol de Administrador de configuración de recursos (roles/resourcesettings.admin) o algún otro rol que incluya los siguientes permisos:

  • resourcesettings.settings.get
  • resourcesettings.settings.list
  • resourcesettings.settings.update

Lista de parámetros de configuración disponibles

Puedes obtener una lista de todas las configuraciones de recursos disponibles para un recurso determinado. Esta list muestra toda la configuración de recursos que se puede aplicar al recurso. La configuración de recursos en el estado de vista previa solo está disponible para aquellos que se se les otorgó permiso explícito para usarlos.

gcloud

Para obtener una lista de todos los parámetros de configuración disponibles para usar en un recurso, usa el siguiendo gcloud resource-settings list :

gcloud resource-settings list --RESOURCE_ID

En el ejemplo anterior, RESOURCE_ID es el ID de la carpeta, el proyecto o una organización para la que quieras encontrar la configuración de recursos disponible. Por ejemplo: --project=7890123456.

API

Si deseas obtener una lista de todos los parámetros de configuración disponibles para usar en un recurso, usa uno de los siguientes métodos settings.list. Usa el método que corresponda a el tipo de recurso para el que quieres enumerar la configuración:

curl -X GET -H "Content-Type: application/json" -H \
  "Authorization: Bearer $ACCESS_TOKEN" \
  https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings

Reemplaza lo siguiente:

  • ACCESS_TOKEN: tu OAuth 2.0 token de acceso.

  • RESOURCE_ID: El ID de la carpeta, el proyecto o una organización para la que quieras encontrar la configuración de recursos disponible. Por ejemplo: projects/7890123456.

Respuesta de ejemplo

Una respuesta a una solicitud de lista en folders/4567890123 es similar a la lo siguiente:

{
  "settings" : [
    {
      "name": "folders/4567890123/settings/net-preferredDnsServers",
      "metadata":  {
        "displayName": "Preferred DNS Servers",
        "description": "The DNS servers to be used by VMs associated with this resource.",
        "read_only": false,
        "data_type" : "STRING_SET",
        "default_value" : {
          "string_set_value" : {
            "values" : [ "8.8.8.8" ],
          }
        }
      }
    },
    {
      "name": "folders/4567890123/settings/text-defaultTextColor",
      "metadata":  {
        "displayName": "Default Text Color",
        "description": "The default text color for this resource.",
        "read_only": false,
        "data_type" : "STRING",
        "default_value" : {
          "string_value" : "black"
        }
      }
    },
    ...
  ]
}

El campo name es el nombre corto de la configuración de recursos, que debe usarse. en las solicitudes a la API y a gcloud CLI relacionadas con esa configuración.

Cómo cambiar el valor de un parámetro de configuración local

Puedes cambiar el valor de configuración local de una configuración de recurso determinada. Si estableces un valor de configuración local, se anulará cualquier valor heredado la configuración del valor. Si inhabilitas el valor de configuración local, se aplicará cualquier valor de configuración local que se aplica a un recurso principal se heredan, lo que lo convierte en el valor.

gcloud

Para cambiar el valor de configuración local de una configuración de recurso en un recurso, haz lo siguiente: usa lo siguiente gcloud resource-settings set-value :

gcloud resource-settings set-value --value-file=FILE_PATH

Reemplaza FILE_PATH por la ruta de acceso a un archivo YAML Archivo JSON que contiene la configuración de recursos.

Ejemplo de archivo JSON:

{
  "localValue" : {
    "stringSetValue": {
      "values": [
        "8.8.8.8",
        "8.8.4.4",
      ]
    }
  },
  "name": "RESOURCE_ID/settings/SETTING_NAME"
}

Reemplaza lo siguiente:

  • RESOURCE_ID: El ID de la carpeta, el proyecto o la organización para la que deseas actualizar el parámetro de configuración de recursos locales. Por ejemplo: projects/7890123456.

  • SETTING_NAME: Es el nombre corto del recurso. del parámetro de configuración que quieres actualizar.

Para quitar un valor de configuración local en un recurso, usa el comando gcloud resource-settings unset-value :

gcloud resource-settings unset-value SETTING_NAME \
  --RESOURCE_ID

Reemplaza lo siguiente:

  • SETTING_NAME: Es el nombre corto del recurso. para la que deseas desactivar el valor local.

  • RESOURCE_ID: El ID de la carpeta, el proyecto o una organización para la que quieras encontrar la configuración de recursos disponible. Por ejemplo: projects/7890123456.

API

Para cambiar el valor de configuración local de una configuración de recurso en un recurso, haz lo siguiente: usa el método settings.patch. Usa el método que corresponda al tipo de recurso cuya configuración deseas actualizar:

curl -X PATCH -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" -d \
  '{
    "localValue": {
      "stringSetValue": {
        "values": [ "8.8.8.8", "8.8.4.4" ]
      }
    }
  }
  ' https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings/net-preferredDnsServers

Reemplaza lo siguiente:

  • ACCESS_TOKEN: tu OAuth 2.0 token de acceso.

  • RESOURCE_ID: El ID de la carpeta, el proyecto o una organización para la que quieras encontrar la configuración de recursos disponible. Por ejemplo: projects/7890123456.

Si realizas esta solicitud sin ningún valor local incluido en el archivo JSON, se anula la configuración del valor de configuración local, y el recurso hereda el valor superior. o usa la configuración predeterminada administrada por Google.

Después de realizar una solicitud correcta, recibirás una respuesta que incluye el valor local que se creó para este parámetro de configuración y un campo etag debes incluir en las solicitudes de actualización posteriores.

{
  "name": "folders/4567890123/settings/net-preferredDnsServers",
  "localValue": {
    "stringSetValue": {
      "values": [ "8.8.8.8", "8.8.4.4" ]
    }
  }
  "etag": "O2VWGxZU01VnAfRU4Mu97w==",
}

Visualiza la configuración de valor local o efectivo

Puedes ver el valor local o efectivo de una configuración de recursos en un determinado recurso.

gcloud

Para ver el valor local de la configuración de un recurso en un recurso determinado, usa el gcloud resource-settings describe de la siguiente manera:

gcloud resource-settings describe SETTING_NAME \
  --RESOURCE_ID

Reemplaza lo siguiente:

  • SETTING_NAME: Es el nombre corto del recurso. para el que deseas encontrar el valor local o efectivo.

  • RESOURCE_ID: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponible Por ejemplo: --project=7890123456

Si agregas la marca --effective, obtendrás el valor efectivo tal como está. se evalúe para este recurso.

API

Para ver el valor local o efectivo de la configuración de un recurso en un determinado usa el método settings.get. Usa el método que corresponda a el tipo de recurso para el que quieres enumerar la configuración:

curl -X GET -H "Content-Type: application/json" -H \
  "Authorization: Bearer $ACCESS_TOKEN" \
  https://resourcesettings.googleapis.com/v1/RESOURCE_ID \
  /settings/SETTING_NAME?view=VIEW_PARAMETER

Reemplaza lo siguiente:

  • ACCESS_TOKEN: tu OAuth 2.0 token de acceso.

  • RESOURCE_ID: El ID de la carpeta, el proyecto o una organización para la que quieras encontrar la configuración de recursos disponible. Por ejemplo: projects/7890123456.

  • SETTING_NAME: Es el nombre corto del recurso. para el que quieres obtener valores.

  • VIEW_PARAMETER: SETTING_VIEW_LOCAL_VALUE a devolver el valor de configuración local, o SETTING_VIEW_EFFECTIVE_VALUE a mostrar el valor efectivo en este recurso.

Respuesta de ejemplo

Una respuesta a una solicitud GET en folders/4567890123 es similar a la lo siguiente:

{
  "name": "folders/4567890123/settings/net-preferredDnsServers",
  "value": {
    "stringSetValue": {
      "values": [ "8.8.8.8", "8.8.4.4" ]
    }
  }
  "etag": "O2VWGxZU01VnAfRU4Mu97w=="
}

Herencia

El parámetro de configuración de recursos que se aplica en un recurso determinado se evalúa según de la herencia. Para anular el valor heredado de un recurso, configura un valor local, lo que también afecta los valores de configuración que hereda ese elementos secundarios del recurso. Para obtener más información sobre la herencia del parámetro de configuración de recursos, Consulta Valores de configuración efectivos.

Recupera valores efectivos

Puedes recuperar el valor efectivo de un parámetro de configuración en un recurso determinado usando el API o gcloud CLI. Para obtener instrucciones detalladas, consulta Consulta la configuración de valor local o efectivo. Ten en cuenta siguiente ejemplo, con los valores configurados para el recurso Servidores DNS preferidos configuración en una organización, una carpeta dentro de esa organización y una subcarpeta dentro de esa carpeta:

Los valores efectivos de cada uno de estos recursos se evalúan de la siguiente manera:

  • organizations/111 no tiene un valor local ni un recurso superior para heredarán, por lo que usarán el valor predeterminado administrado por Google de 8.8.8.8.

    • Si usas el método describe para obtener el valor efectivo de un recurso, haz lo siguiente: y usa la configuración predeterminada administrada por Google, esa información se incluye en la respuesta. Por ejemplo:
    {
      "name": "organizations/111/settings/net-preferredDnsServers",
      "effectiveValue": {
        "stringSetValue": {
          "values": [ "8.8.8.8" ] # Google-managed default
        }
      }
    }
    
  • La configuración de valor local folders/222 es 8.8.4.4, por lo que no la tiene heredarán del recurso superior.

    • Si usas el método describe para obtener el valor efectivo de un recurso, haz lo siguiente: y es un valor establecido localmente, esa información se incluye en la respuesta. Por ejemplo:
    {
      "name": "folders/222/settings/net-preferredDnsServers",
      "effectiveValue": {
        "stringSetValue": {
          "values": [ "8.8.4.4" ] # set on folders/222
        }
      }
    }
    
  • folders/333 no tiene un valor local, pero su recurso superior sí. Hereda el valor de configuración local de folders/222, por lo que se evalúa como 8.8.4.4.

    • Si usas el método describe para obtener el valor efectivo de un recurso, haz lo siguiente: y este hereda el valor de un recurso superior, esa información incluido en la respuesta. Por ejemplo:
    {
      "name": "folders/333/settings/net-preferredDnsServers",
      "effectiveValue": {
        "stringSetValue": {
          "values": [ "8.8.4.4" ] # inherited from folders/222
        }
      }
    }
    

Anular el valor heredado

Si cambias el valor de configuración local de folders/333 de la opción Preferida Configuración de los servidores DNS, que cambia el valor efectivo. Por ejemplo, puedes usar el Método patch para actualizar el valor del parámetro de configuración local de folders/333 a 192.168.1.1. Para obtener instrucciones detalladas, consulta Cambia un valor de configuración local.

Si usas el método describe en el recurso folders/333 actualizado, puedes Observa que el valor efectivo ahora es 192.168.1.1:

{
  "name": "folders/333/settings/net-preferredDnsServers",
  "effectiveValue": {
    "stringSetValue": {
      "values": [ "192.168.1.1" ] # set on folders/333
    }
  }
}

Revierte al valor heredado

Para revertir este comportamiento de modo que un recurso herede el valor local de un superior, usa el método patch de la API sin ningún valor local establecido en la consulta, o bien con el comando unset-value de gcloud CLI. Para obtener información consulta las instrucciones Cambia un valor de configuración local.

Por ejemplo, si anulas la configuración del valor local en folders/333, se volverá a cargar. hereda el valor efectivo de su recurso superior más cercano, folders/222. Si usas el método describe en el recurso folders/333 actualizado, Observa que el valor efectivo ahora es 8.8.4.4:

{
  "name": "folders/333/settings/net-preferredDnsServers",
  "effectiveValue": {
    "stringSetValue": {
      "values": [ "8.8.4.4" ] # inherited from folders/222
    }
  }
}