다음을 통해 공유


Azure 리소스 알림 - Azure Event Grid의 리소스 관리 이벤트

Azure 리소스 관리 시스템 토픽에서는 다양한 Azure 리소스의 수명 주기에 대한 인사이트를 제공합니다.

Azure 구독 및 Azure 리소스 그룹에 대한 Event Grid 시스템 토픽은 성공, 실패 및 취소와 관련된 시나리오에 대한 작업, 쓰기 및 삭제 이벤트를 비롯한 광범위한 이벤트 유형을 사용하여 리소스 수명 주기 이벤트를 제공합니다. 그러나 리소스 페이로드를 포함하지 않는다는 점에 주목할 필요가 있습니다. 이러한 이벤트에 대한 자세한 내용은 Azure 구독에 대한 Event Grid 시스템 토픽Azure 리소스 그룹에 대한 Event Grid 시스템 토픽을 참조하세요.

반면, ARN(Azure Resource Notifications) 기반 Azure Resource Management 시스템 토픽은 집중적인 이벤트 유형, 특히 CreatedOrUpdated(Event Grid Azure 구독 시스템 토픽의 ResourceWriteSuccess에 해당) 및 Deleted(Event Grid Azure 구독 시스템 토픽의 ResourceDeleteSuccess에 해당)를 제공합니다. 이러한 이벤트에는 포괄적인 페이로드 정보가 제공되므로 고객이 더 쉽게 필터링을 적용하고 알림 스트림을 구체화할 수 있습니다.

노출된 리소스 종류 목록은 Azure Resource Graph 리소스를 참조하거나 다음 Azure Resource Graph 쿼리를 사용합니다.

resources
| distinct ['type']

참고 항목

Azure Resource Management 시스템 토픽은 아직 Azure Resource Graph의 리소스 테이블에서 모든 리소스 유형을 지원하지 않습니다. 이 경험을 개선하기 위해 노력하고 있습니다.

일정 유형

ARN 리소스 시스템 토픽에서는 다음 두 가지 이벤트 유형을 사용할 수 있습니다.

이벤트 유형 설명
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated 리소스를 성공적으로 만들거나 업데이트할 때 제기됩니다.
Microsoft.ResourceNotifications.Resources.Deleted 리소스가 삭제될 때 제기됩니다.

역할 기반 액세스 제어

현재 이러한 이벤트는 Azure 구독 범위에서만 내보내집니다. 이는 이 토픽 유형에 대한 이벤트 구독을 만드는 엔터티가 이 Azure 구독 전체에서 알림을 수신한다는 것을 의미합니다. 보안상의 이유로 이 토픽에서 이벤트 구독을 만드는 기능을 전체 Azure 구독에 대한 읽기 권한이 있는 보안 주체로 제한해야 합니다. Event Grid에 필요한 일반 권한 외에도 이 시스템 토픽을 통해 데이터에 액세스하려면 Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action Azure 리소스 알림 관련 권한이 필요합니다.

이벤트 스키마

이 섹션에서는 CreatedOrUpdatedDeleted 이벤트에 대한 스키마를 제공합니다.

CreatedOrUpdated 이벤트에 대한 이벤트 스키마

스키마는 다음과 같습니다.

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string",
            "location": "string",
            "tags": "string",
            "properties": {
                "_comment": "object-unique-to-each-publisher"
            }
        },
        "apiVersion": "string",
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Deleted 이벤트에 대한 이벤트 스키마

스키마는 다음과 같습니다.

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string"
        },
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Event Grid 이벤트 스키마 형식의 이벤트에는 다음과 같은 최상위 속성이 있습니다.

속성 Type 설명
id 문자열 이벤트의 고유 식별자
topic 문자열 이 시스템 토픽을 만드는 Azure 구독
subject 문자열 이 이벤트가 내보내지는 기본 리소스에 대한 게시자 정의 경로입니다.
data Object 리소스 공급자와 관련된 이벤트 데이터를 포함합니다. 자세한 내용은 다음 테이블을 참조하세요.
eventType 문자열 이 시스템 토픽 형식의 등록된 이벤트 유형
dataVersion 문자열 데이터 개체의 스키마 버전
metadataVersion 문자열 이벤트 메타데이터의 스키마 버전
eventTime String
형식: 2022-11-07T18:43:09.2894075Z
공급자의 UTC 시간을 기준으로 이벤트가 생성된 시간

클라우드 이벤트 스키마 형식의 이벤트에는 다음과 같은 최상위 속성이 있습니다.

속성 Type 설명
id 문자열 이벤트의 고유 식별자
source 문자열 이 시스템 토픽을 만드는 Azure 구독입니다.
subject 문자열 이 이벤트가 내보내지는 기본 리소스에 대한 게시자 정의 경로입니다.
type 문자열 이 시스템 토픽 형식의 등록된 이벤트 유형
time String
형식: 2022-11-07T18:43:09.2894075Z
공급자의 UTC 시간을 기준으로 이벤트가 생성된 시간
data Object 리소스 공급자와 관련된 이벤트 데이터를 포함합니다. 자세한 내용은 다음 테이블을 참조하세요.
specversion 문자열 CloudEvents 스키마 사양 버전입니다.

data 개체의 속성은 다음과 같습니다.

속성 Type 설명
resourceInfo Object 리소스와 관련된 데이터입니다. 자세한 내용은 다음 테이블을 참조하세요.
apiVersion 문자열 리소스 속성의 API 버전.
operationalInfo Object 리소스와 관련된 운영 정보의 세부 정보.

resourceInfo 개체에는 CreatedOrUpdatedDeleted 이벤트에 걸쳐 다음과 같은 공통 속성이 있습니다.

