#pArchiveSources
nextxch Archive: Microsoft 365、Exchange、Google Workspace、IMAP を GoBD アーカイブへ
nextxch Archive は、nextxch 上で稼働していないシステムのメールを GoBD アーカイブに取り込みます。管理画面の [コンプライアンス > アーカイブ ソース] で 4 種類のソースを利用できます: SMTP ジャーナル (Microsoft 365 と Exchange のジャーナル レポート、Google Workspace のコピー ルール、任意の MTA からの BCC コピー)、IMAP (任意のサーバー、読み取り専用)、Microsoft Graph による Microsoft 365、Gmail API による Google Workspace。ソースの各メールボックスは、サインインもメール トラフィックも不要なアーカイブ済みメールボックスになります。検索、リーガル ホールド、証拠エクスポート、復元は自社のメールボックスと同様に機能します。
推奨される組み合わせ: 基準日以降の継続的かつ完全な取り込みには SMTP ジャーナル (取り込まれる前にユーザーが削除することはできません)、既存メールとフォルダー表示には API ソースを 1 回または長い間隔で使用します。両者は同じアーカイブに書き込み、2 回取り込まれたメッセージも SHA-256 により 1 回だけ保存されます。ライセンス: 他システムのアーカイブ済みメールボックスは別のライセンス項目であり、自社の nextxch メールボックスはそこに含まれません。すべてのプランでアーカイブ済みメールボックス 10 個まで無料で、それ以上は Business または Enterprise ライセンスで利用できます。
1. クイック スタート: Microsoft 365 用のジャーナル ソースを作成する
新しいソースは無効の状態で作成されます。接続をテストしてから、ソースを有効にしてください。ドメインのみを指定した場合、サーバーはシークレット トークン付きのジャーナル アドレスを生成します。その MX は nextxch を指している必要があります。
# 1. Admin > Compliance > Archive sources > New source, kind "SMTP journal"
# Domains of the old environment: company.com · journal domain: archive.company.com
# -> journal address e.g. journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com (copy it)
# 2. Protection: IP ranges of the Exchange Online servers, TLS required, allowed envelope senders
# 3. Microsoft Purview: Solutions > Data lifecycle management > Exchange (legacy) > Journal rules
# or Exchange Online PowerShell:
Set-TransportConfig -JournalingReportNdrTo journal-ndr@archive.company.com
New-JournalRule -Name "nextxch Archive" -JournalEmailAddress journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com -Scope Global -Enabled $true
Get-JournalRule | Format-Table Name,Enabled,JournalEmailAddress,Scope
# 4. Send a test message: the source shows the original with all envelope recipients (including Bcc)
2. Exchange オンプレミスと Google Workspace からのジャーナル
Exchange オンプレミス: 同じジャーナル アドレスを使ったジャーナル ルール (プレミアム ジャーナリング、Exchange Enterprise CAL が必要)、またはメールボックス データベースごとにそのアドレスへの標準ジャーナリングを設定します。ハイブリッド環境では、オンプレミスの Exchange サーバーにもルールを作成してください。Google Workspace: ルーティング ルールでジャーナル アドレスを追加の受信者として設定します。Google Vault は不要です。"Comprehensive mail storage" を有効にすると、SMTP リレーや Google サービスからのメールもメールボックスに格納されます。その他の MTA は、ジャーナル アドレスに BCC コピーを送信します。
# Exchange Server (Exchange Management Shell)
New-JournalRule -Name "nextxch Archive" -JournalEmailAddress journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com -Scope Global -Enabled $true
# Google Admin console: Menu > Apps > Google Workspace > Gmail > Routing > Configure
# Messages to affect: inbound, outbound, internal inbound, internal outbound
# Action: Modify message > Add more recipients > Advanced > journal address
# Optional: do not deliver spam to this recipient, suppress bounces from this recipient
# Journal source in nextxch: format bcc or auto, IP ranges of Google's outbound servers, TLS required
3. IMAP: 任意のサーバー、読み取り専用
フォルダーは EXAMINE で開かれ、コンテンツは BODY.PEEK[] で取得されるため、ソース側のフラグは一切変更されません。フォルダーごとのカーソル (UIDVALIDITY、最後の UID、CONDSTORE による HIGHESTMODSEQ) はメッセージごとに更新され、中断してもその位置から正確に再開します。TLS は必須 (暗黙的 TLS または STARTTLS) で、オプションで証明書のピン留め (SHA-256) が可能です。サインインはパスワードまたは XOAUTH2 で、1 つのアカウントまたはアカウントの一覧に対応します。ごみ箱と迷惑メールは既定でスキップされます。
{
"host": "imap.oldhoster.com",
"tls": "implicit",
"auth": "password",
"mode": "single",
"username": "accounting@company.com",
"address": "accounting@company.com",
"excludeFolders": ["Drafts"],
"since": "2016-01-01",
"maxConnections": 2
}
# Secret: password (or oauthToken with xoauth2), in list mode accounts/<id>/password
4. Microsoft Graph による Microsoft 365: Entra ID でのアプリ登録
このソースは、既存メールと新着メールをフォルダーごとの差分クエリで読み取り、EWS は使用しません (Microsoft は Exchange Online の EWS を廃止します)。管理者の同意を得た Microsoft Graph のアプリケーション アクセス許可: Mail.Read と User.Read.All。GroupMember.Read.All はユーザー フィルター "group" を使う場合のみ必要です。証明書 (推奨) またはクライアント シークレットでサインインし、クラウドは global、usgov、usgovdod、china に対応します。Graph のスロットリング (429 と Retry-After) に従い、実行は最後に完全に処理されたページから再開されます。ソース側で削除されたメッセージもアーカイブに残ります。オプションで、Exchange Online RBAC for Applications によりアクセスを特定のグループに制限できます。
# Entra admin center > App registrations > New registration "nextxch Archive" (single tenant)
# API permissions > Microsoft Graph > Application permissions:
# Mail.Read, User.Read.All (+ GroupMember.Read.All with group filter) > Grant admin consent
# Certificates & secrets: upload a certificate (.cer) or create a client secret
{
"tenantId": "company.onmicrosoft.com",
"clientId": "11111111-2222-3333-4444-555555555555",
"credentialType": "certificate",
"cloud": "global",
"userFilter": { "mode": "group", "groupId": "99999999-0000-0000-0000-000000000009" },
"sinceUtc": "2019-01-01T00:00:00Z"
}
# Secrets: certificatePfx (Base64) + certificatePassword or clientSecret (the value, not the ID)
5. Gmail API による Google Workspace: サービス アカウントとドメイン全体の委任
お客様自身の Google Cloud プロジェクトにサービス アカウントを作成し (Gmail のクォータはプロジェクトごとにカウント)、Gmail API と Admin SDK API を有効にします。管理コンソールで、その数値のクライアント ID にスコープ gmail.readonly と admin.directory.user.readonly によるドメイン全体の委任を承認します。"group" フィルターを使う場合は admin.directory.group.member.readonly も追加します。初回インポートは messages.list と messages.get (raw) で行い、その後は履歴同期です。履歴の有効期限が切れた場合はインポートが最初からやり直され、既にアーカイブされたメッセージは重複としてカウントされます。ユーザーおよびプロジェクトごとのクォータ配分は調整できます。
# Admin console: Security > Access and data control > API controls > Domain-wide delegation
# client ID (numeric) + scopes:
# https://www.googleapis.com/auth/gmail.readonly,
# https://www.googleapis.com/auth/admin.directory.user.readonly
{
"adminSubject": "admin@company.com",
"domain": "company.com",
"userFilter": "orgUnit",
"orgUnitPath": "/Sales",
"sinceUtc": "2018-01-01T00:00:00Z",
"quotaUnitsPerUserMinute": 4800
}
# Secret: serviceAccountKey (JSON key file of the service account)
6. 保存、WORM 保持、リーガル ホールド
各アーカイブ済みメールボックスは、GoBD アーカイブ内にアーカイブ専用のストアを持ちます。メッセージごとに: 全メールボックスを横断して重複排除する SHA-256 コンテンツ アドレス、SHA-256 と Message-ID によるメールボックスごとの重複チェック、BLOB とメッセージに対するソースの WORM 保持とリーガル ホールド、改ざんの証拠となるハッシュ チェーン、全文インデックス。実行ごとの履歴には、保存済み、重複、拒否されたメッセージの件数が記録されます。
Retention RetentionDays 0..36500 (0 = no WORM retention)
Mode Normal | Governance | Compliance (default)
Legal hold per source, also applies to already archived messages
Storage local or S3 with Object Lock (like the rest of the GoBD archive)
Status per mailbox: last run, next run, stored, duplicates, rejected, errors
7. 検索、エクスポート、復元
アーカイブ済みメールボックスは、コンプライアンス検索で独立したスコープとして選択でき (複合語分割に対応したドイツ語検索、添付ファイルの OCR、ZUGFeRD フィールド)、一覧ではそれぞれに検索、証拠エクスポート、復元のボタンがあります。証拠エクスポートでは、元の .eml ファイルと Ed25519 署名付きマニフェストを含む ZIP が提供されます (第 17a 章を参照)。復元は nextxch メールボックスにコピーし、アーカイブは変更されません。Microsoft 365、Google、IMAP サーバーへの書き戻しによる復元はまだ利用できません。その場合はエクスポートで対応します。検索はすべてのプランで、証拠エクスポートと復元ジョブは Business 以上で利用できます。
# Search in an archived mailbox
curl -s "https://mail.company.com/api/compliance/search?archivedMailboxId=<id>&q=invoice&limit=100" -H "X-Api-Key: $KEY"
# Evidence export of an archived mailbox (202, status under GET /api/compliance/exports/{id})
curl -X POST https://mail.company.com/api/compliance/exports -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{"scope":"mailbox","archivedMailboxId":"<id>","caseReference":"case 4711"}'
# Restore into a nextxch mailbox
curl -X POST https://mail.company.com/api/compliance/restore/jobs -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{"source":"archive","account":"archived:<id>","target":"account","targetAccount":"successor@company.com"}'
8. 管理 API: /api/admin/archive-sources
TenantAdmin は自分のテナント内で、ServerAdmin はすべての範囲で操作できます。ComplianceAuditor は読み取り (検索やエクスポートの対象となるアーカイブ済みメールボックスの選択) のみ可能で、何も変更しません。Kind は Journal、Imap、Microsoft365、Google のいずれかです。ライセンス数を超えてメールボックスを有効にしようとすると拒否され、現在のライセンス項目を含むメッセージが表示されます。ジャーナル ソースは SMTP で受信するため、実行はありません (409 JOURNAL_IS_PUSHED)。
GET /api/admin/archive-sources sources, licence line, available kinds with fields
GET /api/admin/archive-sources/license used, allowed, free, remaining
POST /api/admin/archive-sources create a source
GET /api/admin/archive-sources/{id} source, mailboxes, names of the secrets
PUT /api/admin/archive-sources/{id} change (settings, retention, legal hold, schedule)
DELETE /api/admin/archive-sources/{id} delete
POST /api/admin/archive-sources/{id}/test connection test
POST /api/admin/archive-sources/{id}/discover discover mailboxes
GET /api/admin/archive-sources/{id}/mailboxes archived mailboxes
PUT /api/admin/archive-sources/{id}/mailboxes/{mbxId} {"enabled": true} within the licence line
POST /api/admin/archive-sources/{id}/run fetch now, optionally {"mailboxId": "..."}
GET /api/admin/archive-sources/{id}/runs history (mailboxId, limit)
curl -X POST https://mail.company.com/api/admin/archive-sources -H "X-Api-Key: $KEY" -H "Content-Type: application/json" -d '{
"kind": "Journal", "name": "Microsoft 365 journal", "journalDomain": "archive.company.com",
"settings": { "domains": ["company.com"], "allowedSenderNetworks": ["203.0.113.0/24"], "requireTls": true },
"retentionDays": 3650, "lockMode": "Compliance" }'
設定、既定値 & ベスト プラクティス
| 設定 / 場所 | 説明 | 既定値 | 本番環境のベスト プラクティス |
|---|---|---|---|
Journal: Domains (domains) |
これらのドメインとそのサブドメインのエンベロープ アドレスのみが、アーカイブ済みメールボックスになります (自動検出が有効な間は初回検出時)。一致するアドレスがないメッセージは、ソースの "journal without assignment" ストアに格納され、ライセンスにはカウントされません。 | leer · automatische Erkennung an |
旧環境のすべてのドメインを入力してください。入力しないと、割り当てからメールボックスが漏れます。 |
Journal: Schutz (allowedSenderNetworks, requireTls, allowedEnvelopeSenders) |
送信側サーバーの許可 IP アドレスまたは CIDR 範囲、TLS のみでの受信 (STARTTLS または暗黙的 TLS)、許可するエンベロープ送信者 (アドレス、*@domain または domain)。ジャーナル アドレスには、IP リストか、ローカル部にシークレット トークン (16 文字以上、サーバーが生成) のいずれかが必要です。 | keine IP-Liste · TLS aus · alle Absender |
プロバイダーの IP 範囲を設定し、TLS を必須にしてください。トークンもそのまま残してください。 |
Journal: Format (format) |
auto は X-MS-Journal-Report によりジャーナル レポートを検出します。envelope は Exchange または Microsoft 365 のレポートとしての解析を強制し、bcc はすべてのメッセージをコピーとして扱います (Google のコピー ルール、その他の MTA)。 | auto |
MTA が独自のヘッダー付きで BCC コピーを送信する場合を除き、auto のままにしてください。 |
Aufbewahrung (RetentionDays, LockMode) |
ソースごとの日数による WORM 保持期間 (0 から 36,500、0 = WORM 保持なし)。モードは Normal、Governance、Compliance です。アーカイブされた各メールの BLOB とメッセージに適用されます。 | Compliance |
商用書簡と会計記録の法定保存期間を選択してください。Compliance は期限前には解除できません。 |
Legal Hold (LegalHold) |
ソースのすべてのメッセージを、保持期間を過ぎても削除できないようにロックします。有効にすると、既にアーカイブされたメッセージにもホールドが適用されます。すべての変更は監査ログに記録されます。 | aus |
訴訟や監査の際に有効にし、法務部門の承認を得てから解除してください。 |
Zeitplan und Erkennung (ScheduleMinutes, AutoDiscover) |
API ソース (IMAP、Microsoft 365、Google) の取得間隔は 5 分から 7 日です。クラスターではリーダーのみが取得します。ジャーナル ソースは SMTP で受信するため、スケジュールはありません。 | 60 min |
大規模テナントの初回インポートでは、実行を手動で開始し、メールボックスごとの履歴を確認してください。 |
Geheimnisse (Secrets) |
パスワード、クライアント シークレット、証明書、サービス アカウント キーは、サーバーのキーリングで暗号化して保存されます。これらは書き込み専用です。API の応答には名前のみが含まれ、値は決して含まれず、ログにも記録されません。 | verschlüsselt |
クライアント シークレットと証明書の有効期限に注意してください。期限切れのシークレットは接続テストで報告されます。 |