Azure Key Vaultのサポート
アーキテクチャの概要
前提条件
-
Azure サブスクリプションが必要です。
-
(オプション) Linux マシンに Azure CLI をインストールします。手順については、Azure のドキュメント
<https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt?view=azure-cli-latest>を参照してください 。 -
ADC アプライアンスでエンティティを構成する前に、Azure Portal で構成を完了します。
ADC Azure Key Vault統合を構成する
Azure ポータルで次の手順を実行します
-
Azure Active Directory にアプリとサービスのプリンシパルを作成します
-
リソースグループに Key Vault を作成します。
-
Key Vault で署名および復号化操作を実行するようにアプリとサービスプリンシパルを設定します。
-
次のいずれかの方法で Key Vault にキーを作成します。
-
キーファイルをインポートする。
-
証明書を生成する。
-
<https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals>のAzure のドキュメントを参照してください。
ADC アプライアンスで次の手順を実行します
-
DNS サーバーを構成します。
-
ルート証明書を構成して、Azure によって提示された証明書を検証します。
-
Azure アプリケーションを作成します。
-
Azure Key Vaultエンティティを作成します。
-
HSM キーを作成します。
-
証明書とキーのペアを作成します。
-
証明書とキーのペアを仮想サーバーにバインドします。
DNS サーバーを構成する
add dns nameserver <IP address>
add dns nameserver 192.0.2.150
-

-
次のパラメーターの値を入力します。
-
IP アドレス-外部ネームサーバの IP アドレス。Local パラメータが設定されている場合は、ローカル DNS サーバ (LDNS) の IP アドレス。
-
Protocol:ネームサーバーが使用するプロトコル。UDP_TCP は、ネームサーバーがアプライアンスに構成されている DNS 仮想サーバーである場合は無効です。
-
-
[作成] をクリックします。
ルート証明書を追加してバインドする
https://<vault_name>.vault.azure.netと Azure Active Directory (AAD) <https://login.microsoftonline.com> によって提示された証明書のルート証明書をダウンロードし、ADC アプライアンスにロードします。これらの証明書は、Azure Key Vault と AAD によって提示された証明書を検証するために必要です。1 つ以上の証明書を CA証明書グループns_callout_certsにバインドします。
add ssl certkey <certkeyname> -cert <certname>
bind ssl caCertGroup <caCertGroupName> <certkeyName>
add ssl certKey rootcert -cert RootCyberTrustRoot.crt
bind ssl cacertGroup ns_callout_certs rootcert
-
次のパラメーターの値を入力します。
-
証明書とキーのペア名
-
証明書ファイル名

-
-
**[Install]**をクリックします。
-
トラフィック管理 > SSL > CA 証明書グループに移動します。
-
[Bind] をクリックします。
Azure アプリケーションの構成
add azure applicationコマンドに追加されました。ドメイン名は地域によって異なる可能性があるため、このパラメータが追加されます。たとえば、ドメインはvault.azure.netまたはvault.usgov.netです。
add azure application <name> -clientID <string> -clientSecret -tenantID <string> -vaultResource <string> [-tokenEndpoint <URL>]
show azure application
add azure application app10 -clientiD 12345t23aaa5 -clientsecret csHzOoEzmuY= -vaultResource example.vault.azure.net -tenantID 33583ee9ca5b
Done
> sh azure application app10
1) Name: app10 ClientID: 12345t23aaa5
TokenEndpoint: "https://login.microsoftonline.com/33583ee9ca5b/"
TenantID: 33583ee9ca5b VaultResource: example.vault.azure.net
Done
-
トラフィック管理 > SSL > Azure > アプリケーションに移動します。
-
次のパラメーターの値を入力します。
-
名前 — NetScalerアプライアンス上のアプリケーションオブジェクトの名前。
-
クライアント ID — アプリケーションが Azure CLI または Azure ポータル (GUI) を使用して Azure Active Directory に作成されたときに生成されるアプリケーション ID。
-
クライアントシークレット — Azure Active Directory で構成されたアプリケーションのパスワード。パスワードは Azure CLI で指定されるか、Azure ポータル (GUI) で生成されます。
-
テナント ID — アプリケーションが作成されたAzure Active Directory 内のディレクトリの ID。
-
Vault リソース-アクセストークンが付与される Vault リソース。例
vault.azure.net。 -
トークンエンドポイント — アクセストークンを取得できる URL。トークンエンドポイントが指定されていない場合、デフォルト値は
https://login.microsoftonline.com/<tenant id>です。

