次の方法で共有


テナント間同期とは?

テナント間同期により、組織内のテナント間で Microsoft Entra B2B コラボレーション ユーザーの作成、更新、削除が自動化されます。 これにより、ユーザーはアプリケーションにアクセスし、テナント間で共同作業を行いながら、組織を進化させることができます。

テナント間同期の主な目標を次に示します。

  • マルチテナント組織のためのシームレスなコラボレーション
  • マルチテナント組織で B2B コラボレーション ユーザーのライフサイクル管理を自動化する
  • ユーザーが組織を離れたときに B2B アカウントを自動的に削除する

テナント間同期を使用する理由

テナント間同期を使用すると、B2B コラボレーション ユーザーの作成、更新、削除が自動化されます。 テナント間同期を使用して作成されたユーザーは、アプリが統合されているテナントに関係なく、Microsoft アプリケーション (Teams や SharePoint など) と Microsoft 以外のアプリケーション (ServiceNowAdobe など) の両方にアクセスできます。 これらのユーザーは、Microsoft Entra の条件付きアクセステナント間アクセス設定など、Microsoft Entra ID のセキュリティ機能を引き続き利用でき、Azure AD エンタイトルメント管理などの機能を使用して管理できます。

次の図は、テナント間同期を使用して、ユーザーが組織内のテナント間でアプリケーションにアクセスできるようにする方法を示しています。

複数のテナントのユーザーの同期を示す図。

対象ユーザー

  • 複数の Microsoft Entra テナントを所有し、組織内のテナント間のアプリケーション アクセスを効率化する必要がある組織。
  • テナント間同期は、現在、組織の境界を越えた使用には適していません

メリット

テナント間同期を使用すると、次の操作を行うことができます。

  • カスタム スクリプトを作成して維持することなく、組織内で B2B コラボレーション ユーザーを自動的に作成し、必要なアプリケーションへのアクセスを提供する。
  • ユーザー エクスペリエンスを向上させ、ユーザーが招待メールを受信したり、各テナントで同意プロンプトを受け入れることなく、リソースにアクセスできるようにする。
  • ユーザーが組織を離れたときに、そのユーザーを自動的に更新および削除する。

Teams と Microsoft 365

テナント間同期によって作成されたユーザーは、手動招待によって作成された B2B コラボレーション ユーザーと同じエクスペリエンスで Microsoft Teams やその他の Microsoft 365 サービスにアクセスできます。 組織で共有チャネルを使用する場合は、「既知の問題」のドキュメントを参照して詳細を確認してください。 member userType は、時間をかけてさまざまな Microsoft 365 サービスで使われ、マルチテナント組織のユーザーに差別化されたエンド ユーザー エクスペリエンスを提供するようになります。

プロパティ

テナント間同期を構成するときは、ソース テナントとターゲット テナントの間に信頼関係を定義します。 テナント間同期には、次の特性があります。

  • Microsoft Entra プロビジョニング エンジンに基づく。
  • ターゲット テナントからのプル プロセスではなく、ソース テナントからのプッシュ プロセスである。
  • ソース テナントからの内部メンバーのみのプッシュをサポートしている。 ソース テナントからの外部ユーザーの同期はサポートされていない。
  • 同期のスコープ内のユーザーは、ソース テナントで構成される。
  • 属性マッピングは、ソース テナントで構成される。
  • 拡張属性がサポートされている。
  • ターゲット テナント管理者は、いつでも同期を停止できる。

次の表は、テナント間同期の部分と、それらが構成されているテナントを示しています。

Tenant クロステナント
アクセスの設定
自動引き換え 同期の設定
configuration
スコープ内のユーザー
ソース テナントのアイコン。
ソース テナント
✔️ ✔️ ✔️
ターゲット テナントのアイコン。
ターゲット テナント
✔️ ✔️

テナント間同期の設定

テナント間同期の設定は、ソース テナントの管理者がユーザーをターゲット テナントに同期できるようにするための、インバウンドのみの組織の設定です。 この設定は、ターゲット テナントで指定する [ユーザーにこのテナントへの同期を許可する] という名前のチェック ボックスです。 この設定は、手動招待Microsoft Entra エンタイトルメント管理などの他のプロセスによって作成された B2B 招待には影響しません。

