Как управлять маскировкой информации, позволяющей идентифицировать личность, в пакетах прокси и SharedFlow

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Как управлять маскировкой конфиденциальной информации в пакетах прокси и SharedFlow

В процессе синхронизации интеграция коннектора API Hub загружает пакеты прокси-серверов API в API Hub. Эти пакеты могут содержать конфиденциальные данные или информацию, позволяющую идентифицировать личность, в соответствии с настройками правил. Эта функция позволяет маскировать поля, содержащие информацию, позволяющую идентифицировать личность, до того, как пакеты будут загружены в центр API.

Метод маскировки

Маскировка конфиденциальной информации применяется с помощью выражений XPath, чтобы нацеливаться на определенные элементы в конфигурациях правил в пакетах прокси-сервера и общих потоков в формате XML, но не на другие общие элементы XML в пакете. Эта функция состоит из двух частей:

Маски по умолчанию

Apigee Edge включает встроенный список выражений XPath, которые автоматически нацелены на распространенные поля с конфиденциальной информацией. Маски применяются автоматически во время загрузки.

Список масок по умолчанию

Название политики Описание поля (или значения) Выражения XPath
AccessEntity Идентификатор объекта //AccessEntity/EntityIdentifier
AccessEntity Дополнительный идентификатор //AccessEntity/SecondaryIdentifier
BasicAuthentication Значение пользовательского поля //BasicAuthentication/User
BasicAuthentication Значение поля "Пароль" //BasicAuthentication/Password
ConnectorCallout Тело запроса JSON, которое нужно отправить расширению //ConnectorCallout/Input
FlowCallout Значения параметров, переданных в выноске потока //FlowCallout/Parameter
//FlowCallout/Parameters/Parameter
HMAC Секретный ключ, используемый для вычисления HMAC //HMAC/SecretKey
HMAC Содержимое письма, которое нужно подписать //HMAC/Message
HMAC Значение проверки HMAC //HMAC/VerificationValue
JavaCallout Переданные свойства (конфиденциальные настройки/данные) //JavaCallout/Properties/Property
Javascript Встроенный источник //Javascript/Source
Javascript Значения свойств //Javascript/Properties/Property
GenerateJWS Значение закрытого ключа //GenerateJWS/PrivateKey/Value
GenerateJWS Пароль закрытого ключа //GenerateJWS/PrivateKey/Password
GenerateJWS Идентификатор закрытого ключа //GenerateJWS/PrivateKey/Id
GenerateJWS Значение секретного ключа //GenerateJWS/SecretKey/Value
GenerateJWS Идентификатор секретного ключа //GenerateJWS/SecretKey/Id
VerifyJWS Открытые ключи JWKS //VerifyJWS/PublicKey/JWKS
VerifyJWS Значение открытого ключа //VerifyJWS/PublicKey/Value
VerifyJWS Значение секретного ключа //VerifyJWS/SecretKey/Value
GenerateJWT Важные значения заголовков //GenerateJWT/CriticalHeaders
GenerateJWT Значение закрытого ключа, используемое для подписи JWT //GenerateJWT/PrivateKey/Value
GenerateJWT Пароль закрытого ключа //GenerateJWT/PrivateKey/Password
GenerateJWT Идентификатор закрытого ключа //GenerateJWT/PrivateKey/Id
GenerateJWT Значение секретного ключа //GenerateJWT/SecretKey/Value
GenerateJWT Идентификатор секретного ключа //GenerateJWT/SecretKey/Id
VerifyJWT Открытый ключ //VerifyJWT/PublicKey/Value
VerifyJWT Секретный ключ //VerifyJWT/SecretKey/Value
KeyValueMapOperations Значения для начальных записей и операций PUT //KeyValueMapOperations/InitialEntries/Entry/Value
//KeyValueMapOperations/Put/Value
Ldap Значения полей имени пользователя и пароля //Ldap/Authentication/UserName
//Ldap/Authentication/Password
OAuthV1 Токены //OAuthV1/Tokens/Token
OAuthV1 Токен доступа //OAuthV1/AccessToken
OAuthV1 Значения атрибута //OAuthV1/Attributes/Attribute
OAuthV1 Код подтверждения //OAuthV1/VerifierCode
OAuthV1 Идентификатор пользователя приложения //OAuthV1/AppUserId
OAuthV1 Запрос токена //OAuthV1/RequestToken
OAuthV2 Значения атрибута //OAuthV2/Attributes/Attribute
GetOAuthV2Info Токен доступа //GetOAuthV2Info/AccessToken
GetOAuthV2Info Код авторизации //GetOAuthV2Info/AuthorizationCode
GetOAuthV2Info Идентификатор клиента //GetOAuthV2Info/ClientId
GetOAuthV2Info Токен обновления //GetOAuthV2Info/RefreshToken
RevokeOAuthV2 Идентификатор приложения //RevokeOAuthV2/AppId
RevokeOAuthV2 Идентификатор конечного пользователя //RevokeOAuthV2/EndUserId
SetOAuthV2Info Токен доступа //SetOAuthV2Info/AccessToken
SetOAuthV2Info Значения атрибута //SetOAuthV2Info/Attributes/Attribute
DeleteOAuthV2Info Значение токена доступа //DeleteOAuthV2Info/AccessToken
DeleteOAuthV2Info Значение кода авторизации //DeleteOAuthV2Info/AuthorizationCode
StatisticsCollector Значение параметра //StatisticsCollector/Statistics/Statistic
VerifyAPIKey Ключ API, жестко заданный в коде //VerifyAPIKey/APIKey

