피드를 만들고 구독하여 리소스 및 정책 변경사항에 대한 실시간 알림을 받을 수 있습니다.
피드를 만들 때 조직, 폴더, 프로젝트 내에서 지원되는 리소스 유형, IAM 정책, 액세스 정책, 조직 정책의 변경사항을 모니터링하도록 지정할 수 있습니다. 또한 애셋에 대한 특정 유형의 변경사항 알림만 받도록 피드에 조건을 추가할 수 있습니다.
피드를 만든 후 지정된 애셋이 변경될 때마다 Pub/Sub를 통해 알림을 받습니다. Pub/Sub 주제에 게시되는 첫 번째 메시지는 문자열 형식의 환영 메시지이며 다음 모든 메시지는 TemporalAsset 형식입니다.
다음은 RESOURCE
콘텐츠 유형의 샘플 Pub/Sub 메시지입니다.
{
"asset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
LATEST_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-30T00:00:00.000000Z"
},
"priorAsset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
PREVIOUS_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-29T00:00:00.000000Z"
},
"priorAssetState":"PRESENT",
"window":{
"startTime":"2024-01-30T00:00:00.000000Z"
}
}
Pub/Sub 또는 구독 설정 방법에 대한 자세한 내용은 Pub/Sub 문서를 참조하세요.
시작하기 전에
Cloud 애셋 인벤토리 명령어를 실행할 프로젝트에서 Cloud 애셋 인벤토리 API를 사용 설정하세요.
계정에 Cloud 애셋 인벤토리 API를 호출할 수 있는 올바른 역할이 있는지 확인합니다. 각 호출 유형에 대한 개별 권한은 권한을 참고하세요.
아직 Pub/Sub 주제가 없는 경우 Pub/Sub 주제를 만듭니다.
제한사항
피드 만들기, 업데이트, 삭제를 수행하려면 최대 10분까지 걸릴 수 있습니다.
피드가 생성된 프로젝트는 피드보다 오래 지속되어야 합니다. 대상 Pub/Sub 주제에 게시하는 데 사용되는 서비스 계정이 해당 프로젝트에 있기 때문입니다. 피드가 더 이상 작동하지 않고 프로젝트가 영구적으로 삭제되는 즉시 삭제됩니다.
상위 요소에 피드를 최대 200개까지 만들 수 있습니다. 이 한도는 해당 상위 요소 바로 뒤에 있는 피드에만 적용되며 하위 요소의 피드를 계산하지 않습니다. 예를 들어 조직에 프로젝트가 10개 있는 경우 각 프로젝트에는 최대 200개의 피드를 포함할 수 있으며, 조직 역시 최대 200개의 피드를 가질 수 있습니다.
피드 만들기
gcloud
gcloud asset feeds create FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --condition-title="CONDITION_TITLE" \ --condition-description="CONDITION_DESCRIPTION" \ --condition-expression="CONDITION_EXPRESSION"
다음 값을 제공합니다.
-
SCOPE
: 다음 중 한 가지 값을 사용합니다.-
project=PROJECT_ID
: 여기서PROJECT_ID
는 피드를 만들 프로젝트의 ID입니다. -
folder=FOLDER_ID
: 여기서FOLDER_ID
는 피드를 만들 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드를 만들 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
FEED_ID
: 고유한 애셋 피드 식별자입니다.-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. -
TOPIC_PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다. -
TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다. - 다음 애셋 정의 중 하나 이상:
ASSET_NAME_#
: 선택사항. 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_TYPE_#
: 선택사항. 검색 가능한 애셋 유형의 쉼표로 구분된 목록입니다. RE2 호환 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.--asset-types
를 지정하지 않으면 모든 애셋 유형이 반환됩니다.
CONTENT_TYPE
: 선택사항. 검색하려는 메타데이터의 콘텐츠 유형입니다.--content-type
이 지정되지 않으면 애셋 이름, 애셋이 마지막으로 업데이트된 시간, 애셋이 속한 프로젝트, 폴더, 조직과 같은 기본 정보만 반환됩니다.-
RELATIONSHIP_TYPE_#
: 선택사항. Security Command Center 프리미엄 및 엔터프라이즈 등급 구독자만 사용할 수 있습니다. 검색하려는 애셋 관계 유형의 쉼표로 구분된 목록입니다. 이렇게 하려면CONTENT_TYPE
을RELATIONSHIP
으로 설정해야 합니다. - 선택적 피드 조건을 추가하는 경우 명령어에 다음 세부정보를 포함합니다.
CONDITION_TITLE
: 피드 조건에 할당할 제목입니다.-
CONDITION_DESCRIPTION
: 피드 조건에 할당할 설명입니다. CONDITION_EXPRESSION
: 피드에 적용할 조건 표현식입니다.
모든 옵션은 gcloud CLI 참조를 확인하세요.
예
다음 명령어를 실행하여 my-project
프로젝트에서 다음 리소스가 변경될 때 알려주는 피드를 my-topic
Pub/Sub 주제에 만듭니다.
my-bucket
Cloud Storage 버킷- 모든 BigQuery 테이블
gcloud asset feeds create my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --asset-names=//storage.googleapis.com/my-bucket \ --asset-types=bigquery.googleapis.com/Table \ --content-type=resource
응답 예시
assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
HTTP 메서드 및 URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
헤더:
X-Goog-User-Project: BILLING_PROJECT_ID
JSON 요청 본문:
{ "feedId": "FEED_ID", "feed": { "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/TOPIC_PROJECT_ID/topics/TOPIC_ID" } }, "condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CONDITION_EXPRESSION" } } }
다음 값을 제공합니다.
-
SCOPE_PATH
: 다음 중 한 가지 값을 사용합니다.허용되는 값은 다음과 같습니다.
-
projects/PROJECT_ID
: 여기서PROJECT_ID
는 피드를 만들 프로젝트의 ID입니다. -
projects/PROJECT_NUMBER
: 여기서PROJECT_NUMBER
는 피드를 만들 프로젝트의 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
Google Cloud 콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
: 여기서FOLDER_ID
는 피드를 만들 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드를 만들 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. FEED_ID
: 고유한 애셋 피드 식별자입니다.- 다음 애셋 정의 중 하나 이상:
ASSET_NAME_#
: 선택사항. 애셋 전체 이름 배열입니다.ASSET_TYPE_#
: 선택사항. 검색 가능한 애셋 유형의 배열입니다. RE2 호환 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.assetTypes
를 지정하지 않으면 모든 애셋 유형이 반환됩니다.
CONTENT_TYPE
: 선택사항. 검색하려는 메타데이터의 콘텐츠 유형입니다.contentType
이 지정되지 않으면 애셋 이름, 애셋이 마지막으로 업데이트된 시간, 애셋이 속한 프로젝트, 폴더, 조직과 같은 기본 정보만 반환됩니다.-
RELATIONSHIP_TYPE_#
: 선택사항. Security Command Center 프리미엄 및 엔터프라이즈 등급 구독자만 사용할 수 있습니다. 검색하려는 애셋 관계 유형의 쉼표로 구분된 목록입니다. 이렇게 하려면CONTENT_TYPE
을RELATIONSHIP
으로 설정해야 합니다. -
TOPIC_PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다. -
TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다. - 선택적 피드 조건을 추가하는 경우 명령어에 다음 세부정보를 포함합니다.
CONDITION_TITLE
: 피드 조건에 할당할 제목입니다.-
CONDITION_DESCRIPTION
: 피드 조건에 할당할 설명입니다. CONDITION_EXPRESSION
: 피드에 적용할 조건 표현식입니다.
모든 옵션은 REST 참조를 참고하세요.
명령어 예시
다음 명령어 중 하나를 실행하여 my-project
프로젝트에서 다음 리소스가 변경될 때 알려주는 피드를 my-topic
Pub/Sub 주제에 만듭니다.
my-bucket
Cloud Storage 버킷- 모든 BigQuery 테이블
cURL(Linux, macOS, Cloud Shell)
curl -X POST \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell(Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
응답 예시
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
피드 가져오기
gcloud
gcloud asset feeds describe FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE
: 다음 중 한 가지 값을 사용합니다.-
project=PROJECT_ID
: 여기서PROJECT_ID
는 피드가 있는 프로젝트의 ID입니다. -
folder=FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. FEED_ID
: 고유한 애셋 피드 식별자입니다.
모든 옵션은 gcloud CLI 참조를 확인하세요.
응답 예시
assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
HTTP 메서드 및 URL:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
헤더:
X-Goog-User-Project: BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE_PATH
: 다음 중 한 가지 값을 사용합니다.허용되는 값은 다음과 같습니다.
-
projects/PROJECT_ID
: 여기서PROJECT_ID
는 피드가 있는 프로젝트의 ID입니다. -
projects/PROJECT_NUMBER
: 여기서PROJECT_NUMBER
는 피드가 있는 프로젝트의 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
Google Cloud 콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. FEED_ID
: 고유한 애셋 피드 식별자입니다.
모든 옵션은 REST 참조를 참고하세요.
명령어 예시
다음 명령어 중 하나를 실행하여 특정 피드를 가져옵니다.
cURL(Linux, macOS, Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell(Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
응답 예시
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
피드 나열
프로젝트, 폴더, 조직의 모든 피드를 나열하려면 다음 요청 중 하나를 수행합니다.
gcloud
gcloud asset feeds list \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE
: 다음 중 한 가지 값을 사용합니다.-
project=PROJECT_ID
: 여기서PROJECT_ID
는 피드가 있는 프로젝트의 ID입니다. -
folder=FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요.
모든 옵션은 gcloud CLI 참조를 확인하세요.
응답 예시
- assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
HTTP 메서드 및 URL:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
헤더:
X-Goog-User-Project: BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE_PATH
: 다음 중 한 가지 값을 사용합니다.허용되는 값은 다음과 같습니다.
-
projects/PROJECT_ID
: 여기서PROJECT_ID
는 피드가 있는 프로젝트의 ID입니다. -
projects/PROJECT_NUMBER
: 여기서PROJECT_NUMBER
는 피드가 있는 프로젝트의 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
Google Cloud 콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요.
모든 옵션은 REST 참조를 참고하세요.
명령어 예시
다음 명령어 중 하나를 실행하여 my-project
프로젝트의 모든 피드를 나열합니다.
cURL(Linux, macOS, Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell(Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
응답 예시
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
피드 업데이트
다음과 같은 방법으로 기존 피드의 속성을 업데이트할 수 있습니다.
특정 확장 애셋 이름을 추가 및 삭제하거나 피드에서 모두 삭제합니다.
특정 확장 애셋 유형을 추가 및 삭제하거나 피드에서 모두 삭제합니다.
조건을 덮어쓰거나 피드에서 삭제합니다.
gcloud
gcloud asset feeds update FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --clear-asset-names \ --add-asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --remove-asset-names=ASSET_NAME_3,ASSET_NAME_4,... \ --clear-asset-types \ --add-asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --remove-asset-types=ASSET_TYPE_3,ASSET_TYPE_4,... \ --clear-content-type \ --content-type=CONTENT_TYPE \ --clear-relationship-types \ --remove-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --add-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --clear-condition-title \ --condition-title="CONDITION_TITLE" \ --clear-condition-description \ --condition-description="CONDITION_DESCRIPTION" \ --clear-condition-expression --condition-expression="CONDITION_EXPRESSION"
다음 값을 제공합니다.
-
SCOPE
: 다음 중 한 가지 값을 사용합니다.-
project=PROJECT_ID
: 여기서PROJECT_ID
는 피드를 업데이트할 프로젝트의 ID입니다. -
folder=FOLDER_ID
: 여기서FOLDER_ID
는 피드를 업데이트할 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드를 업데이트할 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
FEED_ID
: 고유한 애셋 피드 식별자입니다.-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. -
TOPIC_PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다. -
TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다. - 다음 애셋 정의 중 하나 이상:
ASSET_NAME_#
: 선택사항. 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_TYPE_#
: 선택사항. 검색 가능한 애셋 유형의 쉼표로 구분된 목록입니다. RE2 호환 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.--asset-types
를 지정하지 않으면 모든 애셋 유형이 반환됩니다.
CONTENT_TYPE
: 선택사항. 검색하려는 메타데이터의 콘텐츠 유형입니다.--content-type
이 지정되지 않으면 애셋 이름, 애셋이 마지막으로 업데이트된 시간, 애셋이 속한 프로젝트, 폴더, 조직과 같은 기본 정보만 반환됩니다.-
RELATIONSHIP_TYPE_#
: 선택사항. Security Command Center 프리미엄 및 엔터프라이즈 등급 구독자만 사용할 수 있습니다. 검색하려는 애셋 관계 유형의 쉼표로 구분된 목록입니다. 이렇게 하려면CONTENT_TYPE
을RELATIONSHIP
으로 설정해야 합니다. - 선택적 피드 조건을 추가하는 경우 명령어에 다음 세부정보를 포함합니다.
CONDITION_TITLE
: 피드 조건에 할당할 제목입니다.-
CONDITION_DESCRIPTION
: 피드 조건에 할당할 설명입니다. CONDITION_EXPRESSION
: 피드에 적용할 조건 표현식입니다.
모든 옵션은 gcloud CLI 참조를 확인하세요.
예
다음 명령어를 실행하여 my-project
프로젝트의 my-topic
Pub/Sub 주제를 업데이트합니다. 이 요청은 모니터링에서 모든 애셋 이름을 삭제하고 애셋 유형 gkemulticloud.googleapis.com/AttachedCluster
를 추가합니다.
gcloud asset feeds update my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --clear-asset-names \ --add-asset-types=gkemulticloud.googleapis.com/AttachedCluster
응답 예시
assetTypes: - bigquery.googleapis.com/Table - gkemulticloud.googleapis.com/AttachedCluster condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
피드 속성을 업데이트하려면 update_mask
의 속성 경로와 해당 속성 값을 지정해야 합니다.
REST
HTTP 메서드 및 URL:
PATCH https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
헤더:
X-Goog-User-Project: BILLING_PROJECT_ID
JSON 요청 본문:
{ "feed": { "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/TOPIC_PROJECT_ID/topics/TOPIC_ID" } } }, "condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CONDITION_EXPRESSION" }, "update_mask": { "paths": [ "feed_output_config.pubsub_destination.topic", ATTRIBUTE_PATH_1, ATTRIBUTE_PATH_2, ... ] } }
다음 값을 제공합니다.
-
SCOPE_PATH
: 다음 중 한 가지 값을 사용합니다.허용되는 값은 다음과 같습니다.
-
projects/PROJECT_ID
: 여기서PROJECT_ID
는 피드를 업데이트할 프로젝트의 ID입니다. -
projects/PROJECT_NUMBER
: 여기서PROJECT_NUMBER
는 피드를 업데이트할 프로젝트의 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
Google Cloud 콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
: 여기서FOLDER_ID
는 피드를 업데이트할 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
: 여기서ORGANIZATION_ID
는 피드를 업데이트할 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요. FEED_ID
: 고유한 애셋 피드 식별자입니다.- 다음 애셋 정의 중 하나 이상:
ASSET_NAME_#
: 선택사항. 애셋 전체 이름 배열입니다.ASSET_TYPE_#
: 선택사항. 검색 가능한 애셋 유형의 배열입니다. RE2 호환 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.assetTypes
를 지정하지 않으면 모든 애셋 유형이 반환됩니다.
CONTENT_TYPE
: 선택사항. 검색하려는 메타데이터의 콘텐츠 유형입니다.contentType
이 지정되지 않으면 애셋 이름, 애셋이 마지막으로 업데이트된 시간, 애셋이 속한 프로젝트, 폴더, 조직과 같은 기본 정보만 반환됩니다.-
RELATIONSHIP_TYPE_#
: 선택사항. Security Command Center 프리미엄 및 엔터프라이즈 등급 구독자만 사용할 수 있습니다. 검색하려는 애셋 관계 유형의 쉼표로 구분된 목록입니다. 이렇게 하려면CONTENT_TYPE
을RELATIONSHIP
으로 설정해야 합니다. -
TOPIC_PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다. -
TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다. - 선택적 피드 조건을 추가하는 경우 명령어에 다음 세부정보를 포함합니다.
CONDITION_TITLE
: 피드 조건에 할당할 제목입니다.-
CONDITION_DESCRIPTION
: 피드 조건에 할당할 설명입니다. CONDITION_EXPRESSION
: 피드에 적용할 조건 표현식입니다.
모든 옵션은 REST 참조를 참고하세요.
명령어 예시
다음 명령어 중 하나를 실행하여 my-project
프로젝트의 my-topic
Pub/Sub 주제를 업데이트합니다. 이 요청은 모니터링에서 모든 애셋 이름을 삭제하고 애셋 유형 gkemulticloud.googleapis.com/AttachedCluster
를 추가합니다.
cURL(Linux, macOS, Cloud Shell)
curl -X PATCH \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell(Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } } "@ Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
응답 예시
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetTypes": [ "bigquery.googleapis.com/Table", "gkemulticloud.googleapis.com/AttachedCluster" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
피드 삭제
애셋 변경 알림을 더 이상 받지 않으려면 다음 요청 중 하나를 실행하여 피드를 삭제합니다.
gcloud
gcloud asset feeds delete FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE
: 다음 중 한 가지 값을 사용합니다.-
project=PROJECT_ID
: 여기서PROJECT_ID
는 피드가 있는 프로젝트의 ID입니다. -
folder=FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요.
모든 옵션은 gcloud CLI 참조를 확인하세요.
응답 예시
삭제에 성공하면 응답이 반환되지 않습니다.
REST
HTTP 메서드 및 URL:
DELETE https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
헤더:
X-Goog-User-Project: BILLING_PROJECT_ID
다음 값을 제공합니다.
-
SCOPE_PATH
: 다음 중 한 가지 값을 사용합니다.허용되는 값은 다음과 같습니다.
-
projects/PROJECT_NUMBER
: 여기서PROJECT_NUMBER
는 피드가 있는 프로젝트의 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
Google Cloud 콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
: 여기서FOLDER_ID
는 피드가 있는 폴더의 ID입니다.Google Cloud 폴더의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 폴더의 ID를 찾으려면 다음 단계를 완료하세요.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더의 ID를 검색할 수 있습니다.
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
여기서 TOP_LEVEL_FOLDER_NAME은 폴더 이름과 부분 또는 전체 문자열이 일치하는 값입니다. 발견된 폴더에 대한 자세한 정보를 보려면
--format
플래그를 삭제합니다.이전 명령어는 폴더 내 하위 폴더의 ID를 반환하지 않습니다. 이렇게 하려면 최상위 폴더의 ID를 사용하여 다음 명령어를 실행합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, 여기서ORGANIZATION_ID
는 피드가 있는 조직의 ID입니다.Google Cloud 조직의 ID를 찾는 방법
Google Cloud 콘솔
Google Cloud 조직의 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 목록 상자를 클릭합니다.
- 목록 상자에서 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직의 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트 설정에 대해 자세히 알아보세요.
모든 옵션은 REST 참조를 참고하세요.
명령어 예시
다음 명령어 중 하나를 실행하여 특정 피드를 삭제합니다.
cURL(Linux, macOS, Cloud Shell)
curl -X DELETE \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed
PowerShell(Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed" | Select-Object -Expand Content
응답 예시
{}
Go
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud 애셋 인벤토리용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud 애셋 인벤토리 클라이언트 라이브러리를 참조하세요.
Cloud 애셋 인벤토리에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
피드 조건
특정 애셋에 대한 특정 유형의 변경사항만 보려면 피드에 조건을 추가할 수 있습니다. 조건은 Common Expression Language(CEL)로 작성됩니다.
조건 지원은 제한적입니다. 경우에 따라 조건으로 피드를 만들거나 업데이트하면 지연이 발생할 수 있습니다.
제한사항
조건 표현식의 길이는 영문 3,000자로 제한됩니다.
조건 표현식의 대부분의 변수 이름은 각 단어 사이에 밑줄이 있는 소문자로 표시됩니다. 예를 들면
example_variable
입니다.예외는 Resource 객체에 있는
data
의 하위 필드 변수 이름입니다. 단어 구분자가 없으며 첫 번째 단어 이후 각 단어의 첫 글자는 대문자로 표시됩니다. 예를 들면exampleVariable
입니다.조건 표현식에 대한 일부 검증은 피드 생성 또는 피드 업데이트 시간 중에 실행됩니다. 그러나 이러한 검증은 특히 동적 유형을 갖는
temporal_asset.asset.resource.data
필드에 설정된 조건에 대해서는 포괄적이지 않습니다. 가능하면 대신 적절한 gcloud CLI 또는 REST API 매개변수를 사용하여 피드를 필터링하세요.평가 중에 오류가 발생하면 알림은 전송되지 않지만 오류가 로깅됩니다.
temporal_asset.asset.resource.data
의 동적 유형에서는 누락된 필드에 지정된 조건이 런타임 오류를 트리거하고 알림이 게시되지 않습니다. 예를 들어 조건temporal_asset.asset.resource.data.name != "my_name"
의 경우 업데이트에서name
필드가 누락되면 평가가 실패하고 알림이 수신되지 않습니다. 특정 필드가 있는 상태에서 조건이 작동하는 경우 조건에 존재 확인을 추가하여 제대로 평가되도록 하세요.정적 enum 유형은 정규화된 경로 이름 또는 원시 정수로 표현할 수 있습니다. 예를 들어
prior_asset_state
에 유효한 표현식은 다음과 같습니다.temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
및
temporal_asset.prior_asset_state == 3
temporal_asset.asset.resource.data
의 동적 열거형 유형은 원시 문자열로 표시됩니다. 예를 들어 다음 표현식은 애셋 유형cloudresourcemanager.googleapis.com/Project
에 유효합니다.temporal_asset.asset.resource.data.lifecycleState == "ACTIVE"
CEL로 조건 표현식 만들기
피드 조건에서 Common Expression Language(CEL)는 속성 데이터를 기반으로 불리언 결정을 내리는 데 사용됩니다. 조건 표현식은 논리 연산자를 사용하여 결합된 하나 이상의 문으로 구성됩니다. 각 문은 알림 전송 여부를 결정하는 TemporalAsset
에 적용되는 속성 기반 제어 규칙을 나타냅니다.
다음 CEL 기능은 피드 상태에 가장 중요합니다.
변수: 조건은 변수를 사용하여 주어진 속성을 표현합니다(예:
temporal_asset.deleted
(Boolean
) 또는temporal_asset.asset.name
(String
)). 이러한 변수는 런타임에 컨텍스트 기반 값으로 채워집니다.연산자:
String
과 같은 모든 데이터 유형은 논리 표현식을 만드는 데 사용할 수 있는 연산자 집합을 지원합니다. 일반적으로 연산자는 변수에 포함된 값을temporal_asset.asset.name == "//cloudresourcemanager.googleapis.com/projects/12345"
과 같은 리터럴 값과 비교하는 데 사용됩니다. 이 예시에서temporal_asset.asset.name
입력 값이//cloudresourcemanager.googleapis.com/projects/12345
이면 표현식은true
로 평가됩니다.함수: 함수는 더 복잡한 작업을 지원하는 데이터 유형의 복합 연산자입니다. 조건 표현식에는 지정된 데이터 유형과 함께 사용할 수 있는 사전 정의된 함수가 있습니다. 예를 들어
temporal_asset.asset.name.contains("keyword")
는contains
라는 함수를 사용하여temporal_asset.asset.name
값에"keyword"
가 포함되어 있는지 확인합니다. 포함된 경우true
로 평가됩니다.논리 연산자: 조건은 기본 표현식 문에서 복잡한 논리 표현식을 작성하는 데 사용할 수 있는 논리 연산자, 즉
&&
(AND) 및||
(OR)를 지원합니다. 이러한 논리 연산자를 사용하면 조건 표현식에서 여러 입력 변수를 사용할 수 있습니다. 예를 들어temporal_asset.deleted && temporal_asset.window.start_time.getFullYear() > 2020
은 두 개의 기본 문을 결합하며,true
평가 결과를 도출하려면 두 문이 모두 조건을 충족해야 합니다.
CEL 기능에 대한 자세한 내용은 언어 정의를 참조하세요.
조건 변수 사용
조건 변수를 사용하면 다른 속성에 대한 조건을 만들 수 있습니다. 지원되는 조건 변수는 다음과 같습니다.
- temporal_asset: TemporalAsset 형식의 가장 최근 애셋 변경입니다. 조건이 true로 평가되면
TemporalAsset
이 구성된 대상으로 전송됩니다.
조건 표현식 예시
다음 조건 표현식은 생성 이벤트에 대한 알림을 보냅니다.
temporal_asset.deleted == false &&
temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
다음 조건 표현식은 폴더 12345
및 23456
에 있는 리소스에 대한 알림을 보냅니다.
"folders/12345" in temporal_asset.asset.ancestors ||
"folders/23456" in temporal_asset.asset.ancestors
다음 조건 표현식은 피드에서 이미 애셋 유형이 compute.googleapis.com/Firewall
로 설정되어 있다고 가정하여 방화벽에 새로 허용되는 규칙이 추가될 때 알림을 보냅니다.
size(temporal_asset.asset.resource.data.allowed) >
size(temporal_asset.prior_asset.resource.data.allowed)
다음 조건 표현식은 피드에서 이미 애셋 유형이 compute.googleapis.com/Instance
로 설정되었다고 가정하여 n1-standard-1
머신 유형의 VM 인스턴스에 대한 알림을 보냅니다.
temporal_asset.asset.resource.data.machineType.endsWith('/machineTypes/n1-standard-1')
다음 조건 표현식은 피드에서 애셋 유형이 storage.googleapis.com/Bucket
으로 설정되고 콘텐츠 유형이 IAM_POLICY
로 설정되었다고 가정하고 allUsers
의 IAM 정책이 있는 스토리지 버킷에 대한 알림을 보냅니다.
temporal_asset.asset.iam_policy.bindings.exists(b, b.members.exists(m, m == "allUsers"))
다음 조건 표현식은 라벨에 test
키가 있는 스토리지 버킷이 삭제될 때 알림을 보냅니다.
temporal_asset.deleted == true && temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.PRESENT && "test" in temporal_asset.prior_asset.resource.data.labels
문제 해결
리소스 또는 IAM 정책 업데이트 알림을 받지 못하는 경우 다음 단계에 따라 문제를 해결할 수 있습니다.
저작물의 메타데이터가 변경되었는지 확인합니다. 실시간 피드는 지원되는 리소스 유형의 메타데이터가 변경된 경우에만 업데이트를 전송합니다. Cloud Storage 버킷에 새 파일을 업로드하는 것과 같은 작업은 메타데이터 변경을 트리거하지 않습니다.
애셋이 피드에 지정한 애셋 이름 또는 유형 중 하나와 일치하는지 확인합니다.
프로젝트 삭제의 경우 프로젝트를 종료하면 30일 이내에 작업을 실행취소할 수 있다는 점에 유의하세요. 따라서 프로젝트가 영구적으로 삭제될 때까지 애셋 메타데이터의
deleted
필드는 설정되지 않습니다. 삭제 대기 중인 프로젝트를 모니터링하려면 대신 프로젝트의lifecycleState
필드에 조건을 설정할 수 있습니다. 예를 들면 다음과 같습니다.temporal_asset.asset.resource.data.lifecycleState == "DELETE_REQUESTED"
로그를 확인하여 주제에 업데이트를 게시할 때 오류가 있는지 확인하세요.
Cloud Logging
실시간 피드가 Pub/Sub를 통해 리소스 또는 IAM 정책 업데이트를 전송하지 못하는 경우 Cloud 애셋 인벤토리는 로깅을 통해 오류 상태 및 메시지를 로깅합니다. 로깅은 기본적으로 사용 설정되어 있으며 Google Cloud Observability에 속합니다. Google Cloud Observability 가격 책정을 알아보세요.
실시간 피드 로그 보기
실시간 피드 로그는 Pub/Sub 주제에 의해 색인이 생성됩니다. 모든 로그를 보려면 다음 안내를 따르세요.
Google Cloud 콘솔의 로그 탐색기 페이지로 이동합니다.
모든 필드 검색 상자 근처에 있는 리소스 목록을 클릭합니다.
Cloud Pub/Sub Topic
을 검색한 후 Cloud Pub/Sub 주제 리소스 유형을 클릭합니다.보려는 주제 ID를 클릭합니다.
적용을 클릭합니다.
로그 필드에는 UTF-8 인코딩이 적용됩니다. UTF-8 문자를 제외하고는 모두 물음표로 대체됩니다.
로깅되는 정보
실시간 피드 로그 항목에는 다음과 같은 유형의 정보가 포함됩니다.
심각도, 프로젝트 ID, 프로젝트 번호 또는 타임스탬프와 같은 대부분의 Google Cloud 로그에 표시되는 일반 정보
리소스 또는 IAM 정책 업데이트를 게시할 때 애셋 이름, 피드 출력 구성 및 오류 상태가 포함된
jsonPayload
의 실시간 피드 로그 필드
다음 표에서는 각 필드에 포함되는 정보의 종류를 보여줍니다.
필드 | 유형 및 설명 |
---|---|
name |
피드의 전체 이름입니다. 형식은 다음 중 하나입니다.
|
asset_name |
업데이트를 수신할 애셋의 전체 이름입니다. 예를 들면 다음과 같습니다.
자세한 내용은 리소스 이름을 참조하세요. |
condition |
애셋 업데이트를 게시할지 여부를 결정하는 피드 조건입니다. |
error_status |
피드에 애셋 업데이트를 게시하지 못한 경우 표시되는 상태입니다. |
feed_output_config |
애셋 업데이트가 게시되는 위치를 정의하는 피드 출력 구성입니다. |