Cloud への移行時にメール アドレスが欠落している

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

要約

Data Center からクラウドに移行する際には、ベスト プラクティスに従って環境を準備することをお勧めします。これらは、Jira と Confluence の移行の事前チェックのチェックリストに記載されています。

移行に不可欠な要素の 1 つは、ソースとターゲットの間でのユーザーのエクスポートとインポートです。Atlassian Cloud では、すべてのユーザーに有効かつ一意なメール アドレスが必須です。この記事では、ユーザー アカウントにメール アドレスがない場合の解決方法について説明します。

特定する

次のいずれかの方法を使用して、無効なメール アドレスを持つユーザーを特定します。

Migration Assistant でユーザーを自動的に特定する (Jira のみ)

Migration Assistant を使用してユーザーを評価して、要件を満たしていないメール アドレスを持つユーザーを特定します。メールがない場合は無効と見なされます。この評価は、移行前であればいつでも実行できます。

アドレスを持たないユーザーを特定するには、次の手順に従います。

  1. まず、Jira Cloud Migration Assistant を開きます。

  2. [Assess and prepare users (ユーザーの評価と準備)] カードで、[Begin assessing (評価を開始)] を選択します。これにより、空の結果のページが開きます。

  3. 評価を開始するには、[Begin assessing (評価を開始)] を選択します。

評価が完了すると、無効なメール アドレス (メール アドレスの欠落を含む) および重複したメール アカウントを含む結果が表示されます。

評価および次のステップに関する詳細は、「移行のためにユーザーを評価および準備する」を参照してください。

データベース上でユーザーを特定する

データベースで次のクエリを実行することで、無効なメール アドレスを持つユーザーを特定することもできます。

SELECT *
FROM cwd_user
WHERE (email_address IS NULL OR email_address = '')
OR (lower_email_address IS NULL OR lower_email_address = '');

このクエリの出力では、メール アドレスを持たないすべてのユーザー レコードが特定されます。このテーブルには次の 2 つの列があります。

  • email_address
  • lower_email_address

データベースに対して SQL クエリを実行する際には、これらの列の両方を考慮してください。一方にデータが入力され、もう一方が空になると、意図しない結果になる可能性があるためです。

ソリューション

移行元のユーザー ディレクトリでメール アドレスを手動で修正するか、移行アシスタントで自動オプションの 1 つを選択して、移行中にユーザーを更新することができます。

ユーザー ディレクトリ内で有効なメールアドレスを手動で作成して更新する

有効なメール アドレスを手動で作成することができます(例: user@atlassian.com)そして、LDAP サーバーや Data Center インスタンスなど、使用しているユーザー ディレクトリでそれらを更新してください。

Server または Data Center インスタンスでユーザーのメール アドレスを更新するには、以下の手順に従ってください。

  1.  [管理] > [ユーザー管理] を選択します。

  2. ページの一番上にあるフィルターを使用して更新したいユーザーを探します。

  3. ユーザー名の隣の[編集]を選択します。

  4. メール アドレスを更新して、[更新] を選択します。

移行中に自動でユーザーを更新する (Jira のみ)

このオプションは、Jira Cloud Migration Assistant でのみ利用できます。

移行アシスタントの「Jira Cloud Migration Assistant でユーザーを自動で特定するユーザーを自動的に識別する」セクションで説明した評価が完了したら、次のステップとして、移行アシスタントで無効なメール アドレスを修正できます。この方法を選択した場合、移行元のディレクトリのユーザーは更新されず、移行中に Cloud で作成されたユーザーだけが更新されることに注意してください。

これらの自動修正は、古いアカウントやテスト用アカウントなど、重要でないアカウントに適用されるべきです。Cloud を使用する実際のユーザーは、ユーザー ディレクトリ内で更新する必要があります。

無効なメール アドレスを自動で修正する方法

  1. Migration Assistant の[Assess and prepare users] セクションで、結果を表示します。

  2. 結果を表示したら、[Fix invalid emails] を選択します。

  3. いずれかのオプションを選択して、無効なメール アドレスを修正します。各オプションの詳細は、「無効なメール アドレスを修正する」を参照してください。

メールを持たないユーザーを除外するように LDAP フィルターを更新する

