信頼済み署名のリソースと役割

信頼された署名は、リソースなど一般的な Azure 概念を完全にサポートする Azure ネイティブ リソースです。 他のあらゆる Azure リソースと同様に、信頼された署名には、サービスの管理を簡略化するように設計された独自のリソースとロールのセットがあります。

この記事では、信頼済み署名に固有のリソースとロールについて説明します。

信頼済み署名リソースの種類

信頼済み署名のリソースの種類は、次のとおりです。

  • 信頼済み署名アカウント: アカウントは、署名を完了し、それらの機密性の高いリソースへのアクセス制御を管理するために必要な、すべてのリソースの論理コンテナーです。

  • ID 検証: ID 検証では、コードに署名する前に、組織または個々の ID の検証が実行されます。 検証された組織または個人の ID は、証明書プロファイルのサブジェクト識別名 (サブジェクト DN) 値 (CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US など) の属性のソースです。 ID 検証ロールは、これらのリソースを作成するためにテナント ID に割り当てられます。

  • 証明書プロファイル: 証明書プロファイルは、コードの署名に使用する証明書を生成する構成属性です。 また、信頼モデルを定義し、署名されたコンテンツが証明書利用者によって使用されるシナリオも定義します。 署名ロールは、テナント ID が署名を要求することを承認するために、このリソースに割り当てられます。 証明書プロファイルを作成するための前提条件は、少なくとも 1 つの ID 検証要求を完了することです。

次の構造例では、Azure サブスクリプションにリソース グループがあります。 リソース グループでは、1 つまたは複数の ID 検証と証明書プロファイルを持つ 1 つまたは複数の信頼済み署名アカウント リソースを持つことができます。

信頼済み署名サービス リソース グループと証明書プロファイルの構造を示す図。

サービスでは、パブリック信頼、プライベート信頼、コードの整合性 (CI) ポリシー、仮想化ベースのセキュリティ (VBS) エンクレーブ、パブリック信頼テスト署名の種類がサポートされるため、複数の信頼済み署名アカウントと複数の証明書プロファイルを持てることは便利です。 証明書プロファイルの種類とその使用方法の詳細については、信頼済み署名証明書の種類と管理に関する記事を参照してください。

Note

ID 検証と証明書プロファイルは、パブリック信頼またはプライベート信頼のいずれかに一致します。 パブリック信頼 ID 検証は、パブリック信頼モデルに使用される証明書プロファイルにのみ使用されます。 詳細については、信頼済み署名信頼モデルに関する記事を参照してください。

信頼済み署名アカウント

信頼済み署名アカウントは、証明書への署名を完了するために使用されるリソースの論理コンテナーです。 信頼済み署名アカウントを使用して、プロジェクトまたは組織の境界を定義できます。 ほとんどの場合、1 つの信頼済み署名アカウントで、個人または組織のすべての署名ニーズを満たせます。 同じ ID (Contoso News, LLC など) によって配布される多数の成果物に署名する必要がある場合がありますが、運用上、署名へのアクセスの観点から引き出したい境界がある可能性があります。 信頼済み署名アカウントを製品ごと、またはチームごとに選択して、アカウントの使用方法や署名の追跡方法を分離できます。 ただし、この分離パターンを証明書プロファイル レベルで実現することもできます。

ID 検証

ID 検証は、署名に使用される証明書の ID の確立に関するすべてです。 パブリック信頼とプライベート信頼の 2 種類があります。 2 つの種類を定義するのは、ID 検証リソースの作成を完了するために必要な ID 検証のレベルです。

  • パブリック信頼は、Microsoft PKI サービスのサード パーティ認定プラクティス ステートメント (CPS) に従って、すべての ID 値を検証する必要があることを意味します。 この要件は、パブリックに信頼されたコード署名証明書に対する期待値と一致します。

  • プライベート信頼は、1 つまたは複数の証明書利用者 (署名のコンシューマー) 全体でプライベート ID に対する信頼が確立されている場合、またはアプリ制御または基幹業務 (LOB) シナリオで内部的に信頼されている場合に使用することを目的としています。 プライベート信頼 ID 検証では、ID 属性 (Organization Unit 値など) の検証は最小限です。 検証は、サブスクライバーの Azure テナント (Costoso.onmicrosoft.com など) と緊密に関連付けられます。 プライベート信頼証明書プロファイルの値は、Azure テナント情報を超えて検証されません。

パブリック信頼とプライベート信頼の詳細については、「信頼された署名の信頼モデル」を参照してください。

証明書プロファイル

信頼済み署名では、すべてのサブスクライバーが、アラインメントされた完成した ID 検証リソースで使用できる証明書プロファイルの種類が合計 5 つ提供されます。 これらの 5 つの証明書プロファイルは、次のようにパブリック信頼またはプライベートの信頼 ID 検証に合わせて調整されます。

  • パブリック信頼
    • パブリック信頼: パブリックに配布できるコードと成果物の署名に使用されます。 この証明書プロファイルは、既定では、コード署名のために Windows プラットフォームで信頼されます。

    • VBS エンクレーブ: Windows で仮想化ベースのセキュリティ エンクレーブに署名するために使用されます。

    • パブリック信頼テスト: テスト署名にのみ使用され、既定ではパブリックに信頼されません。 内部ループ ビルド署名の優れたオプションとして、パブリック信頼テスト証明書プロファイルを検討してください。

      Note

      パブリック信頼テストの証明書プロファイルの種類のすべての証明書には、有効期間 EKU (1.3.6.1.4.1.311.10.3.13) が含まれます。有効なタイム スタンプの副署が存在するかどうかにかかわらず、署名証明書の有効期間を考慮するように検証が強制されます。

  • プライベート信頼
    • プライベート信頼: LOB アプリケーションやコンテナーなどの内部成果物またはプライベート成果物の署名に使用されます。 また、App Control for Business のカタログ ファイルへの署名にも使用できます。
    • プライベート信頼 CI ポリシー: プライベート信頼 CI ポリシー証明書プロファイルは、コード署名 EKU (1.3.6.1.5.5.7.3.3) を含まない唯一の種類です。 この証明書プロファイルは、App Control for Business CI ポリシー ファイルに署名するために特別に設計されています。

サポートされている役割

ロール ベースの Accesfnotes Controls (RBAC) は、すべての Azure リソースの基礎概念です。 信頼済み署名では、ID 検証 (信頼された署名 ID 検証者ロール) を作成し、証明書プロファイル (信頼された署名証明書プロファイル署名者ロール) を使用して署名するためのサブスクライバーのニーズを満たすために、2 つのカスタム ロールが追加されます。 信頼済み署名を使用してこれらの 2 つの重要な機能を実行するには、これらのカスタム ロールを明示的に割り当てる必要があります。 次の表には、信頼済み署名がサポートするロールとその機能 (すべての標準 Azure ロールを含む) の完全な一覧が含まれます。

ロール アカウントを管理および表示する 証明書プロファイルの管理 証明書プロファイルを使用した署名 署名履歴の表示 ロールの割り当てを管理する ID 検証の管理
信頼された署名 ID 検証者1 x
信頼された署名証明書プロファイル署名者2 x x
Owner X X X
Contributor X X
Reader x
ユーザー アクセス管理者 x

1 ID 検証の作成または管理に必要です。 Azure portal でのみ利用できます。

2 信頼済み署名を使用して正常に署名するために必要です。