속성 Type 설명
id 문자열 게시자가 정의한 이벤트 주체에 대한 경로
name 문자열 이 필드는 이벤트 ID를 나타냅니다. 항상 id 필드의 마지막 섹션의 값을 사용합니다.
type 문자열 내보내는 이벤트의 유형입니다. 이 컨텍스트에서는 Microsoft.ResourceNotifications.Resources.CreatedOrUpdated 또는 Microsoft.ResourceNotifications.Resources.Deleted입니다.

CreatedOrUpdated 이벤트에 대한 resourceInfo 개체에는 다음과 같은 추가 속성이 있습니다.

속성 Type 설명
location 문자열 리소스가 있는 국가 또는 지역입니다.
tags 문자열 리소스의 태그입니다.
properties Object 리소스의 페이로드.

CreatedOrUpdated 이벤트에만 properties 개체가 포함됩니다. 이 properties 개체의 스키마는 각 게시자에 고유합니다. 스키마를 검색하려면 특정 Azure 리소스에 대한 REST API 설명서를 참조하세요. 이 문서의 예제 이벤트 섹션에서 예제를 찾을 수 있습니다.

            "properties": {
                "_comment": "<< object-unique-to-each-publisher >>"
            }

operationalInfo 개체의 속성은 다음과 같습니다.

속성 Type 설명
resourceEventTime DateTime 리소스가 (CreatedOrUpdated 이벤트에 대해) 생성 또는 업데이트되거나 (Deleted 이벤트에 대해) 삭제된 날짜 및 시간입니다.

예제 이벤트

CreatedOrUpdated 이벤트

이 섹션에서는 시스템 토픽이 만들어지는 Azure 구독에서 Azure Storage 계정을 만들 때 생성된 CreatedOrUpdated 이벤트를 보여줍니다.

{
  "id": "4eef929a-a65c-47dd-93e2-46b8c17c6c17",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "tags": {},
      "id": "/subscriptions/{subcription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "StorageAccount-name",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "eastus",
      "properties": {
        "privateEndpointConnections": [],
        "minimumTlsVersion": "TLS1_2",
        "allowBlobPublicAccess": 1,
        "allowSharedKeyAccess": 1,
        "networkAcls": {
          "bypass": "AzureServices",
          "virtualNetworkRules": [],
          "ipRules": [],
          "defaultAction": "Allow"
        },
        "supportsHttpsTrafficOnly": 1,
        "encryption": {
          "requireInfrastructureEncryption": 0,
          "services": {
            "file": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            },
            "blob": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            }
          },
          "keySource": "Microsoft.Storage"
        },
        "accessTier": "Hot",
        "provisioningState": "Succeeded",
        "creationTime": "2023-07-28T20:12:50.4661564Z",
        "primaryEndpoints": {
          "dfs": "https://{storageAccount-name}.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}.queue.core.windows.net/",
          "table": "https://{storageAccount-name}.table.core.windows.net/",
          "file": "https://{storageAccount-name}.file.core.windows.net/"
        },
        "primaryLocation": "eastus",
        "statusOfPrimary": "available",
        "secondaryLocation": "westus",
        "statusOfSecondary": "available",
        "secondaryEndpoints": {
          "dfs": "https://{storageAccount-name} -secondary.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}-secondary.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}-secondary.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}-secondary.queue.core.windows.net/",
          "table": "https://{storageAccount-name}-secondary.table.core.windows.net/"
        }
      }
    },
    "apiVersion": "2019-06-01",
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:13:10.8418063Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.CreatedOrUpdated",
  "specversion": "1.0",
  "time": "2023-07-28T20:13:10.8418063Z"
}

삭제된 이벤트

이 섹션에서는 시스템 토픽이 만들어지는 Azure 구독에서 Azure Storage 계정이 삭제될 때 생성된 Deleted 이벤트를 보여줍니다.

{
  "id": "d4611260-d179-4f86-b196-3a9d4128be2d",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "storageAccount-name",
      "type": "Microsoft.Storage/storageAccounts"
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:11:36.6347858Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.Deleted",
  "specversion": "1.0",
  "time": "2023-07-28T20:11:36.6347858Z"
}

문의하기

이 기능에 대한 질문이나 피드백이 있는 경우 주저하지 말고 arnsupport@microsoft.com을 통해 연락해 주세요.

특정 이벤트에 대한 구체적인 피드백을 더 잘 지원하기 위해 다음 정보를 제공합니다.

누락된 이벤트의 경우:

  • 시스템 토픽 유형 이름
  • 작업이 실행되었을 때 UTC의 대략적 타임스탬프
  • 알림이 생성된 기본 리소스 ID
  • Azure Portal의 리소스로 이동하고 맨 오른쪽 모서리에서 JSON 보기를 선택합니다. 리소스 ID는 JSON 보기 페이지의 첫 번째 필드입니다.
  • 예상 이벤트 유형
  • 실행된 작업(예: VM 시작 또는 중지, 스토리지 계정 생성 등)
  • 발생한 문제에 대한 설명(예: VM이 시작되고 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged 이벤트가 생성되지 않음)
  • 가능하면 실행된 작업의 상관 관계 ID를 제공합니다.

지연되었거나 예기치 않은 콘텐츠가 있는 이벤트의 경우

  • 시스템 토픽 유형 이름
  • data.resourceInfo.properties를 제외한 알림의 전체 콘텐츠
  • 발생한 문제 및 영향을 받은 필드 값에 대한 설명

이 데이터를 공유하는 동안 최종 사용자 식별 정보를 제공하고 있지 않은지 확인합니다.

다음 단계

Azure 리소스 알림 - 리소스 관리 이벤트 구독을 참조하세요.