-
Azure Key Vaultを構成する
add azure keyVault <name> -azureVaultName <string> -azureApplication
<string>
show azure keyvault
add azure keyvault kv1 -azureapplication app10 -azurevaultName pctest.vault.azure.net
> sh azure keyVault
1) Name: kv1 AzureVaultName: pctest.vault.azure.net
AzureApplication: app10 State: "Access token obtained"
Done
| 状態 | 説明 |
|---|---|
Created |
Key Vault オブジェクトの初期状態。認証は試行されていません。 |
Could not reach token end point |
DNS サーバーが構成されていない、発行者証明書が CA 証明書グループにバインドされていない、またはネットワークの問題のいずれかを示します。 |
Authorization failed |
アプリケーション認証情報が正しくありません。 |
Token parse error |
Azure Active Directory からの応答が期待される形式ではありません。 |
Access token obtained |
Azure Active Directory によって正常に認証されました。 |
-
トラフィック管理 > SSL > Azure > Key Vaultに移動します。
-
次のパラメーターの値を入力します。
-
Name:Key Vaultの名前。
-
Azure Key Vault名-Azure CLI または Azure ポータル (GUI) を使用してドメイン名を使用して Azure クラウドで構成されたKey Vaultの名前。
-
Azure アプリケーション名-ADC アプライアンスで作成された Azure アプリケーションオブジェクトの名前。この名前の Azure アプリケーションオブジェクトは、Azure Active Directory での認証に使用されます。

-
HSM キーの追加
add ssl hsmKey <hsmKeyName> [-hsmType <hsmType>] [-key <string> |
-serialNum <string>] {-password } [-keystore <string>]
add ssl hsmKey h1 -keystore kv1 -key san15key -hsmType KEYVAULT
> sh ssl hsmKey h1
HSM Key Name: h1 Type: KEYVAULT
Key: san15key
Key store: kv1
State: “Created”
Done
| 状態 | 説明 |
|---|---|
| 作成日時 | HSM キーが ADC アプライアンスに追加されます。キー操作はまだ試行されていません。 |
| アクセストークンが使用 | キー操作が試行されたときには、アクセストークンを使用できません。 |
| 無許可 | 構成された Azure アプリケーションには、キー操作を実行する権限がありません。 |
| 存在しない | キーは Azure Key ボールトに存在しません。 |
| 到達不能 | ネットワーク上の Key Vault ホストにアクセスできません。 |
| マークダウン | キーの操作中にしきい値エラーが発生したため、ADC アプライアンスで HSM キーが DOWNとマークされます。 |
| 主要なオペレーションが成功しました | キー操作について Key Vault から成功レスポンスが届きました。 |
| キー操作に失敗しました | キー操作のために Key Vault からエラー応答を受信しました。 |
| キー操作が調整された | キー操作のリクエストは、Key Vault によって調整されます。 |
-
次のパラメータの値を入力します。
-
HSM キー名-キーの名前。
-
HSM タイプ-HSM のタイプ。
-
Key store-キーが格納されている HSM を表すキーストアオブジェクトの名前。たとえば、キー Vault オブジェクトや Azure Key Vault 認証オブジェクトの名前などです。
KEYVAULTタイプHSMにのみ適用されます。