[テナント間同期] タブと [ユーザーにこのテナントへの同期を許可する] チェック ボックスを示すスクリーンショット。

Microsoft Graph を使用してこの設定を構成するには、「crossTenantIdentitySyncPolicyPartner の更新」 API をご覧ください。 詳しくは、「テナント間同期を構成する」をご覧ください。

自動引き換えの設定

自動引き換えの設定は、ユーザーがリソース/ターゲット テナントに初めてアクセスするときに同意プロンプトを受け入れる必要がないように、招待を自動的に引き換えるための、インバウンドとアウトバウンドの組織の信頼設定です。 この設定は、次のように表示されるチェック ボックスで行えます。

  • Automatically redeem invitations with the tenant<テナント名> (テナント <テナント名> で招待を自動的に引き換える)

インバウンドの自動引き換えチェック ボックスを示すスクリーンショット。

さまざまなシナリオの設定を比較する

自動引き換え設定は、次の状況でテナント間同期、B2B コラボレーション、B2B 直接接続に適用されます。

  • テナント間同期を使って、ターゲット テナントでユーザーが作成されるとき。
  • B2B コラボレーションを使って、ユーザーがリソース テナントに追加されるとき。
  • B2B 直接接続を使って、ユーザーが リソース テナント内のリソースにアクセスするとき。

次の表では、これらのシナリオでこの設定を有効にした場合の比較を示します。

Item テナント間同期 B2B コラボレーション B2B 直接接続
自動引き換えの設定 必須 オプション オプション
ユーザーが B2B コラボレーションの招待メールを受け取る いいえ いいえ 該当なし
ユーザーは同意プロンプトに同意する必要がある いいえ いいえ いいえ
ユーザーが B2B コラボレーションの通知メールを受け取る いいえ イエス 該当なし

この設定は、アプリケーションの同意エクスペリエンスには影響しません。 詳細については、「Microsoft Entra ID でのアプリケーションの同意エクスペリエンス」を参照してください。 この設定は、Azure 商用と Azure Government など、Microsoft クラウド環境が異なる組織の間ではサポートされません。

自動引き換え設定によって同意プロンプトと招待メールが抑制されるのは、ホーム/ソース テナント (アウトバウンド) とリソース/ターゲット テナント (インバウンド) の両方でこの設定がチェックされる場合のみです。

アウトバウンドとインバウンド両方の自動引き換え設定を示す図。

次の表は、テナント間アクセス設定の異なる組み合わせに対して自動引き換え設定がチェックされるときの、ソース テナント ユーザーに対する同意プロンプトの動作を示したものです。

ホーム/ソース テナント リソース/ターゲット テナント ソース テナント ユーザーに対する
同意プロンプトの動作
Outbound 受信
オンのチェック マークのアイコン。 オンのチェック マークのアイコン。 抑制される
オンのチェック マークのアイコン。 オフのチェック マークのアイコン。 抑制されない
オフのチェック マークのアイコン。 オンのチェック マークのアイコン。 抑制されない
オフのチェック マークのアイコン。 オフのチェック マークのアイコン。 抑制されない
受信 Outbound
オンのチェック マークのアイコン。 オンのチェック マークのアイコン。 抑制されない
オンのチェック マークのアイコン。 オフのチェック マークのアイコン。 抑制されない
オフのチェック マークのアイコン。 オンのチェック マークのアイコン。 抑制されない
オフのチェック マークのアイコン。 オフのチェック マークのアイコン。 抑制されない

Microsoft Graph を使ってこの設定を構成するには、「crossTenantAccessPolicyConfigurationPartner の更新」 API をご覧ください。 詳しくは、「テナント間同期を構成する」をご覧ください。

ユーザーが自分が属しているテナントを知る方法

テナント間同期の場合、ユーザーはメールを受け取らないか、同意プロンプトを受け入れる必要があります。 ユーザーが自分が属しているテナントを確認するには、自分の [マイ アカウント] ページを開き、[組織] を選択できます。 ユーザーは Microsoft Entra管理センター で自分の Portal設定を開き、ディレクトリ + サブスクリプション を表示し、ディレクトリを切り替えることができます。

プライバシー情報など、詳細については、「外部ユーザーとして組織を脱退する」を参照してください。

はじめに

テナント間同期の使用を開始するための基本的な手順を次に示します。

手順 1: 組織内のテナントを構成する方法を定義する

