Microsoft Entra ID を使用して Slack へのユーザー プロビジョニングを自動化する

Slack とカスタム/BYOA アプリケーションの統合はサポートされていません。 この記事の説明に従ってギャラリー アプリケーションを使用することがサポートされています。 ギャラリー アプリケーションは、Slack の SCIM v1 サーバーと連携するようにカスタマイズされています。

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

サポートされる機能

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

前提条件

この記事で説明するシナリオでは、次の項目が既にあることを前提としています。

この統合は、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. Entra ID>企業向けアプリケーションを参照する

    [エンタープライズ アプリケーション] ブレード

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

    アプリケーションの一覧の Slack リンクのスクリーンショット。

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

    [プロビジョニング] オプションが強調表示された [管理] オプションのスクリーンショット。

  5. [ + 新しい構成] を選択します。

    [プロビジョニング] タブの [自動] のスクリーンショット。

  6. [ テナント URL ] フィールドに、Slack テナント URL とシークレット トークンを入力します。 Test Connection を選択して、Microsoft Entra IDが Slack に接続できることを確認します。 接続に失敗した場合は、Slack アカウントに必要な管理者アクセス許可があることを確認してから、もう一度やり直してください。

    プロビジョニング テスト接続のスクリーンショット。

  7. 新しいウィンドウで、Team Admin アカウントを使用して Slack にサインインします。 結果の承認ダイアログで、プロビジョニングを有効にする Slack チームを選択し、[ 承認] を選択します。 完了したら、Microsoft Entra 管理センターに戻り、プロビジョニング構成を完了します。

    承認ダイアログ

  8. [ 作成] を選択して構成を作成します。

  9. [概要] ページで [プロパティ] を選択します。

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

    通知と削除の設定を示す [プロビジョニングのプロパティ] ページのスクリーンショット。

  11. 左側のパネルで [属性マッピング ] を選択し、ユーザーを選択 します

  12. Attribute-Mapping セクションで、Microsoft Entra IDから Slack に同期されるユーザー属性を確認します。 [照合プロパティ] として選択されている属性は、更新操作で Slack のユーザー アカウントとの照合に使用されます。 一致するターゲット属性を変更する場合は、Slack API がその属性に基づくユーザーのフィルター処理をサポートしていることを確認する必要があります。 [保存] ボタンをクリックして変更をコミットします。

    属性 タイプ
    活動中 ブール値
    externalId
    displayName
    name.familyName
    name.givenName
    タイトル
    emails[type eq "work"].value
    ユーザー名
    ニックネーム
    addresses[type eq "untyped"].streetAddress
    addresses[type eq "untyped"].locality
    アドレス[タイプ eq "無指定"].リージョン
    addresses[type eq "untyped"].postalCode
    addresses[type eq "untyped"].country
    phoneNumbers[type eq "mobile"].value
    phoneNumbers[type eq "work"].value
    roles[primary eq "True"].value
    ロケール
    name.honorificPrefix
    photos[type eq "photo"].value
    プロフィールURL
    タイムゾーン
    ユーザータイプ
    優先言語
    urn:scim:schemas:extension:enterprise:1.0.department
    urn:scim:schemas:extension:enterprise:1.0.manager リファレンス
    urn:scim:schemas:extension:enterprise:1.0.employeeNumber
    urn:scim:schemas:extension:enterprise:1.0.costCenter
    urn:scim:schemas:extension:enterprise:1.0.organization
    urn:scim:schemas:extension:enterprise:1.0.division
  13. [ 属性マッピング ] セクションで、Microsoft Entra ID から Slack に同期されるグループ属性を確認します。 [照合プロパティ] として選択されている属性は、更新操作で Slack のグループとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。

    属性 タイプ
    displayName
    members リファレンス
  14. スコープ フィルターを構成するには、スコープ フィルターに関する記事に記載されている手順 参照してください。

  15. オンデマンド プロビジョニングを使用して、少数のユーザーとの同期を検証してから、組織内でより広範にデプロイします。

  16. プロビジョニングの準備ができたら、[概要] ページから [プロビジョニングの開始] を選択します。

手順 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 属性が変更されました。

その他のリソース