チュートリアル:Slack を構成し、自動ユーザー プロビジョニングに対応させる

このチュートリアルでは、Microsoft Entra ID から Slack にユーザー アカウントを自動的にプロビジョニング/プロビジョニング解除するために、Slack と Microsoft Entra ID で実行する必要がある手順について説明します。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Microsoft Entra ID による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。

サポートされる機能

  • Slack でユーザーを作成する
  • アクセスが不要になった場合に Slack のユーザーを削除する
  • Microsoft Entra ID と Slack の間でユーザー属性の同期を維持する
  • Slack でグループとグループ メンバーシップをプロビジョニングする
  • Slack へのシングル サインオン (推奨)

前提条件

このチュートリアルで説明するシナリオでは、次の項目があることを前提としています。

  • Microsoft Entra テナント
  • プロビジョニングを構成するためのアクセス許可を持つ Microsoft Entra ID のユーザー アカウント (アプリケーション管理者、クラウド アプリケーション管理者、アプリケーション所有者、グローバル管理者など)。
  • Plus プラン以上の Slack テナントが有効になっていること。
  • Team Admin アクセス許可がある Slack のユーザー アカウント。

Note

この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。

手順 1:プロビジョニングのデプロイを計画する

  1. プロビジョニング サービスのしくみを確認します。
  2. プロビジョニングの対象となるユーザーを決定します。
  3. Microsoft Entra ID と Slack の間でマップするデータを決定します。

Microsoft Entra アプリケーション ギャラリーから Slack を追加して、Slack へのプロビジョニングの管理を開始します。 SSO のために以前 Slack を設定している場合は、同じアプリケーションを使用できます。 ただし、統合を初めてテストするときは、別のアプリを作成することをお勧めします。 ギャラリーからアプリケーションを追加する方法の詳細については、こちらを参照してください。

手順 3: プロビジョニングの対象となるユーザーを定義する

Microsoft Entra プロビジョニング サービスを使用すると、アプリケーションへの割り当てやユーザーやグループの属性に基づいてプロビジョニングされるユーザーのスコープを設定できます。 割り当てに基づいてアプリにプロビジョニングされるユーザーのスコープを設定する場合、以下の手順を使用して、ユーザーとグループをアプリケーションに割り当てることができます。 ユーザーまたはグループの属性のみに基づいてプロビジョニングされるユーザーのスコープを設定する場合、こちらで説明されているスコープ フィルターを使用できます。

  • 小さいところから始めましょう。 全員にロールアウトする前に、少数のユーザーとグループでテストします。 プロビジョニングのスコープが割り当て済みユーザーとグループに設定される場合、これを制御するには、1 つまたは 2 つのユーザーまたはグループをアプリに割り当てます。 スコープがすべてのユーザーとグループに設定されている場合は、属性ベースのスコープ フィルターを指定できます。

  • 追加のロールが必要な場合は、アプリケーション マニフェストを更新して新しいロールを追加できます。

手順 4: Slack への自動ユーザー プロビジョニングを構成する

このセクションでは、Microsoft Entra ID を Slack のユーザー アカウント プロビジョニング API に接続する手順と、Microsoft Entra ID のユーザーとグループの割り当てに基づいて、割り当て済みのユーザー アカウントを Slack で作成、更新、無効化するようにプロビジョニング サービスを構成する手順を説明します。

