저장된 쿼리 관리

이 페이지에서는 저장된 정책 분석 도구 쿼리를 만들고 관리하고 실행하는 방법을 보여줍니다. 애셋에는 최대 200개의 저장된 쿼리를 만들 수 있습니다. 하위 항목의 저장된 쿼리는 이 한도에 포함되지 않습니다. 예를 들어 조직에 10개 프로젝트가 있으면 각 프로젝트에 최대 200개의 저장된 쿼리가 포함될 수 있고 조직에 최대 200개의 저장된 쿼리가 포함될 수 있습니다.

시작하기 전에

  1. Enable the Cloud Asset API.

    Enable the API

필요한 역할

저장된 쿼리를 만들고 관리하는 데 필요한 권한을 얻으려면 쿼리를 저장할 프로젝트, 폴더, 조직에 대해 클라우드 애셋 소유자(roles/cloudasset.owner) IAM 역할을 부여해 달라고 관리자에게 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 저장된 쿼리를 만들고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

저장된 쿼리를 만들고 관리하려면 다음 권한이 필요합니다.

  • cloudasset.savedqueries.create
  • cloudasset.savedqueries.delete
  • cloudasset.savedqueries.get
  • cloudasset.savedqueries.list
  • cloudasset.savedqueries.update

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

저장된 검색어 만들기

gcloud

상위 프로젝트, 폴더, 조직에서 저장된 정책 분석 도구 쿼리를 만들려면 gcloud asset saved-queries create 명령어를 사용합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • SCOPE_RESOURCE_TYPE_PLURAL: 검색 범위를 지정할 리소스 유형입니다(복수 형태). 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. projects, folders, organizations 값을 사용합니다.
  • SCOPE_RESOURCE_ID: 검색 범위를 지정할 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. 프로젝트 ID는 my-project 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.
  • FULL_RESOURCE_NAME: (선택사항) 액세스를 분석할 리소스의 전체 리소스 이름입니다. 전체 리소스 이름 형식 목록은 리소스 이름 형식을 참조하세요.
  • PRINCIPAL: (선택사항) PRINCIPAL_TYPE:ID 형식의 분석할 액세스를 갖는 주 구성원입니다(예: user:my-user@example.com). 주 구성원 유형의 전체 목록은 주 구성원 식별자를 참조하세요.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: (선택사항) 확인할 권한입니다(예: compute.instances.get). 여러 권한을 나열하면 정책 분석 도구가 나열된 권한을 확인합니다.
  • QUERY_ID: 저장된 쿼리에 사용할 ID입니다. 지정된 상위 리소스(프로젝트, 폴더, 조직)에서 고유해야 합니다. 쿼리 ID에는 문자, 숫자, 하이픈을 사용할 수 있습니다.
  • RESOURCE_TYPE: 쿼리를 저장할 리소스 유형입니다. project, folder, organization 값을 사용합니다.
  • RESOURCE_ID: 쿼리를 저장하려는 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.
  • LABEL_KEYLABEL_VALUE: (선택사항) 쿼리에 연결할 키-값 쌍의 쉼표로 구분된 목록입니다. 검색 및 나열 작업에 사용될 수 있습니다. 각 저장된 쿼리에 대해 최대 10개까지 라벨을 포함할 수 있습니다.
  • DESCRIPTION: (선택사항) 쿼리를 설명하는 문자열입니다.

다음 콘텐츠를 request.json 파일에 저장합니다.

