Share via


Attestation ポリシー バージョン 1.0

インスタンス所有者は、Azure Attestation ポリシーを使用して、構成証明フロー中に検証する必要がある内容を定義できます。 この記事では、構成証明サービスとポリシー エンジンの動作を紹介します。 構成証明の種類ごとに専用の構成証明ポリシーがあります。 サポートされている文法と処理は大部分が同じです。

ポリシー バージョン 1.0

サービスでサポートされるポリシーの最小バージョンはバージョン 1.0 です。

A diagram that shows Azure Attestation using policy version 1.0.

構成証明サービス フローは次のとおりです。

  • プラットフォームは、構成証明の呼び出しで構成証明の証拠を構成証明サービスに送信します。
  • 構成証明サービスは証拠を解析し、構成証明の評価中に使用される要求の一覧を作成します。 これらの要求は受信要求セットとして論理的に分類されます。
  • アップロードされた構成証明ポリシーは、構成証明ポリシーで作成された規則に対する証拠を評価するために使用されます。

ポリシー バージョン 1.0 には、3 つのセグメントがあります。

  • version: 準拠している文法のバージョン番号です。
  • authorizationrules: 構成証明が issuancerules に進むべきかどうかを判断するために最初にチェックされる要求規則のコレクションです。 このセクションは、issuancerules を適用する必要のない呼び出しを除外するために使用します。 このセクションから応答トークンへ要求を発行することはできません。 これらのルールを使用して構成証明を失敗させることができます。
  • issuancerules: ポリシーに定義されている構成証明の結果に情報を追加する目的で評価される要求規則のコレクションです。 要求規則は、定義されている順に適用されます。 また、省略可能です。 これらの規則を使用して送信要求セットと応答トークンに追加できます。 これらの規則を使用して構成証明を失敗させることはできません。

次の要求は、受信要求の一部としてポリシー バージョン 1.0 でサポートされています。

TPM の構成証明

トラステッド プラットフォーム モジュール (TPM) 構成証明ポリシーで承認規則を定義するには、次の要求を使用します。

  • aikValidated: 構成証明識別キー (AIK) 証明書が検証されているかどうかに関する情報を含むブール値。
  • aikPubHash: DER 形式の base64 (SHA256) AIK 公開キーを含む文字列
  • tpmVersion: TPM メジャー バージョンを含む整数値。
  • secureBootEnabled: セキュア ブートが有効であるかどうかを示すブール値。
  • iommuEnabled:入出力メモリ管理ユニットが有効かどうかを示すブール値。
  • secureBootEnabled: ブート デバッグが無効であるかどうかを示すブール値。
  • notSafeMode: Windowsがセーフ モードで実行されていないかどうかを示すブール値。
  • notWinPE: Windowsが WinPE モードで実行されていないかどうかを示すブール値。
  • vbsEnabled: 仮想化ベースのセキュリティ (VBS) が有効かどうかを示すブール値。
  • vbsReportPresent: VBS エンクレーブ レポートが使用可能かどうかを示すブール値。

VBS の構成証明

VBS の構成証明ポリシーで承認規則を定義するには、次の要求を使用します。

  • enclaveAuthorId: エンクレーブ作成者 ID の Base64Url エンコード値を含む文字列値。 エンクレーブのプライマリ モジュールの作成者 ID です。
  • enclaveImageId: エンクレーブ イメージ ID の Base64Url エンコード値を含む文字列値。 エンクレーブのプライマリ モジュールのイメージ ID です。
  • enclaveOwnerId: エンクレーブ所有者 ID の Base64Url エンコード値を含む文字列値。 エンクレーブの所有者の ID です。
  • enclaveFamilyId: エンクレーブ ファミリ ID の Base64Url エンコード値を含む文字列値。 エンクレーブのプライマリ モジュールのファミリ ID です。
  • enclaveSvn: エンクレーブのプライマリ モジュールのセキュリティ バージョン番号を含む整数値。
  • enclavePlatformSvn: エンクレーブをホストしているプラットフォームのセキュリティ バージョン番号を含む整数値。
  • enclaveFlags: enclaveFlags 要求は、エンクレーブのランタイム ポリシーを表すフラグを含んだ整数値です。

さまざまな種類の構成証明のサンプル ポリシー

TPM のサンプル ポリシー:

version=1.0;

authorizationrules { 
    => permit();
};


issuancerules
{
[type=="aikValidated", value==true]&& 
[type=="secureBootEnabled", value==true] &&
[type=="bootDebuggingDisabled", value==true] && 
[type=="notSafeMode", value==true] => issue(type="PlatformAttested", value=true);
};