テナント間同期により、コラボレーションを可能にする柔軟なソリューションが提供されますが、組織はそれぞれ異なります。 たとえば、中央テナント、サテライト テナント、またはある種のテナントのメッシュがあるとします。 テナント間同期では、これらのトポロジのいずれもサポートされています。 詳しくは、「テナント間同期のトポロジ」をご覧ください。

さまざまなテナント トポロジを示す図。

手順 2: ターゲット テナントでテナント間同期を有効にする

ユーザーが作成されるターゲット テナントで、[テナント間アクセス設定] ページに移動します。 ここでは、それぞれのチェックボックスを選択することで、テナント間同期と B2B 自動引き換え設定を有効にします。 詳しくは、「テナント間同期を構成する」をご覧ください。

ターゲット テナントで有効になっているテナント間同期を示す図。

手順 3: ソース テナントでテナント間同期を有効にする

任意のソース テナントで、[テナント間アクセス設定] ページに移動し、B2B 自動引き換え機能を有効にします。 次に、[テナント間同期] ページを使用してテナント間同期ジョブを設定し、次のように指定します。

  • 同期するユーザー
  • 含める属性
  • すべての変換

Microsoft Entra ID を使用して ID を SaaS アプリケーションにプロビジョニングしたことのある人にとっては、このエクスペリエンスはなじみのあるものです。 同期の構成が完了したら、ユーザーが必要なすべての属性で作成されていることを確認するために、少数のユーザーを使用したテストを開始することができます。 テストが完了したら、組織全体で同期とロールアウトを行うユーザーをすばやく追加できます。 詳しくは、「テナント間同期を構成する」をご覧ください。

ソース テナントで構成されたテナント間同期ジョブを示す図。

ライセンス要件

ソース テナント内: この機能を使用するには、Microsoft Entra ID P1 のライセンスが必要です。 テナント間同期で同期される各ユーザーは、ホーム/ソース テナントに P1 ライセンスを持っている必要があります。 自分の要件に適したライセンスを探すには、「一般提供されている Microsoft Entra ID の機能の比較」を参照してください。

ターゲット テナント内: テナント間同期は、Microsoft Entra 外部 ID の課金モデルに依存します。 外部 ID のライセンス モデルを理解するには、「Microsoft Entra 外部 IDの MAU 課金モデル」を参照してください。 また、自動引き換えを有効にするには、ターゲット テナントに少なくとも 1 つの Microsoft Entra ID P1 ライセンスが必要です。

よく寄せられる質問

クラウド

テナント間同期を使用できるクラウドはどれですか?

  • テナント間同期は、商用クラウドおよび Azure Government. 内でサポートされています。
  • テナント間同期は、21Vianet によって運営される Microsoft Azure クラウド内ではサポートされていません。
  • 同期は、同じクラウド内の 2 つのテナント間でのみサポートされます。
  • クラウド間 (パブリック クラウドから Azure Government など) は現在サポートされていません。

既存の B2B ユーザー

テナント間同期は既存の B2B ユーザーを管理しますか?

  • はい。 テナント間同期では、alternativeSecurityIdentifier と呼ばれる内部属性を使用して、ソース テナント内の内部ユーザーとターゲット テナント内の外部/B2B ユーザーを一意に一致させます。 テナント間同期では、各ユーザーが所有するアカウントが 1 つだけになるように、既存の B2B ユーザーを更新します。
  • テナント間同期は、ソース テナント内とターゲット テナント内の内部ユーザー (種類 "メンバー" と種類 "ゲスト" の両方) と一致させることはできません。

同期の間隔

テナント間同期はどのくらいの頻度で実行されますか?

  • 同期間隔は現在、40 分間隔で開始するように固定されています。 同期期間は、スコープ内ユーザーの数によって異なります。 最初の同期サイクルには、次の増分同期サイクルよりも大幅に長い時間がかかる可能性があります。

Scope

ターゲット テナントに同期されるものを制御するにはどうすればよいですか?

ユーザーがソース テナントの同期スコープから削除された場合、テナント間同期によってターゲットでそれらの論理的な削除が行われますか?

  • はい。 ユーザーがソース テナントの同期スコープから削除された場合、テナント間同期によってターゲット テナントでそれらの論理的な削除が行われます。

オブジェクトの型

