Použití pojmenovaných hodnot v zásadách API Management Azure
API Management zásady jsou výkonnou funkcí systému, která vydavateli umožňuje změnit chování rozhraní API prostřednictvím konfigurace. Zásady představují kolekci příkazů, které se postupně provádí na základě požadavku nebo odezvy z rozhraní API. Příkazy zásad lze vytvořit pomocí textových hodnot literálů, výrazů zásad a pojmenovaných hodnot.
Pojmenované hodnoty jsou globální kolekcí párů název/hodnota v každé API Management instanci. Počet položek v kolekci není žádným omezením. Pojmenované hodnoty lze použít ke správě hodnot a tajných kódů konstantních řetězců ve všech konfiguracích a zásadách rozhraní API.
Typy hodnot
| Typ | Description |
|---|---|
| Prostý | Literálový řetězec nebo výraz zásady |
| Tajný kód | Literálový řetězec nebo výraz zásad, který je šifrovaný API Management |
| Trezor klíčů | Identifikátor tajného kódu uloženého v trezoru klíčů Azure. |
Prosté hodnoty nebo tajné kódy mohou obsahovat výrazy zásad. Výraz například vrátí @(DateTime.Now.ToString()) řetězec obsahující aktuální datum a čas.
Podrobnosti o atributech pojmenované hodnoty najdete v referenčních API Management REST API .
Tajné kódy trezoru klíčů
Hodnoty tajných kódů je možné ukládat buď jako šifrované řetězce v API Management (vlastní tajné kódy), nebo odkazováním na tajné kódy v Azure Key Vault.
Použití tajných kódů trezoru klíčů se doporučuje, protože pomáhá API Management zabezpečení:
- Tajné kódy uložené v trezorech klíčů je možné opakovaně používat napříč službami.
- Na tajné kódy je možné použít podrobné zásady přístupu.
- Tajné kódy aktualizované v trezoru klíčů se automaticky obměnají v API Management. Po aktualizaci v trezoru klíčů se pojmenovaná hodnota API Management do 4 hodin. Tajný kód můžete také ručně aktualizovat pomocí Azure Portal nebo prostřednictvím správy REST API.
Požadavky na integraci trezoru klíčů
- Postup vytvoření trezoru klíčů najdete v tématu Rychlý start: Vytvoření trezoru klíčů pomocí Azure Portal.
- Povolte spravovanou identitu přiřazenou systémem nebo uživatelem v API Management instanci.
- Přiřaďte spravované identitě zásady přístupu trezoru klíčů s oprávněními k získání a zobrazení seznamu tajných kódů z trezoru. Přidání zásady:
- Na portálu přejděte do trezoru klíčů.
- Vyberte Nastavení > Přístup a > +Přidat zásady přístupu.
- Vyberte Oprávnění k tajným klíči a pak vyberte Získat a Vy list.
- V části Vybrat objekt zabezpečení vyberte název prostředku vaší spravované identity. Pokud používáte identitu přiřazenou systémem, objekt zabezpečení je název vaší API Management instance.
- Vytvořte nebo naimportujte tajný kód do trezoru klíčů. Viz Rychlý start: Nastavení a načtení tajného klíče z Azure Key Vault pomocí Azure Portal.
Pokud chcete použít tajný klíč trezoru klíčů, přidejte nebo upravte pojmenovanou hodnotua zadejte typ trezoru klíčů. Vyberte tajný kód z trezoru klíčů.
Požadavky na Key Vault firewall
Pokud Key Vault trezoru klíčů povolená brána firewall, požadavky jsou následující:
- Pro přístup k trezoru API Management musíte použít spravovanou identitu přiřazenou systémem vaší instance.
- V Key Vault firewall povolte možnost Povolit důvěryhodným službám Microsoftu tuto bránu firewall obejít.
Požadavky na virtuální síť
Pokud je API Management nasazená ve virtuální síti, nakonfigurujte také následující nastavení sítě:
- Povolte koncovému bodu služby Azure Key Vault v podsíti API Management služby.
- Nakonfigurujte pravidlo skupiny zabezpečení sítě (NSG), které povolí odchozí provoz do značek služeb AzureKeyVault a AzureActiveDirectory.
Podrobnosti najdete v tématu podrobnosti o konfiguraci sítě Připojení k virtuální síti.
Přidání nebo úprava pojmenované hodnoty
Přidání tajného klíče trezoru klíčů
Viz Požadavky pro integraci trezoru klíčů.
Upozornění
Při použití tajného klíče trezoru klíčů API Management odstraňovat tajný kód, trezor klíčů nebo spravovanou identitu použíovanou pro přístup k trezoru klíčů.
V Azure Portalpřejděte na svou instanci API Management.
V části Rozhraní API vyberte Pojmenované hodnoty > +Přidat.
Zadejte identifikátor názvu a zobrazovaný název, který se použije k odkazování na vlastnost v zásadách.
V části Typ hodnoty vyberte Trezor klíčů.
Zadejte identifikátor tajného klíče trezoru klíčů (bez verze) nebo zvolte Vybrat a vyberte tajný kód z trezoru klíčů.
Důležité
Pokud zadáte identifikátor tajného kódu trezoru klíčů sami, ujistěte se, že nemá informace o verzi. V opačném případě se tajný kód automaticky v trezoru API Management po aktualizaci v trezoru klíčů.
V části Identita klienta vyberte spravovanou identitu přiřazenou systémem nebo existující spravovanou identitu přiřazenou uživatelem. Zjistěte, jak přidat nebo upravit spravované identity ve vaší API Management službě.
Poznámka
Identita potřebuje oprávnění k získání a zobrazení seznamu tajných kódů z trezoru klíčů. Pokud jste ještě nenakonfigurovali přístup k trezoru klíčů, API Management vás vyzve, aby mohl automaticky nakonfigurovat identitu s potřebnými oprávněními.
Přidejte jednu nebo více volitelných značek, které vám pomůžou uspořádat pojmenované hodnoty, a pak uložit.
Vyberte Vytvořit.
Přidání prosté hodnoty nebo tajné hodnoty
- V Azure Portalpřejděte na svou instanci API Management.
- V části Rozhraní API vyberte Pojmenované hodnoty > +Přidat.
- Zadejte identifikátor názvu a zobrazovaný název, který se použije k odkazování na vlastnost v zásadách.
- V části Typ hodnoty vyberte Prostý nebo Tajný kód.
- Do pole Hodnota zadejte řetězec nebo výraz zásady.
- Přidejte jednu nebo více volitelných značek, které vám pomůžou uspořádat pojmenované hodnoty, a pak uložit.
- Vyberte Vytvořit.
Jakmile je pojmenovaná hodnota vytvořená, můžete ji upravit výběrem názvu. Pokud změníte zobrazovaný název, všechny zásady, které odkazují na tuto pojmenovanou hodnotu, se automaticky aktualizují tak, aby se nový zobrazovaný název používat.
Použití pojmenované hodnoty
Příklady v této části používají pojmenované hodnoty uvedené v následující tabulce.
| Name | Hodnota | Tajný kód |
|---|---|---|
| ContosoHeader | TrackingId |
Ne |
| ContosoHeaderValue | •••••••••••••••••••••• | Ano |
| Vlastnost výrazu | @(DateTime.Now.ToString()) |
Ne |
Pokud chcete v zásadách použít pojmenovanou hodnotu, umístěte její zobrazovaný název do dvojité dvojice složených závorek, jako je , jak je {{ContosoHeader}} znázorněno v následujícím příkladu:
<set-header name="{{ContosoHeader}}" exists-action="override">
<value>{{ContosoHeaderValue}}</value>
</set-header>
V tomto příkladu se používá jako název hlavičky v zásadách a používá se jako ContosoHeader set-header hodnota této ContosoHeaderValue hlavičky. Když se tato zásada vyhodnotí během požadavku nebo odpovědi na API Management gateway a nahradí se {{ContosoHeader}} {{ContosoHeaderValue}} jejich příslušnými hodnotami.
Pojmenované hodnoty lze použít jako kompletní hodnoty atributů nebo elementů, jak je znázorněno v předchozím příkladu, ale lze je také vložit do nebo zkombinovat s částí textového výrazu literálu, jak je znázorněno v následujícím příkladu:
<set-header name = "CustomHeader{{ContosoHeader}}" ...>
Pojmenované hodnoty mohou také obsahovat výrazy zásad. V následujícím příkladu ExpressionProperty se používá výraz .
<set-header name="CustomHeader" exists-action="override">
<value>{{ExpressionProperty}}</value>
</set-header>
Když se tato zásada {{ExpressionProperty}} vyhodnotí, nahradí se její hodnotou @(DateTime.Now.ToString()) . Vzhledem k tomu, že hodnota je výraz zásad, výraz se vyhodnotí a zásada pokračuje v jeho provádění.
Můžete to otestovat na portálu Azure Portal nebo vývojářské portálu zavoláte operaci, která má zásadu s pojmenovanou hodnotou v oboru. V následujícím příkladu se volá operace se dvěma předchozími příklady set-header zásad s pojmenovaných hodnotami. Všimněte si, že odpověď obsahuje dvě vlastní hlavičky, které byly nakonfigurovány pomocí zásad s pojmenovaných hodnotami.
Pokud se podíváte na trasování odchozího rozhraní API pro volání, které obsahuje dvě předchozí ukázkové zásady s pojmenovaných hodnotami, uvidíte dvě zásady s vkládanou pojmenovanou hodnotou a také vyhodnocení výrazu zásady pro pojmenovanou hodnotu, která obsahovala výraz set-header zásady.
Upozornění
Pokud zásada odkazuje na tajný kód v Azure Key Vault, hodnota z trezoru klíčů bude viditelná pro uživatele, kteří mají přístup k předplatným povoleným pro trasování požadavků rozhraní API.
I když pojmenované hodnoty mohou obsahovat výrazy zásad, nesmí obsahovat jiné pojmenované hodnoty. Pokud se text obsahující odkaz na pojmenovanou hodnotu použije pro hodnotu, například , nebude tento odkaz vyřešen a Text: {{MyProperty}} nahrazen.
Odstranění pojmenované hodnoty
Pokud chcete odstranit pojmenovanou hodnotu, vyberte název a pak v místní nabídce ( ... ) vyberte Odstranit.
Důležité
Pokud se na pojmenovanou hodnotu odkazuje API Management zásad, nemůžete ji odstranit, dokud neodeberete pojmenovanou hodnotu ze všech zásad, které ji používají.
Další kroky
- Další informace o práci se zásadami
