Azure CLI を用いた Key Vault 証明書を作成する際における証明書ポリシーについて

スポンサーリンク

前回は Azure PowerShell を用いた場合での証明書ポリシーのオプション パラメーターについて、ブログ エントリを公開しましたが、今回は Azure CLI を用いた場合での証明書ポリシーについて、まとめてみます。

Azure CLI で Key Vault 証明書を作成する際には az keyvault certificate create コマンドを用いますが、証明書ポリシー (サブジェクトや証明書の有効期限などの設定情報をまとめたもの) をオプション パラメーター –policy で指定することが可能です。

ただ Azure PowerShell とは異なり、証明書ポリシーをコマンドでは設定することはできないようで JSON ファイルとしてまとめるしかないようです。

指定可能なパラメーター値についてもドキュメントにあまり記載がなくてつらい (

スポンサーリンク

Azure CLI で使用する証明書ポリシーの内容について

※Azure CLI v2.24.0 にて確認しています。

既定の証明書ポリシー

既定の証明書ポリシーは、az keyvault certificate get-default-policy コマンドから取得することが可能です。

内容は以下となり、ここから修正して、ファイルとして保存する形となります。Azure PowerShell のオプション パラメーターよりも Azure ポータルの設定項目の照らし合わせイメージが付きにくいですね (

{
  "issuerParameters": {
    "certificateTransparency": null,
    "name": "Self"
  },
  "keyProperties": {
    "curve": null,
    "exportable": true,
    "keySize": 2048,
    "keyType": "RSA",
    "reuseKey": true
  },
  "lifetimeActions": [
    {
      "action": {
        "actionType": "AutoRenew"
      },
      "trigger": {
        "daysBeforeExpiry": 90
      }
    }
  ],
  "secretProperties": {
    "contentType": "application/x-pkcs12"
  },
  "x509CertificateProperties": {
    "keyUsage": [
      "cRLSign",
      "dataEncipherment",
      "digitalSignature",
      "keyEncipherment",
      "keyAgreement",
      "keyCertSign"
    ],
    "subject": "CN=CLIGetDefaultPolicy",
    "validityInMonths": 12
  }
}

“issuerParameters”

“certificateTransparency”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [証明書の透過性を有効にしますか?] に当たります。

“certificateType”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [証明書の種類?] に当たります。

“name”

Azure ポータルで Key Vault 証明書を作成する際の、[証明機関 (CA) の種類] に当たります。

例えば “name”: “Self” とすると、自己署名証明書となります。

“keyProperties”

“exportable”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [エクスポート可能な秘密キーですか?] に当たります。

“keySize”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [キー サイズ] に当たります。

“keyType”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [キーの種類] に当たります。

“reuseKey”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [キーを再利用して更新しますか?] に当たります。

“lifetimeActions”

Azure ポータルで Key Vault 証明書を作成する際の、[有効期間のアクション タイプ] に当たります。

“action”
“actionType”

以下のどちらかの値を指定することが可能です。

  • AutoRenew
    「自動的に更新する」場合に指定します。
  • EmailContacts
    「すべての連絡先にメールを送信する」場合に指定します。
“trigger”

以下のプロパティ、値を指定することが可能です。

  • “DaysBeforeExpiry” : <日数>
    「有効期限が切れる日数 (数値) でトリガーする」場合に指定します。
  • “LifetimePercentage” : <割合>
    「有効期限が切れる割合 (パーセンテージ、数値) でトリガーする」場合に指定します。

“secretProperties”

“contentType”

Azure ポータルで Key Vault 証明書を作成する際の、[コンテンツの種類] に当たります。

“x509CertificateProperties”

“ekus”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [拡張キー使用法 (EKU)] に当たります。

“keyUsage”

Azure ポータルで Key Vault 証明書を作成する際の、[ポリシーの詳細構成] – [X.509 キーの使用フラグ] に当たります。

“subject”

Azure ポータルで Key Vault 証明書を作成する際の、[件名] に当たります。

例えば “subject”: “CN=rootca” とするとルート CA 証明書となります。

“subjectAlternativeNames”
“dnsNames”

Azure ポータルで Key Vault 証明書を作成する際の、[DNS 名] に当たります。

“validityInMonths”

Azure ポータルで Key Vault 証明書を作成する際の、[有効期間 (月単位)] に当たります。

補足 : Key Vault 証明書の作成コマンド例

–vault-name パラメーターで Key Vault コンテナー名、–name パラメーターで作成する Key Vault 証明書名、および –policy パラメーターで証明書ポリシー ファイル名を指定します。

az keyvault certificate create --vault-name '<Key Vault コンテナー名>' --name '<Key Vault 証明書名>' --policy '@<証明書ポリシー ファイル名>'
スポンサーリンク

参考サイト

Azure CLIAzure Key Vault
タイトルとURLをコピーしました