同期できるオブジェクトの種類は何ですか?

  • Microsoft Entra ユーザーはテナント間で同期できます。 (グループ、デバイス、連絡先は現在サポートされていません。)

同期できるユーザーの種類は何ですか?

  • 内部メンバーは、ソース テナントから同期できます。 内部ゲストをソース テナントから同期することはできません。
  • ユーザーは、外部メンバー (既定) または外部ゲストとしてターゲット テナントに同期できます。
  • UserType 定義の詳細については、「Microsoft Entra B2B コラボレーション ユーザーのプロパティ」を参照してください。

既存の B2B コラボレーション ユーザーがいます。 彼らはどうなるでしょうか?

  • テナント間同期によって、ユーザーが照合され、表示名の更新など、ユーザーに必要な更新が行われます。 既定では、UserType はゲストからメンバーに更新されませんが、属性マッピングでこれを構成できます。

属性

同期できるユーザー属性は何ですか?

  • テナント間同期では、Microsoft Entra ID のユーザー オブジェクトで一般的に使用される属性が同期されます。これには displayName、userPrincipalName、ディレクトリ拡張属性などが含まれますが、これらに限定されません。
  • テナント間同期では、商用クラウドでのマネージャー属性のプロビジョニングがサポートされます。 マネージャーの同期は、米国政府機関向けクラウドではまだサポートされていません。 マネージャー属性をプロビジョニングするには、ユーザーとそのマネージャーの両方がテナント間同期のスコープ内にある必要があります。
    • 既定のスキーマ/属性マッピングを使用して 2024 年 1 月より後に作成されたテナント間同期構成の場合:
      • マネージャー属性は、属性マッピングに自動的に追加されます。
      • マネージャーの更新は、変更が行われるユーザー (マネージャーの変更など) の増分サイクルに適用されます。 同期エンジンは、過去にプロビジョニングされていたすべての既存ユーザーを自動的に更新するわけではありません。
      • プロビジョニングの対象となる既存のユーザーのマネージャーを更新するには、特定のユーザーに対してオンデマンド プロビジョニングを使用するか、再起動してすべてのユーザーに対してマネージャーをプロビジョニングします。
    • カスタム スキーマ / 属性マッピングを使用して 2024 年 1 月より前に作成されたテナント間同期構成の場合 (例: マッピングに属性を追加、またはデフォルトのマッピングを変更):
      • 属性マッピングにマネージャー属性を追加する必要があります。 これにより、再起動がトリガーされ、プロビジョニングのスコープ内にあるすべてのユーザーが更新されます。 これは、ソース テナントのマネージャー属性をターゲット テナントのマネージャーに直接マッピングする必要があります。
    • ソース テナントでユーザーのマネージャーが削除され、ソース テナントに新しいマネージャーが割り当てられていない場合、ターゲット テナントではマネージャー属性は更新されません。

同期できない属性は何ですか?

  • ディレクトリの外部にある写真、カスタム セキュリティ属性、ユーザー属性を含む (ただしこれらに限定されない) 属性は、テナント間同期では同期できません。

ユーザー属性が提供または管理される場所を制御できますか?

  • テナント間同期では、権限のソースを直接制御することはできません。 ユーザーとその属性は、ソース テナントで権限があると見なされます。 ユーザーの権限制御のソースを属性レベルまで進化させる権限ワークストリームの並列ソースがあり、ソースのユーザー オブジェクトは最終的に複数の基になるソースを反映する可能性があります。 テナント間プロセスの場合、これはソース テナントの値として引き続き、ターゲット テナントへの同期プロセスに対して信頼できるものとして扱われます (一部が実際には別の場所で発生した場合でも)。 現在、同期プロセスの権限ソースを元に戻すことはサポートされていません。
  • テナント間同期では、オブジェクト レベルでの権限ソースのみがサポートされます。 つまり、ユーザーのすべての属性は、資格情報を含め、同じソースから取得する必要があります。 同期されたオブジェクトの権限ソースまたはフェデレーションの方向を逆にすることはできません。

同期されたユーザーの属性がターゲット テナントで変更された場合はどうなりますか?

  • テナント間同期では、ターゲットの変更に対してクエリは実行されません。 ソース テナント内の同期されたユーザーに変更が加えられていない場合、ターゲット テナントで行われたユーザー属性の変更は保持されます。 ただし、ソース テナント内のユーザーに変更が加えられた場合、次の同期サイクル中に、ターゲット テナント内のユーザーがソース テナント内のユーザーと一致するように更新されます。