Microsoft Entra ID で Slack への自動ユーザー アカウント プロビジョニングを構成するには:

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します

    Enterprise applications blade

  3. アプリケーションの一覧で [Slack] を選択します。

    The Slack link in the Applications list

  4. [プロビジョニング] タブを選択します。

    Screenshot of the Manage options with the Provisioning option called out.

  5. [プロビジョニング モード][自動] に設定します。

    Screenshot of the Provisioning Mode dropdown list with the Automatic option called out.

  6. [管理者資格情報] セクションにある [承認する] をクリックします。 これで、ブラウザーの新しいウィンドウで Slack 承認ダイアログが開きます。

    Screenshot shows the Authorize Admin Credentials button.

  7. 新しいウィンドウで、Team Admin アカウントを使用して Slack にサインインします。 表示された承認ダイアログで、プロビジョニングを有効にしたい Slack チームを選択して [承認する] を選択します。 終わったら Azure Portal に戻り、プロビジョニング構成を完了します。

    Authorization Dialog

  8. [接続テスト] をクリックして、Microsoft Entra ID で Slack アプリに接続できることを確認します。 接続が失敗した場合、使用中の Slack アカウントに Team Admin アクセス許可があることを確認して、"承認" の手順をもう一度試してください。

  9. [通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを入力して、 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。

    Notification Email

  10. [保存] を選択します。

  11. [マッピング] セクションで、[Microsoft Entra ユーザーを Slack に同期する] を選択します。

  12. [属性マッピング] セクションで、Microsoft Entra ID から Slack に同期されるユーザー属性を確認します。 [Matching (照合)] プロパティとして選択されている属性は、更新処理で Slack のユーザー アカウントとの照合に使用されることに注意してください。 [保存] ボタンをクリックして変更をコミットします。

属性 Type
active Boolean
externalId String
displayName String
name.familyName String
name.givenName String
title String
emails[type eq "work"].value String
userName String
nickName String
addresses[type eq "untyped"].streetAddress String
addresses[type eq "untyped"].locality String
addresses[type eq "untyped"].region String
addresses[type eq "untyped"].postalCode String
addresses[type eq "untyped"].country String
phoneNumbers[type eq "mobile"].value String
phoneNumbers[type eq "work"].value String
roles[primary eq "True"].value String
locale String
name.honorificPrefix String
photos[type eq "photo"].value String
profileUrl String
timezone String
userType String
preferredLanguage String
urn:scim:schemas:extension:enterprise:1.0.department String
urn:scim:schemas:extension:enterprise:1.0.manager リファレンス
urn:scim:schemas:extension:enterprise:1.0.employeeNumber String
urn:scim:schemas:extension:enterprise:1.0.costCenter String
urn:scim:schemas:extension:enterprise:1.0.organization String
urn:scim:schemas:extension:enterprise:1.0.division String
  1. [マッピング] セクションで、[Microsoft Entra グループを Slack に同期する] を選択します。

  2. [属性マッピング] セクションで、Microsoft Entra ID から Slack に同期されるグループ属性を確認します。 [Matching (照合)] プロパティとして選択されている属性は、更新処理で Slack のグループとの照合に使用されることに注意してください。 [保存] ボタンをクリックして変更をコミットします。

    属性 Type
    displayName String
    members リファレンス
  3. スコープ フィルターを構成するには、スコープ フィルターのチュートリアルの次の手順を参照してください。

  4. Slack に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態][オン] に変更します。

    Provisioning Status Toggled On

  5. [設定] セクションの [スコープ] で目的の値を選択して、Slack にプロビジョニングするユーザーやグループを定義します。

    Provisioning Scope

  6. プロビジョニングの準備ができたら、 [保存] をクリックします。

    Saving Provisioning Configuration

この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは Microsoft Entra のプロビジョニング サービスが実行されている限り、約 40 分ごとに発生する後続のサイクルよりも実行に時間がかかります。

手順 5: デプロイを監視する

プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。

  1. プロビジョニング ログを使用して、正常にプロビジョニングされたユーザーと失敗したユーザーを特定します。
  2. 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します。
  3. プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態の詳細については、こちらを参照してください。

トラブルシューティングのヒント

  • Slack の displayName属性を構成する際、次の動作に注意してください。

    • 値は (例: 2 人のユーザーは同じ表示名を持てる) が完全に一意ではありません

    • 非英語の文字、スペース、大文字と小文字をサポートしています。

    • 許可されている句読点はピリオド、アンダースコア、ハイフン、アポストロフィ、かっこ (例: ( [ { } ] ) ) と区切り記号 (例: , /; ) です。

    • displayName プロパティに '\@' 文字を含めることはできません。 '\@' を含めると、プロビジョニング ログに「AttributeValidationFailed」という説明とともにスキップされたイベントが記録される可能性があります。

    • Slack のワークプレイスまたは組織内でこれらの 2 つの設定が構成されている場合のみ、更新を行います。プロファイル同期が有効ユーザーが表示名を変更できない

  • Slack の userName 属性は 21 文字未満で、一意の値を持つ必要があります。

  • Slack では、属性 userNameemail との照合のみが許可されます。

  • 一般的なエラー コードについては、Slack の公式ドキュメント (https://api.slack.com/scim#errors ) を参照してください

ログの変更

  • 2020 年 6 月 16 日 - 新しいユーザーの作成時にのみ更新されるように DisplayName 属性が変更されました。

その他のリソース

次のステップ