이 페이지에서는 프로젝트에서 피드를 만들고 관리하는 방법을 설명합니다.
개요
피드를 만들고 구독하여 리소스 및 정책 변경사항에 대한 실시간 알림을 받을 수 있습니다. 피드를 구성할 때 조직, 폴더, 프로젝트 내에서 지원되는 리소스 유형, IAM 정책, 액세스 정책, 조직 정책의 변경사항을 모니터링하도록 지정할 수 있습니다. 또한 애셋에 대한 특정 유형의 변경사항 알림만 받도록 피드에 조건을 추가할 수 있습니다. 피드를 구성한 후 지정된 애셋이 변경되고 Pub/Sub(TemporalAsset 형식)를 통해 전송될 때마다 즉시 알림을 보냅니다. 실시간 알림은 기존 워크로드에 연결됩니다. 이 기능을 사용하면 변경사항이 감지된 후 Cloud Run 함수를 만들기와 같은 작업을 병합하여 리소스 변경사항을 되돌릴 수 있습니다.
시작하기 전에
시작하기 전에 다음 단계를 완료하세요.
API 명령어를 실행할 프로젝트에서 Cloud 애셋 인벤토리 API를 사용 설정합니다.
gcloud CLI 또는 API를 사용하여 Cloud 애셋 인벤토리 API를 호출하는 데 필요한 권한을 구성하세요.
다음 단계에 따라 환경 설정을 완료합니다.
gcloud CLI
gcloud CLI를 사용하여 Cloud Asset Inventory API를 호출하는 환경을 설정하려면 로컬 클라이언트에 Google Cloud CLI를 설치하세요.
REST
curl
명령어로 Cloud Asset Inventory API를 호출하도록 환경을 설정하려면 다음 단계를 완료합니다.curl
명령어에 대한 액세스 권한이 있는지 확인합니다.프로젝트, 폴더 또는 조직에서 다음 역할 중 하나를 계정에 부여했는지 확인합니다.
Cloud 애셋 뷰어 역할(
roles/cloudasset.viewer
)소유자 기본 역할(
roles/owner
)
사용자 또는 서비스 계정에 실시간 피드를 사용할 API를 호출할 수 있는 권한을 부여합니다. 각 작업에 다음 권한이 필요합니다.
권한 설명 cloudasset.feeds.create
cloudasset.assets.exportResource
피드 만들기 cloudasset.feeds.update
cloudasset.assets.exportResource
피드 업데이트 cloudasset.feeds.delete
피드 삭제 cloudasset.feeds.get
피드 가져오기 cloudasset.feeds.list
피드 나열 Cloud 애셋 소유자(
roles/cloudasset.owner
) 역할은 위 표에 나와 있는 권한을 포함하여 Cloud Asset API와 관련된 모든 권한을 부여합니다. 역할 및 권한에 대한 자세한 내용은 역할 이해와 권한 구성을 참조하세요.한 프로젝트에서 다른 프로젝트로 메타데이터를 내보내는 경우 내보내는 프로젝트의 기본 Cloud 애셋 인벤토리 서비스 계정이 존재하고 권한이 올바른지 확인하세요.
기존 Pub/Sub 주제가 없는 경우 Pub/Sub 주제를 만듭니다.
제한사항
피드 만들기, 업데이트, 삭제를 수행하려면 최대 10분까지 걸릴 수 있습니다.
대상 Pub/Sub 주제에 게시하는 데 사용되는 서비스 계정이 소비자 프로젝트에 있으므로 피드를 만든 소비자 프로젝트는 피드보다 오래 지속되어야 합니다. 소비자 프로젝트가 삭제되면 Cloud 애셋 인벤토리가 대상에 게시될 수 없습니다. 피드가 더 이상 작동하지 않고 프로젝트가 영구적으로 삭제되는 즉시 삭제됩니다.
피드 만들기
상위 요소에 피드를 최대 200개까지 만들 수 있습니다. 이 한도는 해당 상위 요소 바로 뒤에 있는 피드에만 적용되며 하위 요소의 피드를 계산하지 않습니다. 예를 들어 조직 아래에 프로젝트가 10개 있는 경우 각 프로젝트에는 최대 200개의 피드를 포함할 수 있으며, 조직 역시 최대 200개의 피드를 가질 수 있습니다.
프로젝트, 폴더, 조직의 피드를 만들려면 다음 요청 중 하나를 수행합니다. Cloud 애셋 인벤토리는 하나 이상 피드의 ASSET
매개변수와 일치하고 지정된 경우 조건 표현식과도 일치하는 애셋에 대한 알림을 설정합니다.
gcloud
프로젝트
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/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 \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.PROJECT_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.ASSET_TYPE
: 선택사항. 변경 알림을 수신하려는 쉼표로 구분된 애셋 유형 목록입니다. RE2 호환 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.CONTENT_TYPE
: 선택사항. 변경 알림을 수신할 애셋 콘텐츠 유형입니다.CONDITION_TITLE
: 선택사항. 피드에 적용할 조건의 제목입니다.CONDITION_DESCRIPTION
: 선택사항. 피드에 적용할 조건에 대한 설명입니다.CONDITION_EXPRESSION
: 선택사항. 피드에 적용할 조건 표현식입니다.
폴더
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/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 \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.FOLDER_ID
: 메타데이터가 피드로 전송되는 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.ASSET_TYPE
: 선택사항. 변경 알림을 수신하려는 쉼표로 구분된 애셋 유형 목록입니다. 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.CONTENT_TYPE
: 선택사항. 변경 알림을 수신할 애셋 콘텐츠 유형입니다.CONDITION_TITLE
: 선택사항. 피드에 적용할 조건의 제목입니다.CONDITION_DESCRIPTION
: 선택사항. 피드에 적용할 조건에 대한 설명입니다.CONDITION_EXPRESSION
: 선택사항. 피드에 적용할 조건 표현식입니다.
조직
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic=projects/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 \
--condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="CONDITION_EXPRESSION"
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.ORGANIZATION_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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입니다. 결제 프로젝트에 대해 자세히 알아보세요.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.ASSET_TYPE
: 선택사항. 변경 알림을 수신하려는 쉼표로 구분된 애셋 유형 목록입니다. 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.CONTENT_TYPE
: 선택사항. 변경 알림을 수신할 애셋 콘텐츠 유형입니다.CONDITION_TITLE
: 선택사항. 피드에 적용할 조건의 제목입니다.CONDITION_DESCRIPTION
: 선택사항. 피드에 적용할 조건에 대한 설명입니다.CONDITION_EXPRESSION
: 선택사항. 피드에 적용할 조건 표현식입니다.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"assetTypes": [
"ASSET_TYPE_1",
"ASSET_TYPE_2",
"..."
],
"contentType": "CONTENT_TYPE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
},
"condition": {
"title": "CONDITION_TITLE",
"description": "CONDITION_DESCRIPTION",
"expression": "CONDITION_EXPRESSION"
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.FEED_ID
: 고유한 애셋 피드 식별자입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.ASSET_TYPE
: 선택사항. 변경 알림을 수신하려는 쉼표로 구분된 애셋 유형 목록입니다. 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.ASSET_NAME
또는ASSET_TYPE
이 1개 이상 필요합니다.CONTENT_TYPE
: 선택사항. 변경 알림을 수신할 애셋 콘텐츠 유형입니다.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.CONDITION_TITLE
: 선택사항. 피드에 적용할 조건의 제목입니다.CONDITION_DESCRIPTION
: 선택사항. 피드에 적용할 조건에 대한 설명입니다.CONDITION_EXPRESSION
: 선택사항. 피드에 적용할 조건 표현식입니다.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
피드를 만든 후 피드에 지정한 Pub/Sub 주제의 업데이트를 구독합니다. 새 피드가 알림을 보내기까지 최대 10분이 걸릴 수 있습니다. assetNames
또는 assetTypes
와 일치하는 애셋의 모든 변경사항에 대한 알림이 전송되며 피드에서 condition
를 충족합니다.
Pub/Sub 주제에 게시되는 첫 번째 메시지는 문자열 형식의 환영 메시지이며 다음 모든 메시지는 TemporalAsset 형식입니다.
다음은 RESOURCE
콘텐츠 유형의 샘플 메시지입니다.
{
"asset": {
"ancestors": [
"projects/[PROJECT_ID]",
"folders/[FOLDER_ID]",
"organizations/[ORGANIZATION_ID]"
],
"assetType": "[ASSET_TYPE]",
"name": "[ASSET_NAME]",
"resource": {
"data": {
...detailed resource metadata...
},
"discoveryDocumentUri": "[DISCOVERY_URI]",
"discoveryName": "[DISCOVERY_NAME]",
"location": "[LOCATION]",
"parent": "[PARENT_ASSET_NAME]",
"version": "[VERSION]"
},
"updateTime": "[UPDATE_TIME]"
},
"priorAsset": {
...prior asset information...
},
"priorAssetState": "[PRIOR_ASSET_STATE]",
"window": {
"startTime": "[UPDATE_TIME]"
}
}
Pub/Sub 또는 구독 설정 방법에 대한 자세한 내용은 Pub/Sub 문서를 참조하세요.
Cloud Storage 버킷 또는 BigQuery 테이블 변경사항에 대한 피드 만들기
다음 명령어는 BUCKET_NAME
Cloud Storage 버킷 또는 모든 BigQuery 테이블에서 콘텐츠가 변경되면 TOPIC_ID
Pub/Sub 주제에서 알림을 만듭니다.
gcloud
프로젝트
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.PROJECT_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.BUCKET_NAME
: 모니터링할 Cloud Storage 버킷 이름입니다.
폴더
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.FOLDER_ID
: 메타데이터가 피드로 전송되는 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.BUCKET_NAME
: 모니터링할 Cloud Storage 버킷 이름입니다.
조직
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--asset-names=//storage.googleapis.com/BUCKET_NAME \
--asset-types=bigquery.googleapis.com/Table \
--content-type=resource
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.ORGANIZATION_ID
: 메타데이터가 피드로 전송되는 조직의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.BUCKET_NAME
: 모니터링할 Cloud Storage 버킷 이름입니다.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetNames": ["storage.googleapis.com/BUCKET_NAME"],
"assetTypes": ["bigquery.googleapis.com/Table"],
"contentType": "RESOURCE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.FEED_ID
: 고유한 애셋 피드 식별자입니다.BUCKET_NAME
: 모니터링할 Cloud Storage 버킷 이름입니다.PROJECT_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
알림은 리소스 자체의 리소스 또는 정책 메타데이터가 변경된 경우에만 전송됩니다. 이전 예시에서는 Cloud Storage 버킷 또는 BigQuery 테이블의 리소스를 변경해도 알림이 트리거되지 않습니다.
애셋 유형 변경사항 피드 만들기
다음 요청은 애셋 유형이 compute.googleapis.com
으로 시작하는 리소스에서 콘텐츠가 변경될 때 TOPIC_ID
Pub/Sub 주제에서 알림을 만듭니다.
gcloud
프로젝트
gcloud asset feeds create FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.PROJECT_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.
폴더
gcloud asset feeds create FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.FOLDER_ID
: 메타데이터가 피드로 전송되는 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.
조직
gcloud asset feeds create FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--content-type=resource \
--asset-types=compute.googleapis.com.*
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.ORGANIZATION_ID
: 메타데이터가 피드로 전송되는 조직의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feedId": "FEED_ID",
"feed": {
"assetTypes": ["compute.googleapis.com.*"],
"contentType": "RESOURCE",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.FEED_ID
: 고유한 애셋 피드 식별자입니다.PROJECT_ID
: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.TOPIC_ID
: 알림을 게시할 Pub/Sub 주제의 ID입니다.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
피드 가져오기
특정 피드를 가져오려면 다음 요청 중 하나를 수행합니다.
gcloud
프로젝트
gcloud asset feeds describe FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.PROJECT_ID
: 메타데이터가 피드에 게시된 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
폴더
gcloud asset feeds describe FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.FOLDER_ID
: 메타데이터가 피드에 게시된 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
조직
gcloud asset feeds describe FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
FEED_ID
: 고유한 애셋 피드 식별자입니다.ORGANIZATION_ID
: 메타데이터가 피드에 게시된 조직의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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 -X GET \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다. 프로젝트 ID는 지원되지 않습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
FEED_ID
: 고유한 애셋 피드 식별자입니다.
피드는 다음 형식으로 반환됩니다. 여기서 FULL_NAME_FEED_ID
는 리소스 상위 항목이 포함된 피드 식별자입니다.
{
"name": "FULL_NAME_FEED_ID",
"assetTypes": ["ASSET_TYPES"],
"assetNames": ["ASSET_NAMES"],
"contentType": "CONTENT_TYPES",
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
},
"condition": {
"title": "CONDITION_TITLE",
"description": "CONDITION_DESCRIPTION",
"expression": "CONDITION_EXPRESSION"
}
}
피드 나열
프로젝트, 폴더, 조직의 모든 피드를 나열하려면 다음 요청 중 하나를 수행합니다.
gcloud
프로젝트
gcloud asset feeds list \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
PROJECT_ID
: 메타데이터가 피드에 게시된 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
폴더
gcloud asset feeds list \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
FOLDER_ID
: 메타데이터가 피드에 게시된 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
조직
gcloud asset feeds list \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
ORGANIZATION_ID
: 메타데이터가 피드에 게시된 조직의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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 -X GET \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
피드 업데이트
피드 속성을 업데이트하려면 update_mask
의 속성 경로와 해당 속성 값을 지정해야 합니다. 다음 요청은 프로젝트 피드의 assetNames
및 topic
값을 업데이트합니다.
gcloud
프로젝트
gcloud asset feeds update FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
다음 값을 제공합니다.
PROJECT_ID
: 메타데이터가 피드에 게시된 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.TOPIC_ID
: 알림이 게시되는 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.
폴더
gcloud asset feeds update FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
다음 값을 제공합니다.
FOLDER_ID
: 메타데이터가 피드에 게시된 폴더의 ID입니다.Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림이 게시되는 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.
조직
gcloud asset feeds update FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
--add-asset-names=ASSET_NAME_1,ASSET_NAME_2,...
다음 값을 제공합니다.
ORGANIZATION_ID
: 메타데이터가 피드에 게시된 조직의 ID입니다.Google Cloud 조직 ID를 찾는 방법
콘솔
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입니다. 결제 프로젝트에 대해 자세히 알아보세요.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림이 게시되는 Pub/Sub 주제의 ID입니다.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.
REST
curl -X PATCH \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"feed": {
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"feedOutputConfig": {
"pubsubDestination": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID"
}
}
},
"update_mask": {
"paths": ["asset_names", "feed_output_config.pubsub_destination.topic"]
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.ASSET_NAME
: 선택사항. 변경 알림을 수신할 쉼표로 구분된 애셋 전체 이름 목록입니다.PROJECT_ID
: Pub/Sub 주제가 있는 프로젝트 ID입니다.TOPIC_ID
: 알림이 게시되는 Pub/Sub 주제의 ID입니다.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다. 프로젝트 ID는 지원되지 않습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
피드 삭제
애셋 변경 알림을 더 이상 받지 않으려면 다음 명령어를 사용하여 프로젝트의 피드를 삭제합니다.
gcloud
프로젝트
gcloud asset feeds delete FEED_ID \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
PROJECT_ID
: 메타데이터가 피드에 게시된 프로젝트의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
폴더
gcloud asset feeds delete FEED_ID \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
FOLDER_ID
: 메타데이터가 피드에 게시된 폴더의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
조직
gcloud asset feeds delete FEED_ID \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID
다음 값을 제공합니다.
ORGANIZATION_ID
: 메타데이터가 피드에 게시된 조직의 ID입니다.BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.
REST
curl -X DELETE \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://cloudasset.googleapis.com/v1/SCOPE/feeds/FEED_ID
다음 값을 제공합니다.
BILLING_PROJECT_ID
: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다. 프로젝트 ID는 지원되지 않습니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 가져오려면 하위 폴더를 나열합니다.
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 조직 ID를 찾는 방법
콘솔
Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
- 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
문제 해결
이 섹션에서는 일반적인 문제를 해결하는 방법을 설명합니다.
피드 만들기 또는 업데이트 실패
피드 만들기나 업데이트가 실패하는 경우 이는 권한 문제로 인해 발생할 수 있습니다. 각 피드 만들기나 업데이트 요청에는 API를 호출하는 데 사용되는 소비자 프로젝트, 모니터링할 대상 상위 요소, 알림을 수신할 대상 Pub/Sub 주제 등 3가지 부분이 포함됩니다.
피드를 만들거나 업데이트하려면 다음 권한이 필요합니다.
호출자나 서비스 계정에는 프로젝트, 폴더 또는 조직일 수 있는 대상 상위 요소에 대한 애셋 권한이 있어야 합니다.
Cloud Asset API 지원 소비자 프로젝트의 애셋 서비스 계정(
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
)에는 대상 Pub/Sub 주제에 대한pubsub.topics.publish
권한이 있어야 합니다.
does not have permission
이 포함된 오류 메시지는 사용자나 서비스 계정에 애셋 권한이 없음을 나타낼 수 있습니다. 필수 권한에 대해 자세히 알아보세요.
Fail to use TOPIC_ID as feed output destination
이 포함된 오류 메시지는 피드 출력 대상에 지정한 주제에 메시지를 게시하는 데 문제가 있음을 나타냅니다. 문제를 해결하려면 다음 안내를 따르세요.
Google Cloud CLI를 사용하는 경우 올바른 프로젝트를 사용 중인지 확인합니다.
gcloud config list project
정확한 주제 이름을 지정했는지 확인합니다.
서비스 계정(
service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com
)에 주제에 대한pubsub.topics.publish
권한이 있는지 확인합니다. 여기서PROJECT_NUMBER
는 피드를 만들 계획이 있는 Cloud 애셋 인벤토리 지원 프로젝트의 프로젝트 번호입니다.Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
리소스 업데이트 또는 IAM 정책 업데이트를 받지 못함
리소스 또는 IAM 정책 업데이트 알림을 받지 못하는 경우 다음 구성 세부정보를 확인하면 문제를 해결하는 데 도움이 될 수 있습니다.
저작물의 메타데이터가 변경되었는지 확인합니다. 실시간 피드는 지원되는 리소스 유형의 메타데이터가 변경된 경우에만 업데이트를 전송하며, Cloud Storage 버킷에 새 파일을 업로드하는 것과 같은 작업은 메타데이터 변경을 트리거하지 않습니다.
애셋이 피드에 지정한 기준 중 하나(애셋 이름 및 애셋 유형)를 충족하는지 확인합니다.
로그에서 주제에 대한 업데이트를 게시할 때 오류가 있는지 확인합니다.
Cloud Logging 사용
이 섹션에서는 Cloud 애셋 인벤토리 실시간 피드의 로깅을 설정하고 보는 방법을 설명합니다.
실시간 피드가 Pub/Sub를 통해 리소스 또는 IAM 정책 업데이트를 전송하지 못하는 경우 Cloud 애셋 인벤토리는 로깅을 통해 오류 상태 및 메시지를 로깅합니다. 로깅은 기본적으로 사용 설정되어 있으며 Google Cloud Observability에 속합니다. Google Cloud Observability 가격 책정을 알아보세요.
실시간 피드 로그 보기
로그를 확인하려면 로그 탐색기로 이동하세요.
실시간 피드 로그는 Pub/Sub 주제에 의해 색인이 생성됩니다. 모든 로그를 보려면 다음 안내를 따르세요.
모든 필드 검색 상자 옆에 있는 리소스 콤보 상자를 클릭합니다.
Cloud Pub/Sub Topic
을 검색한 후 Cloud Pub/Sub 주제 리소스 유형을 클릭합니다.보려는 주제 ID를 클릭합니다.
적용을 클릭합니다.
로그 필드에는 UTF-8 인코딩이 적용됩니다. UTF-8 문자를 제외하고는 모두 물음표로 대체됩니다.
로깅되는 정보
실시간 피드 로그 항목에는 다음과 같은 유형의 정보가 포함됩니다.
심각도, 프로젝트 ID, 프로젝트 번호 또는 타임스탬프와 같은 대부분의 Google Cloud 로그에 표시되는 일반 정보
리소스 또는 IAM 정책 업데이트를 게시할 때 애셋 이름, 피드 출력 구성, 오류 상태가 포함된
jsonPayload
의 실시간 피드 로그 필드
다음 표에서는 각 필드에 포함되는 정보의 종류를 보여줍니다.
필드 | 유형 및 설명 |
---|---|
name |
피드의 전체 이름입니다. 형식은 다음 중 하나입니다.
|
asset_name |
업데이트를 수신할 애셋의 전체 이름입니다. 예를 들면 다음과 같습니다.
자세한 내용은 리소스 이름을 참조하세요. |
feed_output_config |
애셋 업데이트가 게시되는 위치를 정의하는 피드 출력 구성입니다. |
condition |
애셋 업데이트를 게시할지 여부를 결정하는 피드 조건입니다. |
error_status |
피드에 애셋 업데이트를 게시하지 못한 경우 표시되는 상태입니다. |