利用可能なプラン:Enterprise プラン
設定者:会社レベルの管理者⚠️ このガイドでは、機能を設定する手順をご説明します。利用可能な機能、Miro SCIM の規則、起こりうる問題とその解決方法については、こちらをご覧ください。
Miro の SCIM 開発者向けのドキュメントについては、こちらでご覧になれます。
フレキシブル ライセンス プログラムをご利用のお客様向けの詳細なプロビジョニング ガイドについては、こちらでご覧いただけます。
前提条件
Miro SCIM API は、SSO パートナーのプロビジョンをサポートし、ユーザーとチーム(グループ)を管理するために使用されます。自動プロビジョニングの設定を始める前に、SAML ベースの SSO が正しく設定され、Miro Enterprise プランで正常に機能している必要があります。SSO の設定手順については、こちらをご覧ください。
セキュリティグループと Miro チームは、あらかじめ同じ命名規則で作成しておく必要があります。
プロビジョニングの設定手順
SSO の設定中にアプリケーションが構築されると、その設定が以下のように表示されます:
Miro アプリケーションの設定
- 左側のパネルでプロビジョニングするアイテムを選択し、[Provisioning Mode](プロビジョニング モード)を [Manual](手動)から [Automatic](自動)に変更します。
- 管理者資格情報の提供:
a) https://miro.com/api/v1/scim/ をテナント URL
に使用します。b) シークレットトークンを提供します。トークンは、以下に示す通り、Miro の設定の [SSO] セクションで取得できます。
c) シークレットキー編集ボックスのすぐ下にある [Test Connection](接続テスト) ボタンをクリックします。
接続テストに成功すると、以下に示すメッセージが表示されます。
接続テスト成功のメッセージ
接続が確認できない場合は、テナント URL や API トークンが間違っていないか、ファイアウォールなどのトラフィック インターセプターによるブロックがないかなどを再度確認します。 - 設定の保存:設定の保存
マッピング
Miro SCIM API では、Azure AD がユーザーとグループに付与するメタデータの一部を利用します。ここでは、Miro SCIM API と Azure AD の属性間で必要なマッピングについて説明します。
ユーザー
- 左サイドバーの [プロビジョニング] タブを選択し、[Synchronize Azure Active Directory Users to Miro](Azure AD のユーザーを Miro と同期する)
をクリックします。同期を有効にする - デフォルトのマッピング設定で問題ないはずです。しかしながら、念のため、ユーザーに対しての同期が有効で、必要なメソッドの設定(作成、更新、削除)がすべてオンになっていることを再度確認しておきます。
属性マッピング
Miro は、SP-Initiated フローの UPN によってのみ Azure ユーザーを認識する点にご注意ください。
対応する属性を追加するには、[Show advanced options](詳細オプションを表示)のボックスをチェックし、[Edit attribute list for Miro](Miro の属性リストを編集)を選択します。
詳細オプション
次に、マッピングする属性名を入力して保存します。Miro がサポートする属性の一覧については、SCIM ドキュメントを参照してください。
Miro のユーザー属性
これで、[Add New Mapping](新しいマッピングを追加)を選択し、先ほど追加した新しい属性を選択することができます。
なお、新しい属性をマッピングするには、以下の URL で Azure にアクセスし、該当するオプションを有効にする必要があります。
https://portal.azure.com/?Microsoft_AAD_Connect_Provisioning_forceSchemaEditorEnabled=true
新しい属性の詳細な追加手順については、Microsoft のこちらとこちらのドキュメントをご覧ください。
⚠️ Azure は ProfilePicture 属性に対応していません。この機能の追加をするよう、User Voice に提案することができます。
グループ
- 左サイドバーの [Provisioning](プロビジョニング)タブを選択し、[Synchronize Azure Active Directory Users to Miro](Azure AD ユーザーを Miro と同期する)をクリックします。
- デフォルトのマッピング設定で問題ないはずです。グループに対する同期が有効になっていることを確認し、[作成] と [削除] のメソッドのチェックを外します(Miro SCIM API では、チームの作成と削除に対応していない点にご注意ください)。
⚠️ Miro がメソッドのサポートをする際は、予定外の変更を防ぐため、メソッドのチェックをはずしておくことを強くお勧めします。
- [保存] をクリックします。
ユーザーとグループの割り当て
Miro の SCIM プロビジョニングは、お客様の Enterprise サブスクリプションでのユーザーへのプロビジョニングとデプロビジョニングをサポートし、それらを自動的にチーム間に配布します。Azure Active Directory のユーザーまたはグループを Miro SCIM Provisioner アプリケーションに割り当てて、Miroで自動的に管理できるようにする必要があります。ユーザーとグループをアプリケーションに割り当てるには、以下の手順に従います。
グループを割り当ててユーザーをプロビジョニングすることをお勧めします。そうすれば、ユーザーが Azure AD のすべての割り当てられたグループから削除されると、同じユーザーが Miro のすべてのチームから削除されます(ただし、Enterprise サブスクリプションのメンバーには引き続き残ります)。Enterprise プランでユーザーを非アクティブ化するには、Azure AD で非アクティブにします。そうすればこれに対応するリクエストが Miro に送信されます。Miro からユーザーを削除するには、Miro のアクティブなユーザーのページを使用します。
- 左側の [プロビジョニング] のタブを選択します。「設定」 セクションで、スコープが Miro と同期させたいものと一致していることを確認します。[Sync only assigned users and groups](割り当てられたユーザーとグループのみを同期する)を選択します。
- 左側のパネルで [User and groups](ユーザーとグループ) を選択し、[Add user](ユーザーを追加)をクリックします。
ユーザーとグループのタブ - 「割り当て追加」画面で、[Users and groups](ユーザーとグループ)タブを選択し、リストからユーザーとグループを選択します。注記:Miro SCIM API では、Miro に新しいチームを作成しません。SCIM の機能の一覧についてはこちらをご覧ください。
- [選択] をクリックしてから、[Assign](割り当て) ボタンをクリックします。
- 割り当てられたユーザーとグループが一覧で表示されます。
プロビジョニングの有効化と無効化
初期設定が完了したら、プロビジョニング ステータスのトグルを有効化します。
- 左側の [Provisioning](プロビジョニング)タブを選択します。
- プロビジョニング ステータスのトグルの [オン] をクリックします。
プロビジョニング ステータス - [保存] を押します。これで初期プロビジョニングが開始され、終了するまでの間しばらく時間がかかります。約 20 分後にページの一番下にあるステータスを確認します。
この設定を [Off](オフ)に切り替えれば、いつでもプロビジョニングを無効化できます。Azure のデータ更新は適時実行されます。緊急のデータ更新が必要な場合は、プロビジョニングを一度停止して再開させます。プロビジョニングを再開させた後、同期はすぐに再開し、データ更新も並行して実行されます。
グループとチームのデカップリング
SCIM を有効化して、グループを Miro のチームと同期するには、同じ名前の値を持っている必要があります。これは、Miro の同期が名前の値を基に実行されるためです。そのため、グループとチームで別な名前が必要な場合は、同期した後にいずれかの名前を変更します。以下にその実施例を示します。
この例の目標は、Azure の sfo_hq_eng_support というグループと、Miro の Engineering Support というチームを同期させることにあります。
curl コマンドを実行して、すべてのセキュリティグループをリスト化します(必ずプレースホルダーを固有の値に置き換えてください)。
curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SCIM_API_TOKEN" \
-X GET https://miro.com/api/v1/scim/Groups
応答例:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"id": "3074457345618261605",
"displayName": "YourMiroTeamName",
"members": [],
"meta": {
"resourceType": "Group",
"location": "https://miro.com/api/v1/scim/Groups/3074457345618261605"
}
}
]
}
この段階でMiro には、Engineering Support という Miro チームと、Engineering Support(ID:3074457345618261605)という Miro セキュリティグループが存在しています。このチームとグループは一対一でマッピングされています。
ここでは、チーム名を変更せずに、セキュリティグループのグループ名を Engineering Support から、sfo_hq_eng_support に変更します。そのために以下の curl コマンドを実行します:
curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SCIM_API_TOKEN" \
-X PATCH https://miro.com/api/v1/scim/Groups/3074457000018261605 \
-d '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "YourSecurityGroupName"
}
]
}'
このコマンドによる変更は、Miro の会社チームページにすぐに反映され、表示されます。
Azure では バックグラウンド同期が 40 分ごとにスケジュールされ、実行されます。次の同期で、Azure は Miro の sfo_hq_eng_support セキュリティグループを認識し、それを Azure の各グループと自動的にリンクします。
この時点で、セキュリティグループは Miro チームの 1 つに接続され、別の名前が付けられています。
起こり得る問題とその解決方法
ユーザーのメールアドレスの変更によって生じる問題
一部のユーザーのメールアドレスの更新内容を Miro 側で確認できない場合、想定される属性が更新されていることを確認します。この問題は、emails[type eq "work"] を使用している場合に発生する可能性があります。
emails[type eq "work"] の属性は Azure ではデフォルトなので、Miro はそれをサポートしていますが、読み取り専用で、ユーザー名から動的に生成されるという点でのみサポートしています。
ユーザーを読み取ると、次のように返します。
emails[type eq "work"] は Miro 側では読み取り専用なので、Miro は、それを変更しようとする試みは無視します。これは、Miro では、ユーザーのメールアドレスがユーザーのプライマリー ID であるためです。これは、ユーザーを認識するものであるため、追加のメールアドレスはサポートしていません。しかし、SCIM の構造上メールアドレスの配列が必要なので、サポートしています。
ユーザーのメールアドレスを変更するには、emails[type eq "work"] ではなく、ユーザー名に対して更新を送信する必要があります。
ユーザーの更新に失敗エラー
Azure ログには、次のような失敗したステータスが表示されます。
ステータス理由 - 「ユーザーの更新に失敗しました。属性のメールアドレスには、複数の値または複雑な値がありません」
エラーコード - SystemForCrossDomainIdentityManagementServiceIncompatible