Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обновите свойства объекта tiIndicator .
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
❌ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
ThreatIndicators.ReadWrite.OwnedBy |
Недоступно. |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
ThreatIndicators.ReadWrite.OwnedBy |
Недоступно. |
HTTP-запрос
PATCH /security/tiIndicators/{id}
Имя |
Описание |
Авторизация |
Требуется носитель {code} |
Prefer |
return=representation |
Текст запроса
В тексте запроса укажите значения для соответствующих полей, которые необходимо обновить. Существующие свойства, которые не включены в текст запроса, сохраняют свои предыдущие значения или пересчитываются на основе изменений других значений свойств. Для достижения оптимальной производительности не включайте существующие значения, которые не изменились. Обязательные поля: id
, expirationDateTime
, targetProduct
.
Свойство |
Тип |
Описание |
action |
string |
Действие, применяемое, если индикатор сопоставляется из средства безопасности targetProduct. Возможные значения: unknown , allow , block , alert . |
activityGroupNames |
Коллекция строк |
Имена аналитики киберугрызов для сторон, ответственных за вредоносные действия, охватываемые индикатором угрозы. |
additionalInformation |
String |
Область catchall, в которую могут быть помещены дополнительные данные из индикатора, не охваченного другими свойствами tiIndicator. Данные, помещенные в additionalInformation, обычно не будут использоваться средством безопасности targetProduct. |
confidence |
Int32 |
Целое число, представляющее достоверность данных в индикаторе, точно идентифицирует вредоносное поведение. Допустимые значения: от 0 до 100, а наибольшее значение — 100. |
description |
String |
Краткое описание (не более 100 символов) угрозы, представленной индикатором. |
diamondModel |
diamondModel |
Область алмазной модели, в которой существует этот индикатор. Возможные значения: unknown , adversary , capability , infrastructure , victim . |
expirationDateTime |
DateTimeOffset |
Строка DateTime, указывающая, когда истекает срок действия индикатора. Все индикаторы должны иметь дату окончания срока действия, чтобы избежать сохранения устаревших индикаторов в системе. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z . |
externalId |
String |
Идентификационный номер, который связывает индикатор с системой поставщика индикатора (например, внешний ключ). |
isActive |
Логический |
Используется для деактивации индикаторов в системе. По умолчанию любой отправленный индикатор задается как активный. Однако поставщики могут отправлять существующие индикаторы с этим набором "False", чтобы отключить индикаторы в системе. |
killChain |
коллекция killChain |
Массив json строк, описывающий, какие точки или точки в цепочке kill для этого индикатора предназначен. Точные значения см. в разделе "значения killChain" ниже. |
knownFalsePositives |
String |
Сценарии, в которых индикатор может вызывать ложные срабатывания. Это должен быть удобочитаемый текст. |
lastReportedDateTime |
DateTimeOffset |
При последнем просмотре индикатора. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z . |
malwareFamilyNames |
Коллекция строк |
Имя семейства вредоносных программ, связанное с индикатором, если оно существует. Корпорация Майкрософт предпочитает имя семейства вредоносных программ Майкрософт, если это возможно, которое можно найти в энциклопедии Защитник Windows аналитики угроз безопасности. |
passiveOnly |
Логический |
Определяет, должен ли индикатор активировать событие, видимое для конечного пользователя. Если задано значение true, средства безопасности не будут уведомлять конечного пользователя о том, что произошло "попадание". Чаще всего это считается аудитом или автоматическим режимом в продуктах безопасности, когда они регистрируют совпадение, но не выполняют действие. Значение по умолчанию − ложь. |
severity |
Int32 |
Целое число, представляющее серьезность вредоносного поведения, определяемого данными в индикаторе. Допустимые значения: от 0 до 5, где 5 является самым серьезным, а ноль не является серьезным вообще. Значение по умолчанию: 3. |
tags |
Коллекция String |
Массив строк JSON, в котором хранятся произвольные теги или ключевые слова. |
tlpLevel |
tlpLevel |
Значение протокола светофора для индикатора. Возможные значения: unknown , white , green , amber , red . |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content
.
Если используется необязательный заголовок запроса, метод возвращает 200 OK
код отклика и обновленный объект tiIndicator в тексте отклика.
Примеры
Запрос
В следующем примере показан запрос без заголовка Prefer
.
PATCH https://graph.microsoft.com/beta/security/tiIndicators/{id}
Content-type: application/json
{
"description": "description-updated",
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new TiIndicator
{
Description = "description-updated",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Security.TiIndicators["{tiIndicator-id}"].PatchAsync(requestBody);
mgc-beta security ti-indicators patch --ti-indicator-id {tiIndicator-id} --body '{\
"description": "description-updated",\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewTiIndicator()
description := "description-updated"
requestBody.SetDescription(&description)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
tiIndicators, err := graphClient.Security().TiIndicators().ByTiIndicatorId("tiIndicator-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
TiIndicator tiIndicator = new TiIndicator();
tiIndicator.setDescription("description-updated");
TiIndicator result = graphClient.security().tiIndicators().byTiIndicatorId("{tiIndicator-id}").patch(tiIndicator);
const options = {
authProvider,
};
const client = Client.init(options);
const tiIndicator = {
description: 'description-updated',
};
await client.api('/security/tiIndicators/{id}')
.version('beta')
.update(tiIndicator);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\TiIndicator;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TiIndicator();
$requestBody->setDescription('description-updated');
$result = $graphServiceClient->security()->tiIndicators()->byTiIndicatorId('tiIndicator-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Security
$params = @{
description = "description-updated"
}
Update-MgBetaSecurityTiIndicator -TiIndicatorId $tiIndicatorId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.ti_indicator import TiIndicator
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TiIndicator(
description = "description-updated",
)
result = await graph_client.security.ti_indicators.by_ti_indicator_id('tiIndicator-id').patch(request_body)
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Запрос
В следующем примере показан запрос, включающий заголовок Prefer
.
PATCH https://graph.microsoft.com/beta/security/tiIndicators/{id}
Content-type: application/json
Prefer: return=representation
{
"additionalInformation": "additionalInformation-after-update",
"confidence": 42,
"description": "description-after-update",
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new TiIndicator
{
AdditionalInformation = "additionalInformation-after-update",
Confidence = 42,
Description = "description-after-update",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Security.TiIndicators["{tiIndicator-id}"].PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "return=representation");
});
mgc-beta security ti-indicators patch --ti-indicator-id {tiIndicator-id} --body '{\
"additionalInformation": "additionalInformation-after-update",\
"confidence": 42,\
"description": "description-after-update",\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
graphsecurity "github.com/microsoftgraph/msgraph-beta-sdk-go/security"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=representation")
configuration := &graphsecurity.TiIndicatorsItemRequestBuilderPatchRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewTiIndicator()
additionalInformation := "additionalInformation-after-update"
requestBody.SetAdditionalInformation(&additionalInformation)
confidence := int32(42)
requestBody.SetConfidence(&confidence)
description := "description-after-update"
requestBody.SetDescription(&description)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
tiIndicators, err := graphClient.Security().TiIndicators().ByTiIndicatorId("tiIndicator-id").Patch(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
TiIndicator tiIndicator = new TiIndicator();
tiIndicator.setAdditionalInformation("additionalInformation-after-update");
tiIndicator.setConfidence(42);
tiIndicator.setDescription("description-after-update");
TiIndicator result = graphClient.security().tiIndicators().byTiIndicatorId("{tiIndicator-id}").patch(tiIndicator, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "return=representation");
});
const options = {
authProvider,
};
const client = Client.init(options);
const tiIndicator = {
additionalInformation: 'additionalInformation-after-update',
confidence: 42,
description: 'description-after-update',
};
await client.api('/security/tiIndicators/{id}')
.version('beta')
.update(tiIndicator);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Security\TiIndicators\Item\TiIndicatorItemRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\TiIndicator;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TiIndicator();
$requestBody->setAdditionalInformation('additionalInformation-after-update');
$requestBody->setConfidence(42);
$requestBody->setDescription('description-after-update');
$requestConfiguration = new TiIndicatorItemRequestBuilderPatchRequestConfiguration();
$headers = [
'Prefer' => 'return=representation',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->security()->tiIndicators()->byTiIndicatorId('tiIndicator-id')->patch($requestBody, $requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Security
$params = @{
additionalInformation = "additionalInformation-after-update"
confidence = 42
description = "description-after-update"
}
Update-MgBetaSecurityTiIndicator -TiIndicatorId $tiIndicatorId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.security.ti_indicators.item.ti_indicator_item_request_builder import TiIndicatorItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.ti_indicator import TiIndicator
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TiIndicator(
additional_information = "additionalInformation-after-update",
confidence = 42,
description = "description-after-update",
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Prefer", "return=representation")
result = await graph_client.security.ti_indicators.by_ti_indicator_id('tiIndicator-id').patch(request_body, request_configuration = request_configuration)
Отклик
Ниже показан пример отклика.
Примечание.
Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Security/tiIndicators/$entity",
"id": "e58c072b-c9bb-a5c4-34ce-eb69af44fb1e",
"azureTenantId": "XXXXXXXXXXXXXXXXXXXXXXXXX",
"action": null,
"additionalInformation": "additionalInformation-after-update",
"activityGroupNames": [],
"confidence": 42,
"description": "description-after-update",
}