Administrar frameworks

Los marcos de trabajo del Administrador de cumplimiento constan de controles de nube que te ayudan a cumplir con los requisitos reglamentarios y de seguridad de una organización o un proyecto en tus entornos de nube. La aplicación de un framework es un proceso de dos pasos. Primero, debes identificar los controles de la nube que se alinean con las obligaciones de seguridad y cumplimiento de tu empresa. Luego, implementas un framework que incluye esos controles de la nube en la organización, la carpeta o el proyecto adecuados enGoogle Cloud. Esta página te ayuda a completar los siguientes pasos:

  1. Evalúa qué marco integrado se alinea mejor con tus requisitos reglamentarios y de seguridad. Puedes crear tu propio marco personalizado, pero te recomendamos que comiences con uno integrado.

  2. Determina qué controles integrados en la nube se asignan a los requisitos de tu empresa. (Solo para los niveles Premium y Enterprise) Si es necesario, puedes crear controles de nube personalizados.

  3. Determina si implementarás el marco en tu organización de Google Cloudo en carpetas y proyectos específicos. Solo puedes implementar un marco en cada organización, carpeta o proyecto. El Administrador de cumplimiento admite carpetas configuradas para la administración de aplicaciones.

  4. Copia un framework existente y modifícalo para que coincida con tus requisitos. Si es necesario, puedes crear un framework personalizado.

  5. Implementa el framework en la organización, la carpeta o el proyecto adecuados.

Antes de comenzar

Completa estas tareas antes de completar las tareas restantes de esta página.

Configura los permisos

  • Para obtener los permisos que necesitas para aplicar frameworks, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu organización o proyecto:

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    Los roles para implementar frameworks con políticas de la organización contienen los permisos orgpolicy.policies.create, orgpolicy.policies.update y orgpolicy.policies.get requeridos.

    En el caso de las implementaciones a nivel de la organización, los roles para crear carpetas contienen los permisos resourcemanager.folders.get, resourcemanager.folders.create y resourcemanager.folders.delete requeridos.

    En el caso de las implementaciones a nivel de la organización, los roles para crear proyectos contienen los permisos resourcemanager.projects.get, resourcemanager.projects.create, resourcemanager.projects.delete y resourcemanager.projects.createBillingAssignment necesarios.

    Los roles para asignar marcos de DSPM a las aplicaciones contienen los permisos apphub.locations.list, apphub.applications.list y apphub.applications.get requeridos.

    También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Configura Google Cloud CLI

En la consola de Google Cloud , activa Cloud Shell.

Activa Cloud Shell

En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

Para configurar la gcloud CLI con el objetivo de usar la identidad temporal como cuenta de servicio y autenticarte en las APIs de Google, en lugar de tus credenciales de usuario, ejecuta el comando siguiente:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Para obtener más información, consulta Identidad temporal como cuenta de servicio.

Ver frameworks

Completa los siguientes pasos para ver la configuración de los frameworks integrados o de otros frameworks que ya hayas creado.

Console

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. Para ver todos los frameworks disponibles, haz clic en la pestaña Configurar.

    En el panel, se muestran los frameworks disponibles, una breve descripción, las plataformas y los niveles admitidos, y los recursos a los que se aplicó el framework.

  4. Para ver los detalles de un marco específico, haz clic en su nombre.

CLI

Puedes ver información sobre un framework específico o listar todos los frameworks de tu organización.

Consulta los detalles de un framework

Para ver detalles sobre un framework específico, ejecuta el comando gcloud compliance-manager frameworks describe:

gcloud compliance-manager frameworks describe FRAMEWORK \
   --location=LOCATION \
   --organization=ORGANIZATION \
   [--major-revision-id=MAJOR_REVISION_ID]

Reemplaza lo siguiente:

  • FRAMEWORK: el nombre del framework

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacena el framework.

  • MAJOR_REVISION_ID: Es una marca opcional que especifica qué versión del framework se debe ver. Si no incluyes la marca, se devuelve la versión más reciente.

Por ejemplo, para ver un framework con el nombre builtin-security-essentials y el número de revisión principal 12, ejecuta el siguiente comando:

