このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開

規則グループと規則

発行: 2011年4月

更新日: 2015年6月

適用対象: Azure

Microsoft Azure Active Directory アクセス制御 (アクセス制御サービスまたは ACS) では、ルール グループは ID プロバイダーから証明書利用者アプリケーションに渡される ID 要求を定義する要求規則の名前付きセットです。ACS では、ルール グループは証明書利用者アプリケーションと関連付けられています。1 つの規則グループは、1 つ以上の証明書利用者アプリケーションで使用することができ、1 つの証明書利用者アプリケーションは 1 つ以上の規則グループを参照できます。

ACS は、ID プロバイダーからトークン要求またはトークンを受け取ると、証明書利用者アプリケーションと関連付けられているすべてのルール グループを実行して、トークンの要求を処理します。すべてのルール グループは、各ルール グループ内のすべての規則なので (順序は関係ありません)、同時に実行されます。実行が完了した後で規則によって新しい要求が発行された場合、証明書利用者アプリケーションと関連付けられているルール グループが再び実行されます。実行プロセスが完了した後、または ACS の実行が 10 回完了した後で (どちらか早い方) 新しい要求が発行されない場合、規則およびルール グループの実行プロセスは停止します。

ルール グループおよび規則の作成と編集は、手動で、ACS 管理ポータルを使用して、またはプログラムで、ACS 管理サービスを使用して行うことができます。

新しい証明書利用者アプリケーションのプロパティを ACS 管理ポータルで追加および構成するときに、この証明書利用者アプリケーションと関連付けられたルール グループを作成することもできます。既定では、ACS 管理ポータルの [証明書利用者アプリケーションの追加] ページの [新しいルール グループの作成] オプションはオンになっています。このオプションをオンのままにして、新しい証明書利用者アプリケーション用の既定のルール グループを作成することを強くお勧めします (詳細については、「証明書利用者アプリケーション」の「ルール グループ」を参照してください)。ACS 管理ポータルの [ルール グループ] セクションを使用してルール グループを追加することもできます。その後、[証明書利用者アプリケーションの追加] ページを使用して証明書利用者アプリケーションを追加するときに、既存のルール グループと関連付けることができます。

ルール グループを作成した後は、ACS 管理ポータルの [ルール グループの編集] を使用して規則を自動的に生成できます。規則を自動的に生成する場合は、規則生成対象の ID プロバイダーの選択を求められます。ルール グループが 1 つ以上の証明書利用者アプリケーションにリンクされていると、証明書利用者アプリケーションによって使用される ID プロバイダーが既定で選択されます。

noteメモ
WS-Federation ID プロバイダーの場合、ID プロバイダーの WS-Federation メタデータで提供される各要求種類に対して規則が作成されて、この規則は要求の種類および値をパススルーします。他の ID プロバイダーの場合、パススルー規則は事前に決定されている要求種類の一覧に基づいて生成されます。

ACS 管理ポータルの [ルール グループの編集] ページの表にはすべての規則が表示され、規則の [出力要求]、[要求の発行者] (ID プロバイダーまたは ACS)、[説明] の各列が含まれます。

表で特定の規則をクリックすると、[要求規則の編集] ページに移動し、規則を編集できます。新しい規則を手動で追加するには、[追加] をクリックします。

要求規則では、ACS が入力方向の要求を出力要求に変換するロジックが記述されています。規則はルール グループに含まれ、ルール グループは証明書利用者アプリケーションと関連付けられていて、ACS によってアプリケーションに対してトークンが発行されるたびに実行されます。ルール グループに規則が含まれない場合、証明書利用者アプリケーションに対してトークンは発行されません。通常、証明書利用者アプリケーションに発行する必要のあるすべての要求種類に対して 1 つの規則が必要です。規則を 1 つだけ作成し、すべての要求の種類と値のパススルーにそれを使用できます。ただし、要求種類ごとの規則を使用すると、セキュリティが向上し、アプリケーションに渡されるデータをきめ細かく制御できます。

