アーティファクト署名のリソースと役割

アーティファクト署名は、リソースなどの一般的な 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 つまたは複数の成果物署名アカウント リソースを持つことができます。

成果物署名サービスリソース グループと証明書プロファイルの構造を示す図。

このサービスでは、Public Trust、Private Trust、コード整合性 (CI) ポリシー、仮想化ベースのセキュリティ (VBS) エンクレーブ、および Public Trust テスト署名の種類がサポートされているため、複数の成果物署名アカウントと証明書プロファイルを用意すると便利です。 証明書プロファイルの種類とその使用方法の詳細については、「 成果物署名証明書の種類と管理」を参照してください。

注

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

アーティファクト署名アカウント

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

ID 検証

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

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

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

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

証明書プロファイル

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

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

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

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

      注

      Public Trust Test 証明書プロファイルの種類に含まれるすべての証明書には、有効期間 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 ポリシー ファイルに署名するために設計されています。

サポートされているロール

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

Role アカウントの管理と表示 証明書プロファイルを管理する 証明書プロファイルを使用した署名 署名履歴の表示 ロールの割り当てを管理する ID 検証の管理
アーティファクト署名アイデンティティ検証ツール1 X
成果物署名証明書プロファイル署名者2 X X
オーナー X X X
投稿者 X X
Reader X
ユーザー アクセス管理者 X

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

2 アーティファクト署名を使用して正常に署名するために必要です。