Veri maskeleme ve gizleme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Edge'de API çağrılarının hatalarını ayıkladığınızda, içerik bazen kredi kartları veya kimliği tanımlayabilecek sağlık bilgilerine (PHI) izin verilmez.

Edge, Google'dan hassas verileri gizlemek veya maskelemek için Trace ve hata ayıklama oturumları

Hassas verileri gizleme

Hassas verilerin İzleme aracında görünmesini engelleyebilir ve hata ayıklama oturumlarında öneki "private." olan özelleştirilebilen değişkenler.

Örneğin, bir şifrelenmiş anahtar/değer eşlemesi, değerlerin görünmemesi için değişken adlarını aşağıdaki gibi biçimlendirin veya hata ayıklama oturumlarında oturum açın:

<Get assignTo="private.hiddenData">

Hassas değişkenleri gizlemek, veri maskelemenin bir alternatifidir. Aşağıda açıklanmıştır. İlgili içeriği oluşturmak için kullanılan gizleme ile maskeleme arasındaki fark, gizli değişkenlerin hiç görünmemesi ve değerleri, İzleme ve hata ayıklama oturumlarında yıldız işaretleriyle değiştirilir.

"private." içermeyen değişkenler ön ek, Trace'te açık metin olarak gösterilir ve Veriler şifrelenmiş anahtar değeri gibi şifrelenmiş bir veri deposundan gelse bile hata ayıklama oturumları haritası. Bu değerleri maskelemek istiyorsanız maskelemeyi (aşağıda) kullanın.

Hassas verileri maskeleme

Edge, "maske yapılandırmaları" tanımlamanıza olanak sağlar görüntüleme ve hata ayıklama oturumlarındaki belirli verileri maskelemek için kullanılır. Maskeleme yapılandırmaları genel olarak (kuruluş düzeyinde) veya yerel olarak (API'den) ayarlanabilir. proxy düzeyinde) seçin.

Veriler maskelendiğinde iz çıktısında yıldız işaretleriyle değiştirilir. Örneğin:

<description>**********</description>
.

Maske Yapılandırmalarını Kullanma

Maske yapılandırmaları, şu kaynaklardaki hassas verileri tanımlamanıza olanak tanır:
  • XML yükleri: XPath'i kullanarak, istek veya yardımcı olabilir.
  • JSON yükleri: JSONPath'i kullanarak, filtrelenecek JSON özelliklerini tanımlarsınız mesajlarının yüküne odaklanacaktır.
  • Akış değişkenleri: Hata ayıklamada maskelenmesi gereken değişkenlerin listesini belirtebilirsiniz. çıktı. request.content, response.content veya message.content akış değişkeni kullanıyorsanız istek/yanıt gövdesi de mümkün değildir.

Bir maske yapılandırmasının temel yapısı, aşağıdaki XML gösterimiyle gösterilir:

<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>

Maske yapılandırma yapılandırma kaynağı

Aşağıdaki öğeleri kullanarak bir maske yapılandırması tanımlayın.

Alan adı Açıklama Varsayılan Zorunlu mu?
XPathsRequest istek yolunu sunar. Başarıyla çözümlenen tüm XPath'ler, XML değeriyle sonuçlanacaktır. bir öğenin maskelenmesi gerekir. Yok Hayır
XPathsResponse tıklayın. Başarıyla çözümlenen tüm XPath'ler, XML değeriyle sonuçlanacaktır. bir öğenin maskelenmesi gerekir. Yok Hayır
JSONPathsRequest Şu dizindeki JSON yüklerine (varsa) karşı değerlendirilecek JSONPath ifadelerinin listesi: eklemeniz gerekir. Başarılı bir şekilde çözümlenen JSONPath'ler, JSON özelliği maskeleniyor. Yok Hayır
JSONPathsResponse Şu dizindeki JSON yüklerine (varsa) karşı değerlendirilecek JSONPath ifadelerinin listesi: gösterir. Başarılı bir şekilde çözümlenen JSONPath'ler, JSON özelliği maskeleniyor. Yok Hayır
XPathsFault hata akışı (akışın herhangi bir noktasında bir hata atılması durumunda yürütülür). XML öğesinin değerinin maskelenmesiyle sonuçlanır. Yok Hayır
JSONPathsFault hata akışı (akışın herhangi bir noktasında bir hata atılması durumunda yürütülür). Tüm JSONPath'ler değeri maskelenir. Yok Hayır
Değişkenler

Değerleri maskelenecek değişkenlerin (önceden tanımlanmış veya özel) listesi. Örneğin, listesi için Değişkenler referansı bölümüne bakın.

Yok Hayır

Maske yapılandırma API'si

Maske yapılandırmaları, yüklediğiniz ve indirdiğiniz XML veya JSON biçimli dosyalar olarak tanımlanır yönetim API'sini kullanın. Veri maskeleme API'lerinin tam listesi için Veri Maskeleri başlıklı makaleyi inceleyin.

Mevcut maske yapılandırmalarını görmek için API kaynağını çağırmanız yeterlidir Kuruluşunuzda /maskconfigs:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u email

Bu örnekte, Temel söz dizimi gösterilmektedir kimlik doğrulama için Kimlik doğrulama gibi diğer kimlik doğrulama türlerini kullanabilirsiniz. Oauth2 veya SAML seçeneğini belirleyin.

Belirli API proxy'leri için tanımlanmış maske yapılandırmalarını görmek üzere /maskconfigs API'si:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email

Belirli bir maske yapılandırmasını görmek için maskenin adını belirtin:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs/default \
-u email
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/default \
-u email

Maske yapılandırması oluşturmak için POST fiilini kullanarak maskeyi tanımlayan bir yük gönderin yapılandırma:

$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u email
Kapsamı belirli bir API proxy'sine ayarlanmış bir maske yapılandırması oluşturmak için:
$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email

Maske yapılandırmasını DELETE fiilini kullanarak silebilirsiniz:

$ curl -X DELETE \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/{maskconfig_name} \
-u email

Bu örnekte, Temel söz dizimi gösterilmektedir kimlik doğrulama için Kimlik doğrulama gibi diğer kimlik doğrulama türlerini kullanabilirsiniz. Oauth2 veya SAML seçeneğini belirleyin.

DELETE işlevinin yanıtı, mesaj içermeyen bir HTTP kodu (204) şeklindedir içerik.

XML ad alanları için maskeleme

Maske yapılandırması, XPATH içinde <Namespace> öğesini gerektirmez XML yükünde bir ad alanı tanımlanmadığı sürece tanımlanamaz. Bu durum, XML yükü varsayılan ad alanı kullanır.

Örneğin, XML yükü bir ad alanı tanımlamaz:

<employee>
    <name>abc</name>
    <age>50</age>
</employee>

Bu nedenle, maske yapılandırması <Namespace> öğesini gerektirmez:

<MaskDataConfiguration>
    <XPathsRequest>
        <XPathRequest>/employee/name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>

XML yükü bir ad alanı ve ön ek içeriyorsa:

<myco:employee xmlns:myco="http://example.com">
    <myco:name>xyz</myco:name>
    <myco:age>50</myco:age>
</myco:employee>

Maske yapılandırması tanımı, <Namespace> öğe:

<MaskDataConfiguration>
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:employee/myco:name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>

XML yükünde ad alanı varsa ancak ön eki yoksa varsayılan ad alanı şu şekildedir:

<employee xmlns="http://example.com">
    <name>xyz</name>
    <age>50</age>
</employee>

Bu durumda, maske yapılandırmasının <Namespace> öğesini içermeye devam etmesi gerekir:

<MaskDataConfiguration>
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:employee/myco:name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>