ACS では、ID プロバイダーまたはクライアントから受信した要求を、要求の種類、発行者、値を変更することなく証明書利用者アプリケーションに渡すように、規則を構成できます。このような規則はパススルー規則と呼ばれます。たとえば、Windows Live ID (Microsoft アカウント) によって発行されたトークンには nameidentifier 要求種類が含まれます。この要求を変更しないで証明書利用者アプリケーションに渡すには、要求発行者 Windows Live ID からの入力方向の nameidentifier 要求種類を処理して同等の出力要求を作成するパススルー規則を構成する必要があります。

次の表では、Contoso.com という名前の架空の AD FS 2.0 ID プロバイダーからパススルーされる要求を示します。

 

入力要求 出力要求

Issuer

Issuer

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control サービス

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Access Control サービス

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Access Control サービス

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

ACS の規則エンジンでは、要求発行者、入力要求種類、値に基づいて入力要求を完全に異なる出力要求に変換する機能も提供されています。つまり、ACS 規則エンジンを使用すると、トークンに含まれる要求を追加、削除、変更することによって、入力トークンを異なる出力トークンに変換できます。この形式の要求変換により、ACS は要求入力値に基づく基本的な承認を実装できます。次の例では、入力要求 “nameidentifier” が特定の値と一致する場合に出力される値が “administrator” である要求種類 “role” を示します。

 

入力要求 出力要求

Issuer

Issuer

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control サービス

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

管理者

また、ACS 規則エンジンは、2 つの入力要求を結合して出力要求を作成する機能も提供します。次の例では、Contoso.com からの入力要求 “nameidentifier” および “role” の両方が特定の値と一致する場合、出力要求は種類 “action” で値 “write” になります。2 つの入力要求が規則で指定されている場合、出力要求を生成するには両方の値が一致する必要があります。

 

入力要求 出力要求

Issuer

Issuer

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control サービス

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/action

write

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

管理者

規則を使用してトークン変換を実装する方法の詳細および手順については、「方法:規則を使用してトークン変換ロジックを実装する」を参照してください。

ACS 管理ポータルで新しい要求規則を追加するとき、または既存の要求規則を編集するときは、以下の設定を構成する必要があります。

このセクションには、規則が出力要求を発行するために true である必要がある条件が含まれます。このような条件には次のものが含まれます。

  • 要求発行者 — 入力要求を発行したエンティティを参照します。構成されている ID プロバイダー (例: ) または ACS です。入力要求がサービス ID または別の要求規則からのものである場合、ACS が発行者です。詳細については、「サービス ID」を参照してください。

  • 入力要求の種類 — 要求発行者から受け取った入力要求種類を参照します。たとえば、"nameidentifier" のすべての要求の種類は、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier です。このフィールドのオプションは、次のとおりです。

    • 任意 — 任意の要求種類を発行者から受け取った場合、true を返します。

    • 種類を選択 — 入力要求種類がドロップダウン メニューで選択されている種類と一致する場合、true を返します。このメニューには、選択した要求の発行者が使用できる要求の種類が読み込まれます。

    • 種類を入力 — 入力要求種類がフィールドに入力された値と正確に一致する場合、true を返します。

      Important重要
      このフィールドは、大文字と小文字を区別します。

  • 入力要求の値 — 受け取った入力要求の値を参照します。たとえば、"nameidentifier" の要求の種類に電子メール アドレスを値として使用し、このフィールドを特定の電子メール アドレスの確認用に使用することができます。このフィールドのオプションは、次のとおりです。

    • 任意 — 任意の要求値を発行者から受け取った場合、true を返します。

    • 値を入力 — 入力要求種類がフィールドに入力された値と正確に一致する場合、true を返します。このオプションでは、特定の入力要求種類が選択されているか、または [入力要求の種類] フィールドに入力されている必要があります。

      Important重要
      このフィールドは、大文字と小文字を区別します。