{
  "IamPolicyAnalysisQuery": {
    "scope": "SCOPE_RESOURCE_TYPE_PLURAL/SCOPE_RESOURCE_ID",
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset saved-queries create \
QUERY_ID \
--RESOURCE_TYPE=RESOURCE_ID \
--query-file-path=request.json \
--labels="LABEL_KEY=LABEL_VALUE" \
--description="DESCRIPTION"

Windows(PowerShell)

gcloud asset saved-queries create `
QUERY_ID `
--RESOURCE_TYPE=RESOURCE_ID `
--query-file-path=request.json `
--labels="LABEL_KEY=LABEL_VALUE" `
--description="DESCRIPTION"

Windows(cmd.exe)

gcloud asset saved-queries create ^
QUERY_ID ^
--RESOURCE_TYPE=RESOURCE_ID ^
--query-file-path=request.json ^
--labels="LABEL_KEY=LABEL_VALUE" ^
--description="DESCRIPTION"

응답에 저장된 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

content:
  iamPolicyAnalysisQuery:
    resourceSelector:
      fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
    identitySelector:
      identity: user:my-user@example.com
    scope: projects/scope-project
createTime: '2022-04-18T22:47:25.640783Z'
description: A query checking what permissions my-user@example.com has on my-project
labels:
  user: my-user
lastUpdateTime: '2022-04-18T22:47:25.640783Z'
name: projects/12345678901/savedQueries/my-query

REST

상위 프로젝트, 폴더, 조직에서 저장된 정책 분석 도구 쿼리를 만들려면 Cloud Asset Inventory API의 savedQueries.create 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리를 저장할 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_ID: 쿼리를 저장하려는 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.
  • QUERY_ID: 저장된 쿼리에 사용할 ID입니다. 지정된 상위 리소스(프로젝트, 폴더, 조직)에서 고유해야 합니다. 쿼리 ID에는 문자, 숫자, 하이픈을 사용할 수 있습니다.
  • SCOPE_RESOURCE_TYPE: 검색 범위를 지정할 리소스 유형입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. projects, folders, organizations 값을 사용합니다.
  • SCOPE_RESOURCE_ID: 검색 범위를 지정할 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. 프로젝트 ID는 my-project 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.
  • FULL_RESOURCE_NAME: (선택사항) 액세스를 분석할 리소스의 전체 리소스 이름입니다. 전체 리소스 이름 형식 목록은 리소스 이름 형식을 참조하세요.
  • PRINCIPAL: (선택사항) PRINCIPAL_TYPE:ID 형식의 분석할 액세스를 갖는 주 구성원입니다(예: user:my-user@example.com). 주 구성원 유형의 전체 목록은 주 구성원 식별자를 참조하세요.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: (선택사항) 확인할 권한입니다(예: compute.instances.get). 여러 권한을 나열하면 정책 분석 도구가 나열된 권한을 확인합니다.
  • LABEL_KEYLABEL_VALUE: (선택사항) 쿼리에 연결할 키/값 쌍입니다. 검색 및 나열 작업에 사용될 수 있습니다. 각 저장된 쿼리에 대해 최대 10개까지 라벨을 포함할 수 있습니다.
  • DESCRIPTION: (선택사항) 쿼리를 설명하는 문자열입니다.

HTTP 메서드 및 URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/savedQueries?savedQueryId=QUERY_ID

JSON 요청 본문:

{
  "content": {
    "iamPolicyAnalysisQuery": {
      "scope": "SCOPE_RESOURCE_TYPE/SCOPE_RESOURCE_ID",
      "resourceSelector": {
        "fullResourceName": "FULL_RESOURCE_NAME"
      },
      "identitySelector": {
        "identity": "PRINCIPAL"
      },
      "accessSelector": {
        "permissions": [
          "PERMISSION_1",
          "PERMISSION_2",
          "PERMISSION_N"
        ]
      }
    }
  },
  "labels": {
    "LABEL_KEY": "LABEL_VALUE"
  },
  "description": "DESCRIPTION"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에 저장된 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

{
  "name": "projects/12345678901/savedQueries/my-query",
  "description": "A query checking what permissions my-user@example.com has on my-project",
  "createTime": "2022-04-18T22:47:25.640783Z",
  "lastUpdateTime": "2022-04-18T22:47:25.640783Z",
  "labels": {
    "user": "my-user"
  },
  "content": {
    "iamPolicyAnalysisQuery": {
      "scope": "projects/scope-project",
      "resourceSelector": {
        "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
      },
      "identitySelector": {
        "identity": "user:my-user@example.com"
      }
    }
  }
}

저장된 쿼리 실행

gcloud

저장된 분석 쿼리를 실행하려면 gcloud asset analyze-iam-policy 명령어를 사용하세요.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • SCOPE_RESOURCE_TYPE: 검색 범위를 지정할 리소스 유형입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. project, folder, organization 값을 사용합니다.
  • SCOPE_RESOURCE_ID: 검색 범위를 지정할 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. 프로젝트 ID는 my-project 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.
  • RESOURCE_TYPE_PLURAL: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.
  • QUERY_ID: 사용할 저장된 쿼리의 ID입니다.

gcloud asset analyze-iam-policy 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset analyze-iam-policy \
--SCOPE_RESOURCE_TYPE=SCOPE_RESOURCE_ID \
--saved-analysis-query=RESOURCE_TYPE_PLURAL/RESOURCE_NUM_ID/savedQueries/QUERY_ID

Windows(PowerShell)

gcloud asset analyze-iam-policy `
--SCOPE_RESOURCE_TYPE=SCOPE_RESOURCE_ID `
--saved-analysis-query=RESOURCE_TYPE_PLURAL/RESOURCE_NUM_ID/savedQueries/QUERY_ID

Windows(cmd.exe)

gcloud asset analyze-iam-policy ^
--SCOPE_RESOURCE_TYPE=SCOPE_RESOURCE_ID ^
--saved-analysis-query=RESOURCE_TYPE_PLURAL/RESOURCE_NUM_ID/savedQueries/QUERY_ID

응답에는 지정된 리소스서 저장된 쿼리를 실행한 결과가 포함됩니다. 쿼리 결과 예시는 IAM 정책 분석을 참조하세요.

REST

저장된 분석 쿼리를 실행하려면 Cloud Asset Inventory API의 analyzeIamPolicy 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • SCOPE_RESOURCE_TYPE: 검색 범위를 지정할 리소스 유형입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. projects, folders, organizations 값을 사용합니다.
  • SCOPE_RESOURCE_ID: 검색 범위를 지정할 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 이 리소스 및 해당 종속 항목에 연결된 IAM 허용 정책만 분석됩니다. 프로젝트 ID는 my-project 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.
  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.
  • QUERY_ID: 사용할 저장된 쿼리의 ID입니다.

HTTP 메서드 및 URL:

POST https://cloudasset.googleapis.com/v1/SCOPE_RESOURCE_TYPE/SCOPE_RESOURCE_ID:analyzeIamPolicy

JSON 요청 본문:

{
  "savedAnalysisQuery": "RESOURCE_TYPE/RESOURCE_NUM_ID/savedQueries/QUERY_ID"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에는 지정된 리소스서 저장된 쿼리를 실행한 결과가 포함됩니다. 쿼리 결과 예시는 IAM 정책 분석을 참조하세요.

저장된 쿼리 가져오기

gcloud

저장된 정책 분석 도구 쿼리를 가져오려면 gcloud asset saved-queries get 명령어를 사용합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • QUERY_ID: 가져올 저장된 쿼리의 ID입니다.
  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. project, folder, organization 값을 사용합니다.
  • RESOURCE_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset saved-queries describe QUERY_ID --RESOURCE_TYPE=RESOURCE_NUM_ID

Windows(PowerShell)

gcloud asset saved-queries describe QUERY_ID --RESOURCE_TYPE=RESOURCE_NUM_ID

Windows(cmd.exe)

gcloud asset saved-queries describe QUERY_ID --RESOURCE_TYPE=RESOURCE_NUM_ID

응답에 저장된 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

content:
  iamPolicyAnalysisQuery:
    resourceSelector:
      fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
    identitySelector:
      identity: user:my-user@example.com
    scope: projects/scope-project
createTime: 2022-04-18T22:47:25.640783Z
description: A query checking what permissions my-user@example.com has on my-project
labels:
  user: my-user
lastUpdateTime: 2022-04-18T22:47:25.640783Z
name: projects/12345678901/savedQueries/my-query

REST

저장된 정책 분석 도구 쿼리를 가져오려면 Cloud Asset Inventory API의 savedQueries.get 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.
  • QUERY_ID: 가져올 저장된 쿼리의 ID입니다.

HTTP 메서드 및 URL:

GET https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_NUM_ID/savedQueries/QUERY_ID

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에 저장된 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

{
  "name": "projects/12345678901/savedQueries/my-query",
  "description": "A query checking what permissions my-user@example.com has on my-project",
  "createTime": "2022-04-18T22:47:25.640783Z",
  "lastUpdateTime": "2022-04-18T22:47:25.640783Z",
  "labels": {
    "user": "my-user"
  },
  "content": {
    "iamPolicyAnalysisQuery": {
      "scope": "projects/scope-project",
      "resourceSelector": {
        "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
      },
      "identitySelector": {
        "identity": "user:my-user@example.com"
      }
    }
  }
}

저장된 쿼리 나열

gcloud

프로젝트, 폴더, 조직에서 모든 저장된 정책 분석 도구 쿼리를 나열하려면 gcloud asset saved-queries list 명령어를 사용합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. project, folder, organization 값을 사용합니다.
  • RESOURCE_ID: 저장된 쿼리를 나열할 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset saved-queries list --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud asset saved-queries list --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud asset saved-queries list --RESOURCE_TYPE=RESOURCE_ID

응답에는 프로젝트, 폴더, 조직에 대한 모든 저장된 정책 분석 도구 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

savedQueries:
- content:
    iamPolicyAnalysisQuery:
      resourceSelector:
        fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
      identitySelector:
        identity: user:my-user@example.com
      scope: projects/scope-project
  createTime: '2022-04-15T21:17:33.777212Z'
  description: A query checking what permissions my-user@example.com has on my-project
  labels:
    missing-info: permissions
  lastUpdateTime: '2022-04-15T21:17:33.777212Z'
  name: projects/12345678901/savedQueries/query-1
- content:
    iamPolicyAnalysisQuery:
      accessSelector:
        permissions:
        - iam.roles.get
        - iam.roles.list
      identitySelector:
        identity: user:my-user@example.com
      scope: projects/scope-project
  createTime: '2022-04-18T22:47:25.640783Z'
  description: A query checking what resources my-user@example.com has permission to view roles on
  labels:
    missing-info: resource
  lastUpdateTime: '2022-04-18T22:47:25.640783Z'
  name: projects/12345678901/savedQueries/query-2

REST

프로젝트, 폴더, 조직에서 모든 저장된 정책 분석 도구 쿼리를 나열하려면 Cloud Asset Inventory API의 savedQueries.list 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_ID: 저장된 쿼리를 나열할 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.

HTTP 메서드 및 URL:

GET https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/savedQueries

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에는 프로젝트, 폴더, 조직에 대한 모든 저장된 정책 분석 도구 쿼리가 포함됩니다. 예를 들어 다음과 같을 수 있습니다.

{
  "savedQueries": [
    {
      "name": "projects/12345678901/savedQueries/query-1",
      "description": "A query checking what permissions my-user@example.com has on my-project",
      "createTime": "2022-04-15T21:17:33.777212Z",
      "lastUpdateTime": "2022-04-15T21:17:33.777212Z",
      "labels": {
        "missing-info": "permission"
      },
      "content": {
        "iamPolicyAnalysisQuery": {
          "scope": "projects/scope-project",
          "resourceSelector": {
            "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
          },
          "identitySelector": {
            "identity": "user:my-user@example.com"
          }
        }
      }
    },
    {
      "name": "projects/12345678901/savedQueries/query-2",
      "description": "A query checking what resources my-user@example.com has permission to view roles on",
      "createTime": "2022-04-18T22:47:25.640783Z",
      "lastUpdateTime": "2022-04-18T22:47:25.640783Z",
      "labels": {
        "missing-info": "resource"
      },
      "content": {
        "iamPolicyAnalysisQuery": {
          "scope": "projects/scope-project",
          "accessSelector": {
            "permissions": [
              "iam.roles.get",
              "iam.roles.list"
            ]
          },
          "identitySelector": {
            "identity": "user:my-user@example.com"
          }
        }
      }
    }
  ]
}

저장된 쿼리 업데이트

gcloud

저장된 정책 분석 도구 쿼리를 업데이트하려면 gcloud asset saved-queries update 명령어를 사용합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • UPDATED_QUERY: (선택사항) 저장할 업데이트된 정책 분석 도구 쿼리입니다. 쿼리 형식을 지정하는 방법은 저장된 쿼리 만들기를 참조하세요.
  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. project, folder, organization 값을 사용합니다.
  • QUERY_ID: 수정할 저장된 쿼리의 ID입니다.
  • RESOURCE_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 ID입니다. 프로젝트 ID는 영숫자 또는 숫자일 수 있습니다. 폴더 및 조직 ID는 숫자입니다.
  • UPDATED_LABELS: (선택사항) 저장된 쿼리에 연결할 업데이트된 라벨입니다. 또한, --remove-labels="KEY_1,KEY_2" 플래그가 있는 라벨을 제거하거나 --clear-labels 플래그가 있는 모든 라벨을 지울 수도 있습니다.
  • UPDATED_DESCRIPTION: (선택사항) 저장된 쿼리에 대한 업데이트된 설명입니다.

다음 콘텐츠를 request.json 파일에 저장합니다.

{
  "IamPolicyAnalysisQuery": {
    UPDATED_QUERY
  }
}

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset saved-queries update \
QUERY_ID \
--RESOURCE_TYPE=RESOURCE_ID \
--query-file-path=request.json \
--update-labels="UPDATED_LABELS" \
--description="DESCRIPTION"

Windows(PowerShell)

gcloud asset saved-queries update `
QUERY_ID `
--RESOURCE_TYPE=RESOURCE_ID `
--query-file-path=request.json `
--update-labels="UPDATED_LABELS" `
--description="DESCRIPTION"

Windows(cmd.exe)

gcloud asset saved-queries update ^
QUERY_ID ^
--RESOURCE_TYPE=RESOURCE_ID ^
--query-file-path=request.json ^
--update-labels="UPDATED_LABELS" ^
--description="DESCRIPTION"

응답에는 업데이트된 쿼리가 포함됩니다.

REST

저장된 정책 분석 도구 쿼리를 삭제하려면 Cloud Asset Inventory API의 savedQueries.patch 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.
  • QUERY_ID: 수정할 저장된 쿼리의 ID입니다.
  • UPDATED_FIELDS: 업데이트할 쉼표로 구분된 필드 목록입니다. 예를 들어 콘텐츠, 라벨, 설명 필드를 업데이트하는 경우 content,labels,description 값을 사용합니다.
  • UPDATED_QUERY: (선택사항) 저장할 업데이트된 정책 분석 도구 쿼리입니다. 쿼리 형식을 지정하는 방법은 저장된 쿼리 만들기를 참조하세요.
  • UPDATED_LABELS: (선택사항) 저장된 쿼리에 연결할 업데이트된 라벨입니다.
  • UPDATED_DESCRIPTION: (선택사항) 저장된 쿼리에 대한 업데이트된 설명입니다.

HTTP 메서드 및 URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_NUM_ID/savedQueries/QUERY_ID?update_mask=UPDATED_FIELDS

JSON 요청 본문:

{
  "content": {
    "iamPolicyAnalysisQuery": {
      UPDATED_QUERY
  },
  "labels": {
    UPDATED_LABELS
  },
  "description": "UPDATED_DESCRIPTION"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에는 업데이트된 쿼리가 포함됩니다.

저장된 쿼리 삭제

gcloud

저장된 정책 분석 도구 쿼리를 삭제하려면 gcloud asset saved-queries delete 명령어를 사용합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • QUERY_ID: 삭제할 저장된 쿼리의 ID입니다.
  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. project, folder, organization 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud asset saved-queries delete \
QUERY_ID \
--RESOURCE_TYPE=RESOURCE_NUM_ID

Windows(PowerShell)

gcloud asset saved-queries delete `
QUERY_ID `
--RESOURCE_TYPE=RESOURCE_NUM_ID

Windows(cmd.exe)

gcloud asset saved-queries delete ^
QUERY_ID ^
--RESOURCE_TYPE=RESOURCE_NUM_ID

REST

저장된 정책 분석 도구 쿼리를 삭제하려면 Cloud Asset Inventory API의 savedQueries.delete 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 쿼리가 저장된 리소스 유형입니다. projects, folders, organizations 값을 사용합니다.
  • RESOURCE_NUM_ID: 쿼리가 저장된 Google Cloud 프로젝트, 폴더, 조직의 숫자 ID입니다. 영숫자 프로젝트 ID를 사용하여 프로젝트를 식별할 수 없습니다. 프로젝트 번호를 사용해야 합니다.
  • QUERY_ID: 삭제할 저장된 쿼리의 ID입니다.

HTTP 메서드 및 URL:

DELETE https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_NUM_ID/savedQueries/QUERY_ID

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

쿼리가 성공적으로 삭제되면 API가 빈 응답을 반환합니다.