チュートリアル:Slack を構成し、自動ユーザー プロビジョニングに対応させる
Note
カスタムおよび BYOA アプリケーションを含む Slack との統合はサポートされていません。 このチュートリアルで説明している、ギャラリー アプリケーションの使用はサポートされています。 ギャラリー アプリケーションは、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 テナント。
- 次のいずれかのロール: アプリケーション管理者、クラウド アプリケーション管理者、アプリケーション所有者。
- Plus プラン以上の Slack テナントが有効になっていること。
- Team Admin アクセス許可がある Slack のユーザー アカウント。
Note
この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。
手順 1:プロビジョニングのデプロイを計画する
- プロビジョニング サービスのしくみを確認します。
- プロビジョニングの対象となるユーザーを決定します。
- Microsoft Entra ID と Slack の間でマップするデータを決定します。
手順 2: Microsoft Entra アプリケーション ギャラリーから 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 への自動ユーザー アカウント プロビジョニングを構成するには:
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します
アプリケーションの一覧で [Slack] を選択します。
[プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
[管理者資格情報] セクションにある [承認する] をクリックします。 これで、ブラウザーの新しいウィンドウで Slack 承認ダイアログが開きます。
新しいウィンドウで、Team Admin アカウントを使用して Slack にサインインします。 表示された承認ダイアログで、プロビジョニングを有効にしたい Slack チームを選択して [承認する] を選択します。 終わったら Azure Portal に戻り、プロビジョニング構成を完了します。
[接続テスト] をクリックして、Microsoft Entra ID で Slack アプリに接続できることを確認します。 接続が失敗した場合、使用中の Slack アカウントに Team Admin アクセス許可があることを確認して、"承認" の手順をもう一度試してください。
[通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを入力して、 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。
[保存] を選択します。
[マッピング] セクションで、[Microsoft Entra ユーザーを Slack に同期する] を選択します。
[属性マッピング] セクションで、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 |
[マッピング] セクションで、[Microsoft Entra グループを Slack に同期する] を選択します。
[属性マッピング] セクションで、Microsoft Entra ID から Slack に同期されるグループ属性を確認します。 [Matching (照合)] プロパティとして選択されている属性は、更新処理で Slack のグループとの照合に使用されることに注意してください。 [保存] ボタンをクリックして変更をコミットします。
属性 Type displayName String members リファレンス スコープ フィルターを構成するには、スコープ フィルターのチュートリアルの次の手順を参照してください。
Slack に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態] を [オン] に変更します。
[設定] セクションの [スコープ] で目的の値を選択して、Slack にプロビジョニングするユーザーやグループを定義します。
プロビジョニングの準備ができたら、 [保存] をクリックします。
この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは Microsoft Entra のプロビジョニング サービスが実行されている限り、約 40 分ごとに発生する後続のサイクルよりも実行に時間がかかります。
手順 5: デプロイを監視する
プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。
- プロビジョニング ログを使用して、正常にプロビジョニングされたユーザーと失敗したユーザーを特定します。
- 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します。
- プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態の詳細については、こちらを参照してください。
トラブルシューティングのヒント
Slack の displayName属性を構成する際、次の動作に注意してください。
値は完全に一意ではありません (例: 2 人のユーザーが同じ表示名を持つことができます)
非英語の文字、スペース、大文字と小文字をサポートしています。
許可されている句読点はピリオド、アンダースコア、ハイフン、アポストロフィ、かっこ (例:
( [ { } ] )
) と区切り記号 (例:, / ;
) です。displayName プロパティに '\@' 文字を含めることはできません。 '\@' を含めると、プロビジョニング ログに「AttributeValidationFailed」という説明とともにスキップされたイベントが記録される可能性があります。
Slack のワークプレイスまたは組織内でこれらの 2 つの設定が構成されている場合のみ、更新を行います。プロファイル同期が有効、ユーザーが表示名を変更できない。
Slack の userName 属性は 21 文字未満で、一意の値を持つ必要があります。
Slack では、属性 userName と email との照合のみが許可されます。
一般的なエラー コードについては、Slack の公式ドキュメント (https://api.slack.com/scim#errors ) を参照してください
ログの変更
- 2020 年 6 月 16 日 - 新しいユーザーの作成時にのみ更新されるように DisplayName 属性が変更されました。