gcloud compliance-manager frameworks describe \
   builtin-security-essentials \
   --organization=3589215982 \
   --location=global \
   --major-revision-id=12

Para obtener más información, consulta gcloud compliance-manager frameworks describe.

Obtén una lista de frameworks

Para obtener la lista de frameworks de tu organización, ejecuta el comando gcloud compliance-manager frameworks list:

gcloud compliance-manager frameworks list \
   --location=LOCATION \
   --organization=ORGANIZATION

Reemplaza los siguientes valores:

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacenan los frameworks.

Por ejemplo, para ver todos los marcos de trabajo dentro de la organización 3589215982 que se almacenan en la ubicación global, ejecuta el siguiente comando:

gcloud compliance-manager frameworks list \
   --organization=3589215982 \
   --location=global

Para obtener información sobre las marcas opcionales, consulta gcloud compliance-manager frameworks list.

Crea un framework

Después de determinar qué controles de la nube se aplican a los recursos dentro de tu organización o una carpeta o proyecto específicos, puedes crear un marco de trabajo personalizado o copiar uno existente y modificarlo. Cuando copias un marco de trabajo, se incluyen las versiones más recientes de todos los controles integrados de la nube.

Console

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, haz clic en Crear marco personalizado.

  4. Realiza una de las siguientes acciones:

    • Para usar un framework existente, completa los siguientes pasos:

      1. Selecciona Comenzar con un framework existente.

      2. Selecciona el framework que deseas copiar.

      3. Haz clic en Agregar.

    • Para crear un marco personalizado, selecciona Comenzar.

  5. Ingresa un nombre, un identificador único y una descripción para tu framework. Haz clic en Continuar.

    Si copias un framework existente, se mostrará la lista de controles en la nube que formaban parte de ese framework.

  6. Para agregar los controles de la nube que necesitas, completa los siguientes pasos:

    • Para agregar un control de la nube existente, haz clic en Agregar controles de la nube. Selecciona todos los controles de la nube que necesites y, luego, haz clic en Agregar.

      Cuando agregues un control, verifica su tipo (detectivo, preventivo o de auditoría). Ten en cuenta que los controles preventivos y de auditoría solo están disponibles en los niveles Premium y Enterprise. No incluyas controles solo de auditoría en un framework que quieras usar para supervisar tu entorno y detectar incumplimientos. No puedes implementar frameworks que incluyan controles solo de auditoría.

    • (Solo para los niveles Premium y Enterprise) Para crear un control de nube personalizado, haz clic en Crear un control de nube personalizado. Para obtener instrucciones, consulta Crea un control de nube personalizado.

  7. Haz clic en Continuar.

  8. Agrega los parámetros adicionales que requieran los controles de nube.

    Por ejemplo, si deseas habilitar un control de seguridad de la nube de administración de la postura de seguridad de los datos (DSPM), como el control de la nube Restringe el acceso a los datos sensibles a los usuarios permitidos, especifica las ubicaciones que deben usar las entidades principales. Para obtener más información sobre los controles de administración de la postura de seguridad de los datos, consulta Controles avanzados de seguridad y administración de datos en la nube.

  9. Haz clic en Crear.

CLI

Para crear un framework personalizado, ejecuta el comando gcloud compliance-manager frameworks create:

gcloud compliance-manager frameworks create FRAMEWORK \
   --location=LOCATION \
   --organization=ORGANIZATION \
   --display-name=DISPLAY_NAME \
   [--description=DESCRIPTION] \
   [--category=[CATEGORY,...] \
   [--cloud-control-details=[majorRevisionId=MAJOR_REVISION_ID],[name=NAME],[parameters=PARAMETERS]]

Reemplaza los siguientes valores:

  • FRAMEWORK: Es el identificador alfanumérico único del framework.

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacena el framework.

  • DISPLAY_NAME: Es un nombre legible para el framework.

  • DESCRIPTION: Una descripción opcional del propósito del framework

  • [CATEGORY,...]: Es un parámetro opcional que define las categorías de las que forma parte el framework. El valor recomendado para tu marco personalizado es custom-framework.

  • --cloud-control-details=`[majorRevisionId=MAJOR_REVISION_ID],[name=NAME],[parameters=PARAMETERS]'

    es la lista opcional de controles de la nube que se incluirán en tu framework, en el siguiente formato:

    • MAJOR_REVISION_ID: Es una marca opcional que especifica qué versión del control de la nube se debe ver. Si no incluyes la marca, se usará la versión más reciente.

    • NAME: Es el nombre del control de nube, en el formato organizations/ORGANIZATION_ID/locations/LOCATION/cloudControls/NAME. NAME es el ID único del control de nube. Puedes encontrar el ID de control en la nube con el comando gcloud compliance-manager cloud-controls list.

    • PARAMETERS: Son los parámetros opcionales que requieren ciertos controles de la nube. Por ejemplo, si deseas habilitar un control de la nube de Administración de la postura de seguridad de los datos, como el control de la nube Restringir el acceso a datos sensibles a usuarios permitidos, especifica las ubicaciones que deben usar las entidades principales.

    Como alternativa, puedes especificar un archivo JSON o YAML que incluya una lista de todos los controles de la nube. Por ejemplo, --cloud-control-details=path_to_file.(yaml|json). Expande la siguiente sección para ver ejemplos de archivos JSON y YAML.

    Ejemplo de archivo JSON

      [
        {
          "name": "organizations/3589215982/locations/global/cloudControls/restrict-bucket-region",
          "majorRevisionId": 1,
          "parameters": [
            {
              "name": "location",
              "parameterValue": {
                "stringValue": "us-west"
              }
            }
          ]
        },
        {
          "name": "organizations/3589215982/locations/global/cloudControls/enable-binary-authorization",
          "majorRevisionId": 2
        }
      ]
          

    Ejemplo de archivo YAML

      - name: organizations/3589215982/locations/global/cloudControls/restrict-bucket-region
        majorRevisionId: 1
        parameters:
        - name: location
          parameterValue:
            stringValue: us-west
      - name: organizations/3589215982/locations/global/cloudControls/enable-binary-authorization
        majorRevisionId: 2
          

    Si no especificas controles de Cloud cuando creas un framework, puedes agregarlos más adelante con la consola.

Por ejemplo, para crear un framework con el nombre my-custom-framework, ejecuta el siguiente comando:

gcloud compliance-manager frameworks create \
   my-custom-framework \
   --organization=3589215982 \
   --location=global \
   --description="This framework is my custom framework" \
   --display-name="My framework name" \
   --cloud-control-details='[{"name":"organizations/3589215982/locations/global/cloudControls/restrict-bucket-region","majorRevisionId":1,"parameters":[{"name":"location","parameterValue":{"stringValue":"us-west"}}]},{"name":"organizations/3589215982/locations/global/cloudControls/enable-binary-authorization","majorRevisionId":2}]'

Para obtener más información, consulta gcloud compliance-manager frameworks create.

Terraform

En el siguiente ejemplo, se muestra cómo puedes crear un framework con Terraform.

resource "google_cloud_security_compliance_framework" "example" {
  organization = "123456789"
  location     = "global"
  framework_id = "example-framework"

  display_name = "Terraform Framework Name"
  description  = "An Terraform description for the framework"

  cloud_control_details {
		name              = "organizations/123456789/locations/global/cloudControls/builtin-assess-resource-availability"
		major_revision_id = "1"

    parameters {
      name = "location"
      parameter_value {
        string_value = "us-central1"
      }
    }
  }

    cloud_control_details {
		name              = "organizations/123456789/locations/global/cloudControls/builtin-cmek-key-in-use-for-bigquery-table"
		major_revision_id = "1"

    parameters {
      name = "location"
      parameter_value {
        string_list_value {
          values = ["us-central1", "us-west1"]
        }
      }
    }
  }

  cloud_control_details {
		name              = "organizations/123456789/locations/global/cloudControls/builtin-enable-automatic-backups-cloud-sql"
		major_revision_id = "1"

    parameters {
      name = "location"
      parameter_value {
        bool_value = true
      }
    }
  }

  cloud_control_details {
		name              = "organizations/123456789/locations/global/cloudControls/builtin-require-cmek-on-bigquery-datasets"
		major_revision_id = "1"

    parameters {
      name = "location"
      parameter_value {
        number_value = 1
      }
    }
  }


}

Implementa un framework

Implementa un framework en una organización, una carpeta o un proyecto para que puedas controlar y supervisar esos recursos con los controles de nube del framework. Puedes implementar varios marcos en cada organización, carpeta o proyecto. Si implementas un framework que incluye solo los controles de seguridad de los datos avanzados, puedes implementarlo en las aplicaciones de App Hub en carpetas configuradas para la administración de aplicaciones.

Las carpetas y los proyectos heredan los marcos a través de la Google Cloud jerarquía de recursos. Por lo tanto, si implementas marcos a nivel de la organización y de un proyecto, todos los controles de la nube de ambos marcos se aplicarán a los recursos del proyecto. Si hay diferencias en las definiciones de los controles de Cloud, los recursos del proyecto usarán el control de Cloud de nivel inferior. Por ejemplo, si una regla de control de Cloud se establece en Permitir a nivel de la organización y en Denegar a nivel del proyecto, se aplica el parámetro de configuración de Denegar a nivel del proyecto a los recursos del proyecto.

Como práctica recomendada, te sugerimos que implementes un marco de trabajo a nivel de la organización que incluya los controles de la nube que se puedan aplicar a toda tu empresa. Luego, puedes implementar marcos más estrictos en las carpetas y los proyectos que los requieran.

Console

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, para el framework que deseas implementar, haz clic en Más acciones > Aplicar a los recursos.

  4. Elige una de las siguientes opciones:

    • Para supervisar solo el desvío, elige Supervisar.

    • Para supervisar el desvío y evitar activamente los incumplimientos, elige Supervisar y evitar.

  5. Selecciona el recurso en el que deseas implementar el framework. Puedes elegir una organización, una carpeta o un proyecto existente. Solo para DSPM, puedes seleccionar una aplicación para implementar un framework que incluya solo los controles avanzados de DSPM en la nube para una aplicación. Si decidiste evitar activamente los incumplimientos, puedes crear una carpeta o un proyecto nuevos y, luego, implementar el framework en ellos.

  6. Realiza una de las siguientes acciones:

    • Si seleccionaste Monitor, completa lo siguiente:

      1. Verifica la información.
      2. Si seleccionaste una carpeta configurada para la administración de aplicaciones y tu framework solo incluye controles avanzados de DSPM en la nube, selecciona la aplicación que quieras supervisar.
      3. Haz clic en Monitor.
    • Si seleccionaste Supervisar y evitar, completa los siguientes pasos:

      1. Haz clic en Siguiente. Revisa los controles y modos de la nube.
      2. Haz clic en Continuar.
      3. Si se muestra, verifica la información adicional que se requiere para algunos controles de la nube.
      4. Haz clic en Siguiente.
      5. Revisa tus selecciones y, luego, haz clic en Aplicar.

CLI

Para implementar un marco en tu organización, ejecuta el comando gcloud compliance-manager framework-deployments create. Ten en cuenta las siguientes prácticas recomendadas:

  • Crea un archivo YAML o JSON independiente para los metadatos de control de la nube.

  • Usa las marcas de destino adecuadas para indicar si implementarás en una organización, una carpeta o un proyecto existentes, o si crearás un proyecto o una carpeta nuevos al mismo tiempo que implementas el framework.

  • Si es posible, usa solo identificadores de recursos en lugar de nombres de recursos completamente calificados.

gcloud compliance-manager framework-deployments create \
   (FRAMEWORK_DEPLOYMENT : \
   --location=LOCATION \
   --organization=ORGANIZATION) \
   --cloud-control-metadata=[cloudControlDetails=CLOUD_CONTROL_DETAILS],[enforcementMode=ENFORCEMENT_MODE] \
   (--framework=FRAMEWORK : \
   --framework-major-revision-id=FRAMEWORK_MAJOR_REVISION_ID) \
   (--target-resource-config-existing=TARGET_RESOURCE_CONFIG_EXISTING     | \
   --target-resource-creation-config-folder-display-name=TARGET_RESOURCE_CREATION_CONFIG_FOLDER_DISPLAY_NAME \
   --target-resource-creation-config-folder-parent=TARGET_RESOURCE_CREATION_CONFIG_FOLDER_PARENT     | \
   --target-resource-creation-config-project-billing-account-id=TARGET_RESOURCE_CREATION_CONFIG_PROJECT_BILLING_ACCOUNT_ID \
   --target-resource-creation-config-project-display-name=TARGET_RESOURCE_CREATION_CONFIG_PROJECT_DISPLAY_NAME \
   --target-resource-creation-config-project-parent=TARGET_RESOURCE_CREATION_CONFIG_PROJECT_PARENT) \
   [--description=DESCRIPTION]

Reemplaza los siguientes valores:

  • FRAMEWORK_DEPLOYMENT: ID de la implementación del framework

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacena la implementación del framework.

  • cloud-control-metadata=[cloudControlDetails=CLOUD_CONTROL_DETAILS],[enforcementMode=ENFORCEMENT_MODE]: La lista de controles de la nube en el framework, con sus nombres, parámetros, ID de revisión y modo de aplicación, en el siguiente formato:

    • CLOUD_CONTROL_DETAILS: Es un objeto que incluye la lista de nombres, parámetros y IDs de revisión de los controles de la nube. Usa el siguiente formato:

      • name=NAME: Es el nombre completo del recurso del control de nube, en el formato organizations/ORGANIZATION_ID/locations/LOCATION/cloudControls/CLOUD_CONTROL_NAME.

      • majorRevisionId=MAJOR_REVISION_ID: Es la versión principal del control de Cloud.

      • parameters=PARAMETERS: Son los parámetros opcionales que requieren ciertos controles de la nube. Por ejemplo, si deseas habilitar un control de la nube de administración de la postura de seguridad de los datos, como el control de la nube Restringir el acceso a datos sensibles a usuarios permitidos, especifica las ubicaciones que deben usar las entidades principales.

    • ENFORCEMENT_MODE: Indica si el control es AUDIT, DETECTIVE o PREVENTIVE.

      Como alternativa, puedes especificar un archivo JSON o YAML que incluya los detalles de control de la nube y los modos de aplicación. Por ejemplo, --cloud-control-metadata=path_to_file.(yaml|json). Expande las siguientes secciones para ver ejemplos de archivos JSON y YAML.

      Ejemplo de archivo JSON

        [
          {
            "cloudControlDetails": {
              "name": "organizations/3589215982/locations/global/cloudControls/restrict-bucket-region",
              "majorRevisionId": 1,
              "parameters": [
                {
                  "name": "location",
                  "parameterValue": {
                    "stringValue": "us-west"
                  }
                }
              ]
            },
            "enforcementMode": "DETECTIVE"
          },
          {
            "cloudControlDetails": {
              "name": "organizations/3589215982/locations/global/cloudControls/enable-binary-authorization",
              "majorRevisionId": 2
            },
            "enforcementMode": "DETECTIVE"
          }
        ]
            

      Ejemplo de archivo YAML

        - cloudControlDetails:
            name: organizations/3589215982/locations/global/cloudControls/restrict-bucket-region
            majorRevisionId: 1
            parameters:
            - name: location
              parameterValue:
                stringValue: us-west
          enforcementMode: DETECTIVE
        - cloudControlDetails:
            name: organizations/3589215982/locations/global/cloudControls/enable-binary-authorization
            majorRevisionId: 2
          enforcementMode: DETECTIVE
            
    • FRAMEWORK: Es el nombre de un framework existente que deseas implementar, en el formato organizations/ORGANIZATION_ID/locations/LOCATION/frameworks/FRAMEWORK_NAME.

    • FRAMEWORK_MAJOR_REVISION_ID: Es el número de versión del framework que deseas implementar.

    • TARGET_RESOURCE_CONFIG_EXISTING : Es el nombre de una organización, una carpeta o un proyecto existentes en los que deseas implementar el nuevo framework, en uno de los siguientes formatos:

      • organizations/ORGANIZATION_ID
      • folders/FOLDER_ID
      • projects/PROJECT_ID
    • TARGET_RESOURCE_CREATION_CONFIG_FOLDER_DISPLAY_NAME: el nombre de la carpeta que deseas crear y, luego, implementar el framework en ella

    • TARGET_RESOURCE_CREATION_CONFIG_FOLDER_PARENT: Es el nombre de la organización o carpeta existente en la que deseas crear la carpeta nueva. Los formatos admitidos son organizations/ORGANIZATION_ID y folders/FOLDER_ID.

    • TARGET_RESOURCE_CREATION_CONFIG_PROJECT_BILLING_ACCOUNT_ID: ID de la cuenta de facturación que se asignará al proyecto nuevo si creas un proyecto nuevo en el que deseas implementar el framework

    • TARGET_RESOURCE_CREATION_CONFIG_PROJECT_DISPLAY_NAME: el nombre del proyecto que deseas crear y, luego, implementar el framework

    • TARGET_RESOURCE_CREATION_CONFIG_PROJECT_PARENT: Es el nombre de la organización o la carpeta existente en la que deseas crear el proyecto nuevo. Los formatos admitidos son organizations/ORGANIZATION_ID y folders/FOLDER_ID.

    • DESCRIPTION: Una descripción opcional de la implementación del framework

Por ejemplo, para implementar un framework llamado organizations/3589215982/locations/global/frameworks/builtin-aipp en una carpeta existente con el ID de carpeta example-folder, ejecuta el siguiente comando:

gcloud compliance-manager framework-deployments create \
   example-framework-deployment \
   --organization=3589215982 \
   --location=global \
   --cloud-control-metadata='[{"cloudControlDetails": {"name": "organizations/3589215982/locations/global/cloudControls/restrict-bucket-region", "majorRevisionId": "1", "parameters": []}, "enforcementMode": "DETECTIVE"}, {"cloudControlDetails": {"name": "organizations/3589215982/locations/global/cloudControls/enable-binary-authorization", "majorRevisionId": 2}, "enforcementMode": "DETECTIVE"}]' \
   --framework="organizations/3589215982/locations/global/frameworks/builtin-aipp" \
   --framework-major-revision-id=6 \
   --target-resource-config-existing="folders/example-folder" \
   --description="Deployment for AI Platform into example-folder"

Por ejemplo, para implementar un framework llamado organizations/3589215982/locations/global/frameworks/builtin-aipp y crear un proyecto nuevo llamado example-new-project en una carpeta existente con el ID de carpeta example-folder, ejecuta el siguiente comando:

gcloud compliance-manager framework-deployments create \
  example-framework-deployment \
   --organization=3589215982 \
   --location=global \
   --cloud-control-metadata=deploy-controls.yaml \
   --framework="organizations/3589215982/locations/global/frameworks/builtin-aipp" \
   --framework-major-revision-id=6 \
   --target-resource-creation-config-project-billing-account-id=012345-567890-ABCDEF \
   --target-resource-creation-config-project-display-name=example-new-project \
   --target-resource-creation-config-project-parent=folders/example-folder \
   --description="Deployment for AI Platform into a new example-new-project in example-folder"

Para obtener más información, consulta gcloud compliance-manager framework-deployments create.

Terraform

En el siguiente ejemplo, se muestra cómo implementar un framework con Terraform.

resource "google_cloud_security_compliance_framework" "example" {
  organization = "123456789"
  location     = "global"
  framework_id = "example-framework"

  display_name = "Terraform Framework Name"
  description  = "An Terraform description for the framework"

  cloud_control_details {
		name              = "organizations/%{org_id}/locations/global/cloudControls/builtin-detective-policy-for-vertex-ai-runtime-template-idle-shutdown"
		major_revision_id = "1"

    parameters {
      name = "location"
      parameter_value {
        string_value = "us-central1"
      }
    }
    parameters {
      name = "oneof-parameter"
      parameter_value {
        oneof_value {
          name = "test-oneof"
          parameter_value {
            string_value = "test-value"
          }
        }
      }
    }
    parameters {
      name = "bool-parameter"
      parameter_value {
        oneof_value {
          name = "bool-oneof"
          parameter_value {
            bool_value = true
          }
        }
      }
    }
    parameters {
      name = "number-parameter"
      parameter_value {
        oneof_value {
          name = "number-oneof"
          parameter_value {
            number_value = 123.45
          }
        }
      }
    }
    parameters {
      name = "string-list-parameter"
      parameter_value {
        oneof_value {
          name = "string-list-oneof"
          parameter_value {
            string_list_value {
              values = ["value1", "value2"]
            }
          }
        }
      }
    }
  }
}

resource "google_cloud_security_compliance_framework_deployment" "example" {
  organization            = "123456789"
  location                = "global"
  framework_deployment_id = "example-deployment"
  description             = "A framework deployment for cloud security compliance"

  framework {
    framework         = google_cloud_security_compliance_framework.example.name
    major_revision_id = "1"
  }

  target_resource_config {
    existing_target_resource = "organizations/123456789"
  }

  cloud_control_metadata {
    enforcement_mode = "DETECTIVE"

    cloud_control_details {
      name                  = "organizations/123456789/locations/global/cloudControls/builtin-detective-policy-for-vertex-ai-runtime-template-idle-shutdown"
      major_revision_id     = "1"

      parameters {
        name = "enabled"
        parameter_value {
          bool_value = true
        }
      }

      parameters {
        name = "regions"
        parameter_value {
          string_list_value {
            values = ["us-central1", "us-west1", "us-east1"]
          }
        }
      }

      parameters {
        name = "location"
        parameter_value {
          string_value = "us-central1"
        }
      }
      parameters {
        name = "oneof-parameter"
        parameter_value {
          oneof_value {
            name = "test-oneof"
            parameter_value {
              string_value = "test-value"
            }
          }
        }
      }
      parameters {
        name = "bool-parameter"
        parameter_value {
          oneof_value {
            name = "bool-oneof"
            parameter_value {
              bool_value = true
            }
          }
        }
      }
      parameters {
        name = "number-parameter"
        parameter_value {
          oneof_value {
            name = "number-oneof"
            parameter_value {
              number_value = 123.45
            }
          }
        }
      }
      parameters {
        name = "string-list-parameter"
        parameter_value {
          oneof_value {
            name = "string-list-oneof"
            parameter_value {
              string_list_value {
                values = ["value1", "value2"]
              }
            }
          }
        }
      }
    }
  }


}

Después de implementar el framework, puedes supervisar tu entorno para detectar cualquier desviación de los controles de nube definidos. Security Command Center informa las instancias de desvío como hallazgos que puedes revisar, filtrar y resolver. Después de implementar un framework, pueden transcurrir aproximadamente seis horas hasta que aparezcan los hallazgos relacionados con los controles de la nube.

Cómo editar un framework personalizado

Después de crear un framework, puedes cambiar su nombre y descripción, agregar o quitar controles de Cloud, y actualizar cualquier parámetro. Solo puedes editar los frameworks que crees, no los integrados.

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, haz clic en el framework que deseas editar.

  4. En la página Detalles del framework, verifica que el framework no esté asignado a un recurso. Si es necesario, quita las tareas.

  5. Haz clic en Acciones > Editar.

  6. En la página Actualizar detalles del framework, cambia el nombre y la descripción según sea necesario. Haga clic en Continuar.

  7. Para cambiar los controles de la nube que se incluyen en el marco de trabajo, completa los siguientes pasos:

    • Para agregar un control de la nube existente, haz clic en Agregar controles de la nube. Selecciona todos los controles de la nube que necesites y, luego, haz clic en Agregar.

    • Para crear un control de nube personalizado, haz clic en Crear un control de nube personalizado. Para obtener instrucciones, consulta Crea un control de la nube personalizado.

    • Para quitar un control de la nube, selecciónalo y haz clic en Quitar.

  8. Haz clic en Continuar.

  9. Agrega los parámetros adicionales que requieran los controles de nube.

  10. Haz clic en Guardar.

Cómo quitar un framework implementado de un recurso

Puedes quitar un marco de trabajo de la organización, las carpetas o los proyectos a los que lo asignaste. Si quitas el marco de trabajo, el Administrador de cumplimiento ya no generará hallazgos para ese nodo de la jerarquía de recursos.

Cuando quitas un framework, el estado de la mayoría de los hallazgos relacionados cambia a Inactive después de siete días. Si tu framework incluye el control de Cloud Restringir el flujo de datos sensibles en jurisdicciones geográficas, los hallazgos cambiarán a Inactive después de 90 días. Los estados de los hallazgos relacionados con los controles en la nube Restringir el flujo de datos sensibles en jurisdicciones geográficas y Restringir el acceso a datos sensibles a usuarios permitidos no se cambian automáticamente.

Console

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, haz clic en el framework que deseas quitar.

  4. En la página Detalles del framework, haz clic en Acciones > Administrar asignaciones de recursos.

  5. En la tabla Recursos asignados, busca el recurso que deseas quitar y haz clic en Borrar.

  6. Revisa el mensaje de confirmación y haz clic en Anular asignación.

  7. Opcional: Cambia el estado de los hallazgos asociados a Inactive. Para obtener instrucciones, consulta Cómo cambiar el estado de un hallazgo.

CLI

Para quitar una implementación de framework en particular de tu organización, ejecuta el comando gcloud compliance-manager framework-deployments delete:

gcloud compliance-manager framework-deployments delete \
   FRAMEWORK_DEPLOYMENT \
   --location=LOCATION \
   --organization=ORGANIZATION

Reemplaza los siguientes valores:

  • FRAMEWORK_DEPLOYMENT: ID de la implementación del framework

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacena la implementación del framework.

Por ejemplo, para quitar example-deployment de la organización 3589215982 y almacenarlo en la ubicación global, ejecuta el siguiente comando:

gcloud compliance-manager framework-deployments delete \
   example-deployment \
   --organization=3589215982 \
   --location=global

Para obtener información sobre las marcas opcionales, consulta gcloud compliance-manager framework-deployments delete.

Actualiza un framework a una versión más reciente

Google publica actualizaciones periódicas de sus frameworks integrados a medida que los servicios implementan funciones nuevas o surgen nuevas prácticas recomendadas.

Puedes ver las versiones de los frameworks integrados en el panel de frameworks de la pestaña Configurar o en la página de detalles del framework.

Google te notifica en la consola y en las notas de la versión cuando se producen las siguientes actualizaciones:

Para actualizar un framework, completa los siguientes pasos:

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, haz clic en el framework que deseas actualizar.

  4. En la página Detalles del marco, en la tabla Recursos asignados, revisa el Estado de actualización de las asignaciones que se identifiquen como Actualización disponible.

  5. Para aplicar los cambios, completa los siguientes pasos:

    1. Quita la asignación del recurso.

    2. Vuelve a implementar el marco en tu recurso para que el Administrador de cumplimiento pueda reanudar la evaluación del recurso y crear hallazgos.

Borra un framework personalizado

Borra un framework cuando ya no sea necesario. Solo puedes borrar los frameworks que crees, no los integrados.

Console

  1. En la consola de Google Cloud , ve a la página Cumplimiento.

    Ve a cumplimiento

  2. Elige tu organización o proyecto.

  3. En la pestaña Configurar, haz clic en el framework del que deseas anular la asignación de recursos.

  4. En la página Detalles del framework, verifica que el framework no esté asignado a un recurso. Si es necesario, quita las tareas.

  5. Haz clic en Acciones > Borrar.

  6. En la ventana Borrar, revisa el mensaje. Escribe Delete y haz clic en Confirmar.

CLI

Para borrar un marco en particular de tu organización, ejecuta el comando gcloud compliance-manager frameworks delete:

gcloud compliance-manager frameworks delete \
   FRAMEWORK \
   --location=LOCATION \
   --organization=ORGANIZATION

Reemplaza los siguientes valores:

  • FRAMEWORK: el nombre del framework

  • ORGANIZATION: Es el ID de tu organización.

  • LOCATION: Es la región en la que se almacena el framework.

Por ejemplo, para quitar example-framework de la organización 3589215982 y almacenarlo en la ubicación global, ejecuta el siguiente comando:

gcloud compliance-manager frameworks delete \
   example-framework \
   --organization=3589215982 \
   --location=global

Para obtener información sobre las marcas opcionales, consulta gcloud compliance-manager frameworks delete.

¿Qué sigue?