Agregar marcas de seguridad a los elementos
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Demuestra cómo agregar marcas de seguridad a los recursos.
Muestra de código
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],[],[],[],null,["Demonstrates adding security marks to assets\n\nCode sample \n\nGo\n\n\nTo authenticate to Security Command Center, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \tsecuritycenter \"cloud.google.com/go/securitycenter/apiv1\"\n \t\"cloud.google.com/go/securitycenter/apiv1/securitycenterpb\"\n \t\"google.golang.org/genproto/protobuf/field_mask\"\n )\n\n // addSecurityMarks adds/updates the security marks for the assetName.\n // Specifically, it sets \"key_a\" and \"key_b\" to \"value_a\" and \"value_b\"\n // respectively. assetName is the resource path for an asset.\n func addSecurityMarks(w io.Writer, assetName string) error {\n \t// Specify the value of 'assetName' in one of the following formats:\n \t// \t\tassetName := \"organizations/{org_id}/assets/{asset_id}\"\n \t//\t\tassetName := \"projects/{project_id}/assets/{asset_id}\"\n \t//\t\tassetName := \"folders/{folder_id}/assets/{asset_id}\"\n \t// Instantiate a context and a security service client to make API calls.\n \tctx := context.Background()\n \tclient, err := securitycenter.https://cloud.google.com/go/docs/reference/cloud.google.com/go/securitycenter/latest/apiv1.html#cloud_google_com_go_securitycenter_apiv1_Client_NewClient(ctx)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"securitycenter.NewClient: %w\", err)\n \t}\n \tdefer client.https://cloud.google.com/go/docs/reference/cloud.google.com/go/securitycenter/latest/apiv1.html#cloud_google_com_go_securitycenter_apiv1_Client_Close() // Closing the client safely cleans up background resources.\n\n \treq := &securitycenterpb.UpdateSecurityMarksRequest{\n \t\t// If not set or empty, all marks would be cleared before\n \t\t// adding the new marks below.\n \t\tUpdateMask: &field_mask.FieldMask{\n \t\t\tPaths: []string{\"marks.key_a\", \"marks.key_b\"},\n \t\t},\n \t\tSecurityMarks: &securitycenterpb.SecurityMarks{\n \t\t\tName: fmt.Sprintf(\"%s/securityMarks\", assetName),\n \t\t\t// Note keys correspond to the last part of each path.\n \t\t\tMarks: map[string]string{\"key_a\": \"value_a\", \"key_b\": \"value_b\"},\n \t\t},\n \t}\n \tupdatedMarks, err := client.UpdateSecurityMarks(ctx, req)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"UpdateSecurityMarks: %w\", err)\n \t}\n\n \tfmt.Fprintf(w, \"Updated marks: %s\\n\", updatedMarks.Name)\n \tfor k, v := range updatedMarks.Marks {\n \t\tfmt.Fprintf(w, \"%s = %s\\n\", k, v)\n \t}\n \treturn nil\n\n }\n\nJava\n\n\nTo authenticate to Security Command Center, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n static SecurityMarks addToAsset(String assetName) {\n try (SecurityCenterClient client = SecurityCenterClient.create()) {\n // Specify the value of 'assetName' in one of the following formats:\n // String assetName = \"organizations/{org-id}/assets/{asset-id}\";\n // String assetName = \"projects/{project-id}/assets/{asset-id}\";\n // String assetName = \"folders/{folder-id}/assets/{asset-id}\";\n //\n // Start setting up a request to add security marks for an asset.\n ImmutableMap markMap = ImmutableMap.of(\"key_a\", \"value_a\", \"key_b\", \"value_b\");\n\n // Add security marks and field mask for security marks.\n SecurityMarks securityMarks =\n SecurityMarks.newBuilder()\n .setName(assetName + \"/securityMarks\")\n .putAllMarks(markMap)\n .build();\n FieldMask updateMask =\n FieldMask.newBuilder().addPaths(\"marks.key_a\").addPaths(\"marks.key_b\").build();\n\n UpdateSecurityMarksRequest request =\n UpdateSecurityMarksRequest.newBuilder()\n .setSecurityMarks(securityMarks)\n .setUpdateMask(updateMask)\n .build();\n\n // Call the API.\n SecurityMarks response = client.updateSecurityMarks(request);\n\n System.out.println(\"Security Marks:\");\n System.out.println(response);\n return response;\n } catch (IOException e) {\n throw new RuntimeException(\"Couldn't create client.\", e);\n }\n }\n\nNode.js\n\n\nTo authenticate to Security Command Center, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n // Imports the Google Cloud client library.\n const {SecurityCenterClient} = require('https://cloud.google.com/nodejs/docs/reference/security-center/latest/overview.html');\n\n // Creates a new client.\n const client = new https://cloud.google.com/nodejs/docs/reference/security-center/latest/overview.html();\n\n async function addSecurityMarks() {\n // assetName is the full resource path for the asset to update.\n /*\n * TODO(developer): Uncomment the following lines\n */\n // Specify the value of 'assetName' in one of the following formats:\n // `organizations/${org-id}/assets/${asset-id}`;\n // `projects/${project-id}/assets/${asset-id}`;\n // `folders/${folder-id}/assets/${asset-id}`;\n // const assetName = \"organizations/123123342/assets/12312321\";\n const [newMarks] = await client.updateSecurityMarks({\n securityMarks: {\n name: `${assetName}/securityMarks`,\n marks: {key_a: 'value_a', key_b: 'value_b'},\n },\n // Only update the marks with these keys.\n updateMask: {paths: ['marks.key_a', 'marks.key_b']},\n });\n\n console.log('New marks: %', newMarks);\n }\n addSecurityMarks();\n\nPython\n\n\nTo authenticate to Security Command Center, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n from google.cloud import securitycenter\n from google.protobuf import field_mask_pb2\n\n # Create a new client.\n client = securitycenter.SecurityCenterClient()\n\n # 'asset_name' is the resource path for an asset that exists in SCC.\n # Specify the value of 'asset_name' in one of the following formats:\n # f\"organizations/{org_id}/assets/{asset_id}\"\n # f\"projects/{project_id}/assets/{asset_id}\"\n # f\"folders/{folder_id}/assets/{asset_id}\"\n # asset_name = organizations/123123342/assets/12312321\n marks_name = f\"{asset_name}/securityMarks\"\n\n # Notice the suffix after \"marks.\" in the field mask matches the keys\n # in marks.\n field_mask = field_mask_pb2.FieldMask(paths=[\"marks.key_a\", \"marks.key_b\"])\n marks = {\"key_a\": \"value_a\", \"key_b\": \"value_b\"}\n\n updated_marks = client.https://cloud.google.com/python/docs/reference/securitycenter/latest/google.cloud.securitycenter_v1.services.security_center.SecurityCenterClient.html#google_cloud_securitycenter_v1_services_security_center_SecurityCenterClient_update_security_marks(\n request={\n \"security_marks\": {\"name\": marks_name, \"marks\": marks},\n \"update_mask\": field_mask,\n }\n )\n print(updated_marks)\n\nWhat's next\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=securitycenter)."]]