Как управлять масками

С помощью специального API можно отправить собственный список выражений XPath, чтобы замаскировать определенные поля, которые вы считаете информацией, позволяющей идентифицировать личность, обеспечивая соблюдение ваших уникальных требований к конфиденциальности данных.

Управлять специальными масками конфиденциальной информации можно с помощью конечной точки API управления Edge /v1/organizations/<var>ORG_NAME/uapim/proxymasks. Для выполнения этих операций вам потребуется роль orgadmin.

API работает с одним списком XPath, который называется proxymasks и относится к определенной организации.

Метод Ресурс Сводка Описание
GET /v1/organizations/ORG_NAME/uapim/proxymasks Получите список XPath proxymasks. Получает полный список выражений XPath для параметра proxymasks для указанной организации.
PUT /v1/organizations/ORG_NAME/uapim/proxymasks Как создать или заменить список XPath proxymasks Создает список proxymasks, если он не существует, или полностью заменяет его содержимое, если он существует.
DELETE /v1/organizations/ORG_NAME/uapim/proxymasks Удалите список XPath proxymasks. Удаляет все XPath из списка proxymasks для организации.
POST /v1/organizations/ORG_NAME/uapim/proxymasks/append Добавьте XPath в список proxymasks Добавляет одну или несколько строк XPath в конец существующего списка proxymasks.
POST /v1/organizations/ORG_NAME/uapim/proxymasks/deleteItems Как удалить определенные пути XPath из списка proxymasks Удаляет определенные строки XPath из списка proxymasks. Соответствует точным строкам.

Все запросы и успешные ответы на создание, замену, получение, добавление или удаление элементов из списка XPath используют следующую схему JSON:

{
  "xpaths": [
    "//Path/To/Element"
  ]
}
Поле Тип Описание
xpaths массив строк Список строк выражений XPath, которые нужно замаскировать. Это поле обязательно для заполнения.

1. Создание или замена специального списка XPath (PUT)

Используйте метод PUT, чтобы создать новый специальный список или полностью заменить содержимое существующего. Существующие пути XPath будут перезаписаны.

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/uapim/proxymasks \
  -H "Authorization: Bearer OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "xpaths": [
      "//StatisticsCollector/Statistics/Statistic[@name='caller']",
      "//AssignMessage/AssignVariable[Name='password']/Value"
    ]
  }'

После завершения обновления появится ответ 201 Created или 200K со следующим сообщением: Success response (201 Created or 200 OK).

{
  "xpaths": [
    "//StatisticsCollector/Statistics/Statistic[@name='caller']",
    "//AssignMessage/AssignVariable[Name='password']/Value"
  ]
}

2. Получение списка пользовательских выражений XPath (GET)

Используйте метод GET, чтобы получить текущий список специальных выражений XPath.

curl -X GET https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/uapim/proxymasks \
  -H "Authorization: Bearer OAUTH_TOKEN"

После завершения операции извлечения появится ответ 200K со следующим сообщением:Success response (200 OK):

{
  "xpaths": [
    "//StatisticsCollector/Statistics/Statistic[@name='caller']",
    "//AssignMessage/AssignVariable[Name='password']/Value"
  ]
}

3. Добавление XPath в список (POST append)

Используйте метод POST, чтобы добавить одно или несколько выражений XPath в существующий список, не перезаписывая текущий контент.

curl -X POST https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/uapim/proxymasks/append \
  -H "Authorization: Bearer OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "xpaths": [
      "//New/Appended/XPath"
    ]
  }'

После завершения добавления появится ответ 200K со следующим сообщением: Success response (200 OK):

{
  "xpaths": [
    "//StatisticsCollector/Statistics/Statistic[@name='caller']",
    "//AssignMessage/AssignVariable[Name='password']/Value",
    "//New/Appended/XPath"
  ]
}

4. Удаление определенных XPath из списка (POST deleteItems)

Чтобы удалить определенные выражения XPath из существующего списка, используйте метод POST. В запросе должны быть указаны точные строки XPath, которые нужно удалить.

curl -X POST https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/uapim/proxymasks/deleteItems \
  -H "Authorization: Bearer OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "xpaths": [
      "//New/Appended/XPath"
    ]
  }'

После удаления появится ответ 200K со следующим сообщением: Success response (200 OK):

{
  "xpaths": [
    "//StatisticsCollector/Statistics/Statistic[@name='caller']",
    "//AssignMessage/AssignVariable[Name='password']/Value"
  ]
}

5. Удалить весь список специальных выражений XPath (DELETE)

Чтобы полностью удалить пользовательский список XPath, используйте метод DELETE. Будут удалены только пользовательские маски. Стандартные маски останутся.

curl -X DELETE https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/uapim/proxymasks \
  -H "Authorization: Bearer OAUTH_TOKEN"

После удаления появится ответ 204 No Content со следующим сообщением: Success response (204 No Content):

HTTP/1.1 204 No Content

Как обновить замаскированные наборы

Если вы измените конфигурацию маскировки информации, позволяющей идентифицировать личность, пакеты прокси-серверов API, которые были загружены ранее с более старой конфигурацией маскировки, нужно будет обработать заново с использованием последних масок. Чтобы обновить пакеты с последними настройками маскировки, отправьте запрос в службу поддержки.