ターゲット テナントは、同期されている特定のホーム/ソース テナント ユーザーのサインインを手動でブロックできますか?

  • ソース テナント内の同期されたユーザーに変更が加えられていない場合、ターゲット テナントのブロック サインイン設定は保持されます。 ソース テナント内のユーザーに対する変更が検出された場合、テナント間同期は、ターゲット テナントでのサインインがブロックされているユーザーを再度有効にします。

構造体

複数のテナント間でメッシュを同期できますか?

  • テナント間同期は、一方向のピアツーピア同期として構成されます。つまり、1 つのソースと 1 つのターゲット テナントの間で同期が構成されます。 テナント間同期の複数のインスタンスは、1 つのソースから複数のターゲット、および複数のソースから 1 つのターゲットに同期するように構成できます。 ただし、ソースとターゲットの間に存在できる同期インスタンスは 1 つだけです。
  • テナント間の同期では、ホーム/ソース テナントの内部のユーザーのみが同期されるため、ユーザーが同じテナントに書き戻されるループが発生することはありません。
  • 複数のトポロジがサポートされています。 詳しくは、「テナント間同期のトポロジ」をご覧ください。

組織間 (マルチテナント組織の外部) でテナント間同期を使用できますか?

  • プライバシー上の理由から、テナント間同期は組織内で使用することを目的としています。 組織を超えて B2B コラボレーション ユーザーを招待するために、エンタイトルメント管理の使用をお勧めします。

テナント間同期を使用して、あるテナントから別のテナントにユーザーを移行できますか?

  • いいえ。 同期されたユーザーの認証にはソース テナントが必要であるため、テナント間同期は移行ツールではありません。 さらに、テナントの移行では、SharePoint や OneDrive などのユーザー データを移行する必要があります。

B2B コラボレーション

テナント間同期で、B2B コラボレーションの現在の制限事項は解決されますか?

  • テナント間同期は既存の B2B コラボレーション テクノロジに基づいて構築されているため、既存の制限が適用されます。 例を次に示します (ただし、これらに限定されません)。

    アプリまたはサービス 制限事項
    Power BI - Power BI での UserType Member のサポートは現在プレビュー段階です。 詳細については、「Microsoft Entra B2B で外部ゲスト ユーザーに Power BI コンテンツを配布する」を参照してください。
    Azure Virtual Desktop - 外部メンバーと外部ゲストは、Azure Virtual Desktop ではサポートされていません。

B2B 直接接続

テナント間同期は B2B 直接接続とどのように関連していますか?

  • B2B 直接接続は、Teams Connect共有チャネルに必要な基になる ID テクノロジです。
  • Microsoft アプリケーションと Microsoft 以外のアプリケーションの両方を含む、他のすべてのテナント間アプリケーション アクセス シナリオでは、B2B コラボレーションをお勧めします。
  • B2B 直接接続とテナント間同期は共存するように設計されており、テナント間のシナリオを幅広くカバーするために両方を有効にすることができます。

マルチテナント組織でテナント間同期をどの程度利用する必要があるかを判断しようとしています。 Teams Connect を超えて B2B 直接接続のサポートを拡張する予定はありますか?

  • B2B 直接接続のサポートを、Teams Connect 共有チャネルを超えて拡張する予定はありません。

Microsoft 365

テナント間同期で、テナント間の Microsoft 365 アプリ アクセス ユーザー エクスペリエンスが強化されますか?

  • テナント間同期では、各テナントでの初回の B2B 同意プロンプトと引き換えプロセスを抑制することで、ユーザー エクスペリエンスを向上させる機能を利用します。
  • 同期されたユーザーは、他の B2B Collaboration ユーザーと同じように、テナント間で Microsoft 365 を利用できます。

テナント間同期では、Microsoft 365 でユーザー検索シナリオを有効にできますか?

  • はい、テナント間同期では、M365 でユーザーの検索を有効にすることができます。 ターゲット テナント内のユーザーに対して、 showInAddressList 属性が True に設定されていることを確認します。 テナント間同期 属性マッピングでは、showInAddressList 属性は既定で true に設定されます。
  • テナント間同期では、B2B Collaboration ユーザーが作成され、連絡先は作成されません。