2 番目の要求を規則に追加するには、[2 番目の入力要求の追加] をクリックします。これにより、以下に示す追加の条件を指定できます。入力要求が 2 つある規則では、すべての条件が true でないと出力要求が生成されないことに注意してください。

  • 要求発行者 — 2 番目の入力要求を発行したエンティティを参照します。1 番目の要求で選択したものと同じ ID プロバイダーでも、ACS でもかまいません。規則処理の間に他の要求規則から生成された要求を指定するには、ACS を選択します。

    Important重要
    1 番目の要求と 2 番目の要求に異なる ID プロバイダーを選択することはできません。規則として、一度に処理できるのは 1 つの ID プロバイダーから発行された 1 つのトークンだけです。

  • 入力要求の種類 — 要求発行者から受け取った入力要求種類を参照します。たとえば、"nameidentifier" のすべての要求の種類は、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier です。このフィールドのオプションは、次のとおりです。

    • 種類を選択 — 入力要求種類がドロップダウン メニューで選択されている種類と一致する場合、true を返します。このメニューには、選択した要求の発行者が使用できる要求の種類が読み込まれます。

    • 種類を入力 — 入力要求種類がフィールドに入力された値と正確に一致する場合、true を返します。

      Important重要
      このフィールドは、大文字と小文字を区別します。

  • 入力要求の値 — 受け取った入力要求の値を参照します。たとえば、"nameidentifier" の要求の種類に電子メール アドレスを値として使用し、このフィールドを特定の電子メール アドレスの確認用に使用することができます。入力要求種類がフィールドに入力された値と正確に一致する場合、true を返します。

    Important重要
    このフィールドは、大文字と小文字を区別します。

このセクションでは、規則の If セクションの条件が true の場合に ACS によって発行される出力要求を指定します。出力要求のオプションは次のとおりです。

  • 出力要求の種類 — ACS によって発行される要求種類です。このフィールドのオプションは、次のとおりです。

    • 入力要求の種類のパススルー — 入力要求と同じ種類の出力要求を発行します。

    • 種類を選択 — 指定した種類の出力要求を発行します。ドロップダウン メニューには一般的な要求種類の一覧が含まれます。

    • 種類を入力 — 入力した種類の要求を発行します。出力要求を SAML トークンで提供する場合、この値は URI にする必要があります (例: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier)。

      Important重要
      このフィールドは、大文字と小文字を区別します。

  • 出力要求の値 — ACS によって発行される出力要求の値を参照します。このフィールドのオプションは、次のとおりです。

    • 入力要求の値のパススルー - 入力要求の値と同じ値を持つ出力要求を発行します。

    • 値を入力 - このフィールドに入力した値を持つ要求を発行します。このオプションでは、特定の入力要求の種類が選択されているか、または [出力要求の種類] フィールドに入力されている必要があります。

      Important重要
      このフィールドは、大文字と小文字を区別します。

このセクションを使用して、規則の説明を作成できます。

noteメモ
ACS では、生成される規則に対して規則の説明は自動的に作成されません。

アクセス御名前空間の規則は、ACS の管理サービスを使用してプログラムで構成できます。ASP.NET を使用して規則を構成する方法の例については、「コード サンプル:Management Service」を参照してください。ACS 管理サービスを使用して規則を構成するときに考慮する必要のある重要な項目を以下に示します。

  • ルール グループの規則を編集および削除するときは、最初に ACS でそのルール グループ内のすべての規則をクエリした後、クエリから返された規則 ID を使用して編集または削除操作を実行することをお勧めします。将来の操作のために管理サービスから返された ID を保管しておくことはお勧めできません。ID が維持されている保証はありません。

  • 規則作成の自動再試行ロジックを作成する場合 (タイムアウトの場合など)、最初に現在のルール グループに同じ規則が存在することをクエリしてから、2 回目の追加を試みることをお勧めします。

関連項目

コミュニティの追加

表示:
© 2015 Microsoft