場合によっては、修正するメールの数が膨大にあり、多大な労力と確認が必要になることがあります。メールを持たないのは、多くの場合、サービス用アカウント / 人間以外のアカウント / 部門用アカウント、または上流のユーザー ディレクトリ内の非アクティブなユーザーです。上記の SQL クエリを実行すると、メールを持たないこれらのユーザーを除外できます。これらのユーザーはアプリに存在しなくなり、ログインできなくなることに注意してください。

  1. ローカル システム管理者としてアプリにログインします。ログインに使用した可能性のある現在の LDAP 接続は編集できません。

  2. [設定] メニューからユーザー ディレクトリを開きます (Jira - 「ユーザー ディレクトリの設定」Confluence - 「ユーザー ディレクトリの設定」)。

  3. 該当するディレクトリ接続の [操作] 列の [編集] をクリックします。

  4. [ユーザー スキーマ設定] までスクロールして、折りたたみ部分を展開します。

  5. (mail=*) を適切にネストして、[ユーザー オブジェクト フィルター] を更新します。たとえば、次のように変更します。

変更前:

(&(objectCategory=Person)(sAMAccountName=*))

変更後:

(&(objectCategory=Person)(sAMAccountName=*)(mail=*))

今後

  1. [クイック テスト] をクリックして、別のブラウザーで自分のアカウントにログインできることを確認します。

  2. テストが完了したら、[保存およびテスト] をクリックします。ディレクトリ接続設定を更新すると、ユーザー ベースが更新されます。上記の SQL クエリを実行して、まだメールが見つからないかどうかを確認できます。

その他の提案

メールを持たないユーザーを除外しても問題が解決しない場合は、次のようにしてください。

  • Active Directory / ID 管理者に問い合わせて、メールを持たない / 同期してはいけないユーザーを特定するために使用できるローカル カスタム属性があるかどうかを確認してみる価値はあります。これは、ベース DN を更新することで実現できます。
  • Active Directory で非アクティブ化されたユーザーは、Microsoft の userAccountControl パラメーターを使用して除外できます。次の方法でフィルターを更新してください。

    (&(objectCategory=Person)(sAMAccountName=*)(mail=*))

    to

    (&(objectCategory=Person)(sAMAccountName=*)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

    (userAccountControl:1.2.840.113556.1.4.803:=2) は、Active Directory で非アクティブ化されたすべてのユーザーを定義するものであるため、このフィルターではアクティブなユーザー (非アクティブ化されていないユーザー) のみが保持されます。

詳細なヒントについては、「LDAP 検索フィルターの作成方法」を参照してください。

データベースでユーザーを手動で更新する

多くの場合、上流の修正や LDAP フィルターの更新は、さまざまな要因によって常に可能であるとは限りません。別の方法として、Migration Assistant での事前チェック中にユーザーを検証してユーザー ベースを正常に移行できるように、一時的なメール アドレスまたはプレースホルダーのメール アドレスを割り当てることもできます。

  1. SQL クエリで使用できるドメインを生成します。次の例では、http://domain.com を使用しています

  2. ユーザー アカウントの一意の識別子を生成します。次の例では、user- を使用し、ユーザー ID の値を追加しています。これにより、名前は常に一意になるはずです(user-1@domain.com、user-2@domain.com)。

  3. 次の SQL クエリのいずれかを実行します。

データベースの変更を行う前に必ずデータをバックアップしてください。可能であれば、まずステージング サーバーで、すべての変更、挿入、更新、または削除の SQL コマンドをテストしてください。

Postgres

UPDATE cwd_user
SET email_address = 'user-' || id || '@domain.com',
    lower_email_address = 'user-' || id || '@domain.com'
WHERE (email_address is NULL or email_address = '') or (lower_email_address is NULL or lower_email_address = '');

MySQL

UPDATE cwd_user
SET email_address = CONCAT('user-',id,'@domain.com'),
    lower_email_address = CONCAT('user-',id,'@domain.com')
WHERE (email_address is NULL or email_address = '') or (lower_email_address is NULL or lower_email_address = '');

Oracle

UPDATE cwd_user
SET email_address = 'user-' || id || '@domain.com',
    lower_email_address = 'user-' || id || '@domain.com'
WHERE (email_address is NULL or email_address = '') or (lower_email_address is NULL or lower_email_address = '');

MS SQL Server

UPDATE cwd_user
SET email_address = CONCAT('user-',id,'@domain.com'),
    lower_email_address = CONCAT('user-',id,'@domain.com')
WHERE (email_address is NULL or email_address = '') or (lower_email_address is NULL or lower_email_address = '');

上記の SQL クエリは、email_address と lower_email_address の 2 つの列のどちらが空であるかに応じて列を更新するものです。データが入力されているフィールドが 1 つしかない場合も考えられます。状況によっては SQL クエリを変更する必要がある場合があるため、この点に留意してください。




最終更新日: 2025 年 2 月 28 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.