Teams

テナント間同期によって、現在の Teams エクスペリエンスが強化されますか?

  • 同期されたユーザーは、他の B2B コラボレーション ユーザーと同じように、テナント間で Microsoft 365 を利用できます。

統合

ターゲット テナント内のユーザーがソース テナントに戻るためにサポートされているフェデレーション オプションは何ですか?

  • テナント間同期によって、ソース テナント内の内部ユーザーごとにフェデレーション外部ユーザー (B2B でよく使用される) がターゲットに作成されます。 内部ユーザーの同期がサポートされています。 これには、ドメイン フェデレーション (Active Directory フェデレーション サービス (AD FS) など) を使用して他の ID システムにフェデレーションされた内部ユーザーが含まれます。 外部ユーザーの同期はサポートされていません。

テナント間同期は、クロスドメイン ID 管理システム (SCIM) を使用しますか?

  • 不正解です。 現在、Microsoft Entra ID では SCIM クライアントがサポートされていますが、SCIM サーバーはサポートされていません。 詳細については、「Microsoft Entra ID との SCIM 同期」を参照してください。

Deprovisioning

テナント間同期では、ユーザーのプロビジョニング解除はサポートされていますか?

  • はい。ソース テナントで下のアクションが実行されると、ユーザーはターゲット テナントで論理的に削除されます。

    • ソース テナント内のユーザーを削除する
    • テナント間同期の構成からユーザーの割り当てを解除する
    • テナント間同期の構成に割り当てられているグループからユーザーを削除する
    • ユーザーに関する属性が変更され、テナント間同期の構成で定義されているスコープ フィルター条件が満たされなくなる
  • ソース テナントでのサインインからユーザーがブロックされている場合 (accountEnabled = false)、そのユーザーはターゲットへのサインインをブロックされます。 これは削除ではなく、accountEnabled プロパティへの更新です。

  • このシナリオでは、ユーザーはターゲット テナントから論理的に削除されません。

    1. ユーザーをグループに追加し、ソース テナントのテナント間同期構成に割り当てます。
    2. ユーザーをオンデマンドでプロビジョニングするか、増分サイクルを通じてプロビジョニングします。
    3. ソース テナントのユーザーに対して、アカウントが有効になっている状態を false に更新します。
    4. ユーザーをオンデマンドでプロビジョニングするか、増分サイクルを通じてプロビジョニングします。 ターゲット テナントでアカウントが有効になっている状態が false に変更されました。
    5. ソース テナントのグループからユーザーを削除します。

テナント間同期では、ユーザーの復元はサポートされていますか?

  • ソース テナント内のユーザーが復元されてアプリに再割り当てされ、論理的な削除から 30 日以内にスコープ条件が再び満たされると、ターゲット テナントに復元されます。
  • IT 管理者は、ターゲット テナント内で直接、手動でユーザーを復元することもできます。

現在テナント間同期のスコープ内にあるすべてのユーザーをプロビジョニング解除するにはどうすればよいですか?

  • テナント間同期構成からすべてのユーザーとグループの割り当てを解除します。 これにより、直接およびグループ メンバーシップを通じて割り当てられていないすべてのユーザーが、後続の同期サイクルでプロビジョニング解除されます。 プロビジョニング解除が完了するまで、ターゲット テナントでは同期の受信ポリシーを有効にしておく必要があることに注意してください。 また、スコープが [すべてのユーザーとグループを同期する] に設定されている場合は、[割り当てられたユーザーとグループのみを同期する] に変更する必要があります。 ユーザーは、テナント間同期によって自動的に論理的に削除されます。 ユーザーは 30 日後に自動的に物理的に削除されるか、ターゲット テナントから直接ユーザーを物理的に削除することもできます。 ターゲット テナントで直接ユーザーを物理的に削除することを選択するか、ユーザーが自動的に物理的に削除されるまで 30 日間待機できます。

同期関係が切断された場合、それまでテナント間同期で管理されていた外部ユーザーはターゲット テナントで削除されますか?

  • いいえ。 関係が切断された場合 (たとえば、テナント間同期ポリシーが削除された場合)、テナント間同期によって以前に管理されていた外部ユーザーは変更されません。

次の手順