-
-
**[追加]**をクリックします
証明書とキーのペアを追加します
add ssl certKey <certkeyName> (-cert <string> [-password]) -hsmKey <string>]
show ssl certkey
add ssl certKey serverrsa_2048 -cert /nsconfig/ssl/san_certs/san15.pem -hsmKey h1
> sh ssl certkey serverrsa_2048
Name: serverrsa_2048 Status: Valid, Days to expiration:9483
Version: 3
Serial Number: F5CFF9EF1E246022
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=in,O=citrix,CN=ca
Validity
Not Before: Mar 20 05:42:57 2015 GMT
Not After : Mar 12 05:42:57 2045 GMT
Certificate Type: "Server Certificate"
Subject: C=in,O=citrix
Public Key Algorithm: rsaEncryption
Public Key size: 2048
Ocsp Response Status: NONE
Done
-
次のパラメーターの値を入力します。
-
証明書とキーのペア名
-
証明書ファイル名
-
HSM キー

-
-
**[Install]**をクリックします。
証明書とキーのペアを仮想サーバーにバインドする
bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName>
show ssl vserver <vServerName>
bind ssl vserver v1 -certkeyName serverrsa_2048
sh ssl vserver v1
Advanced SSL configuration for VServer v1:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
HSTS Preload: NO
SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: serverrsa_2048 Server Certificate
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
-

-
矢印をクリックして、証明書とキーのペアを選択します。
-
リストから証明書とキーのペアを選択します。
-
証明書とキーのペアを仮想サーバーにバインドします。

制限事項
-
キー操作のための Azure Key Vault への同時呼び出しの数には制限があります。ADCアプライアンスのパフォーマンスは、Key Vaultの制限によって異なります。詳細については、 Microsoft Azure Key Vaultのドキュメントを参照してください。
-
EC キーはサポートされていません。
-
EDT プロトコルと DTLS プロトコルはサポートされていません。
-
Intel Coleto SSL チップを搭載した ADC アプライアンスはサポートされていません。
-
クラスタリングおよび管理パーティションはサポートされていません。
-
Azure アプリケーションエンティティ、Azure Key Vault オブジェクト、および HSM 証明書とキーのペアを ADC アプライアンスに追加した後は、更新できません。
-
HSM キーを含む証明書バンドルはサポートされていません。
-
HSM キーと証明書が一致しない場合、エラーは表示されません。証明書とキーのペアを追加する際は、HSM キーと証明書が一致していることを確認します。
-
HSM キーを DTLS 仮想サーバーにバインドすることはできません。
-
HSM キーを使用して作成された証明書とキーのペアを使用して OCSP リクエストに署名することはできません。
-
HSM キーを使用して証明書とキーのペアを作成した場合、証明書とキーのペアを SSL サービスにバインドすることはできません。
よくある質問
Azure Key Vault と統合した場合、秘密キーは ADC アプライアンスのメモリに保存されますか
統合 FIPS 140-2 レベル 2 は準拠していますか
どのキータイプがサポートされていますか
どのキーサイズがサポートされていますか
どの暗号がサポートされていますか
トランザクションはログに記録されますか
Apr 9 16:35:30 <local0.debug> 10.102.57.30 04/09/2019:16:35:30 GMT 0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUCCESS 896 0 : Backend SPCBId 30894 - ServerIP 104.211.224.186 - ServerPort 443 - ProtocolVersion TLSv1.2 - CipherSuite "ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Non-Export 256-bit" - Session New - SERVER_AUTHENTICATED -SerialNumber "200005A75B04365827852D630000000005A75B" - SignatureAlgorithm "sha256WithRSAEncryption" - ValidFrom "Mar 17 03:28:42 2019 GMT" - ValidTo "Mar 17 03:28:42 2021 GMT" - HandshakeTime 40 ms
Apr 9 16:35:30 <local0.debug> 10.102.57.30 04/09/2019:16:35:30 GMT 0-PPE-0 : default SSLLOG SSL_HANDSHAKE_ISSUERNAME 897 0 : SPCBId 30894 - IssuerName " C=US,ST=Washington,L=Redmond,O=Microsoft Corporation,OU=Microsoft IT,CN=Microsoft IT TLS CA 2"
Apr 9 16:35:30 <local0.debug> 10.102.57.30 04/09/2019:16:35:30 GMT 0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUBJECTNAME 898 0 : SPCBId 30894 - SubjectName " CN=vault.azure.net"