> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/ja/zi-dong-hua/runbooks/runbook-report-settings.md).

# Runbook レポート設定

レポート用 runbook のための中央集約型メールおよびストレージ配信設定を構成します。

## 概要

いくつかの RealmJoin ランブックには、レポート、通知、アラートを管理者に直接配信する自動レポート機能が含まれています。構成によっては、レポートは次の方法で配信できます：

* **メールで送信** — 構成済みの送信元アドレスに代わって Microsoft Graph API を使用
* **Azure Storage Account にアップロード** — そして、期限付きの SAS ダウンロードリンクとして利用可能になります

両方の配信チャネルをサポートすることが、今後のすべてのレポート用ランブックの標準方針です。まだ両方のチャネルをサポートしていないレポート用ランブックもありますが、対応済みランブックの数は継続的に増えています。両方のチャネルは、個別にも組み合わせても有効にできます。

すべての共有設定は、次の場所で 1 回だけ構成されます： [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) そして、該当機能を使用するすべてのランブックに自動的に適用されます。ランブックごとに異なる設定（たとえばターゲット コンテナー名）は、この中央構成には含まれず、各ランブックで直接設定します。

これらの設定を利用する関数 — [`Send-RjRbReportEmail`](/ja/dev-reference/report-functions/send-rjrbreportemail.md) と [`Publish-RjRbFilesToStorageContainer`](/ja/dev-reference/report-functions/publish-rjrbfilestostoragecontainer.md) — は、 **RealmJoin.RunbookHelper** PowerShell モジュールによって提供されます。詳細な使用方法については [レポート関数](/ja/dev-reference/report-functions.md) を参照してください。

## メール配信

### 前提条件

専用の共有メールボックスの使用を推奨します。例： `realmjoin-report@contoso.com`。このメールボックスはすべてのレポートの送信元アドレスとして使用されます。自動レポートに対して受信者が返信することは想定されないため、no-reply アドレスを使用できます。

> **注：** レポート受信者としてのグループ アドレス **は** 技術的には機能しますが、推奨しません。メンバーが実際にメールを受信するかどうかはグループのフォロー/購読設定に依存し、配信失敗は送信元メールボックスの未達レポートとしてしか確認できません。

### 構成

で詳しく説明されているとおり、 [JSON ベースのカスタマイズ](https://docs.realmjoin.com/automation/runbooks/runbook-customization#json-based-customizing) ドキュメントを参照し、 [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) RealmJoin Portal（Settings > Runbook Customizations）へ移動してください。

設定 `ブロックで、` RJReport `セクションを追加または修正し、` EmailSender `プロパティに、` 希望する送信元メールアドレスを指定します：

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com"
        }
    }
}
```

次の文字列を `realmjoin-report@contoso.com` 実際の共有メールボックスのアドレスに置き換えてください。

### サービス デスク連絡先情報（任意）

この中央構成は、すべてのランブックに共通の Service Desk 値のみを提供します。連絡先情報が実際に通知メールに含まれるかどうかは各ランブック自身で決まります。対応する Service Desk パラメーター（例： `ServiceDeskDisplayName、`, `ServiceDeskPortalUrl`）を読み取り、メールに表示します。

これらのランブックに Service Desk 連絡先情報を提供するには、次のプロパティを `セクションを追加または修正し、` セクションに追加します：

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com",
            "ServiceDesk_DisplayName": "IT Service Desk",
            "ServiceDesk_EMail": "servicedesk@domain.com",
            "ServiceDesk_Phone": "+49123456789",
            "ServiceDesk_PortalUrl": "https://servicedesk.domain.com"
        }
    }
}
```

**パラメーター：**

* `ServiceDesk_DisplayName` — Service Desk の表示名（例：「IT Support」「Help Desk」）
* `ServiceDesk_EMail` — Service Desk のメールアドレス（クリック可能な `mailto:` リンクとして表示）
* `ServiceDesk_Phone` — Service Desk の電話番号（国際形式。クリック可能な `tel:` リンクとして表示）
* `ServiceDesk_PortalUrl` — Service Desk ポータルまたは Web サイトの URL（クリック可能なリンクとして表示）

すべてのパラメーターは任意です。構成すると、メールのフッターにクリック可能なリンクとして表示されます。

> **注：** 一部のランブックでは、実行ごとのチケットリンク（例： `ServiceDeskTicketUrl`）を受け付け、要求のきっかけとなった特定のチケットを参照します。これはランブックのパラメーターであり、この中央構成の一部ではありません。

### メールのブランド設定（任意）

レポートメールには Tenant 固有のブランドを適用できます。既定の RealmJoin のヘッダー画像とフッター画像を独自の画像に置き換えたり、フッター画像のリンク先を社内イントラネットや IT ポータルなどの任意の対象に変更したり、テンプレートの色を企業デザインに合わせて調整したりできます。

ブランド設定を構成するには、 `Branding` サブセクションを `セクションを追加または修正し、` ブロックに追加します（次のようにネストされます： `StorageAccount`):

```json
{
    "Settings": {
        "RJReport": {
            "Branding": {
                "HeaderImageUrl": "https://cdn.contoso.com/branding/email-header.png",
                "FooterImageUrl": "https://cdn.contoso.com/branding/email-footer.png",
                "FooterLink": "https://intranet.contoso.com",
                "AccentColor": "#0052cc",
                "TextColor": "#1a1a2e"
            }
        }
    }
}
```

**パラメーター：**

| 設定               | 必須  | 既定値                         | 説明                                                 |
| ---------------- | --- | --------------------------- | -------------------------------------------------- |
| `HeaderImageUrl` | いいえ | RealmJoin のヘッダー画像           | 既定の RealmJoin ヘッダー画像を置き換えるカスタム ヘッダー画像の公開 HTTPS URL |
| `FooterImageUrl` | いいえ | RealmJoin のフッター画像           | 既定の RealmJoin フッター画像を置き換えるカスタム フッター画像の公開 HTTPS URL |
| `FooterLink`     | いいえ | `https://www.realmjoin.com` | フッター画像のリンク先 URL                                    |
| `AccentColor`    | いいえ | `#f8842c` （RealmJoin オレンジ）  | メールテンプレートのアクセントカラー：表のヘッダー行、アクション ボタン、情報ボックスのアクセント枠 |
| `TextColor`      | いいえ | `#011e33` （RealmJoin ネイビー）  | メールテンプレートの主要な文字色：本文、見出し、リスト項目、コード                  |

**画像要件：**

* 画像は次を介して到達可能である必要があります： **公開 HTTPS URL** — たとえば、匿名読み取りアクセスが有効な Azure Blob Storage コンテナー、CDN、または会社の Web サイトです。SAS トークンを含む URL でも機能し、コンテナーを非公開のままにできます。
* 対応形式： **PNG、JPEG、GIF**。形式はファイル拡張子ではなくファイル署名から検出されます。
* 画像の表示幅は **750 px**です。推奨サイズは **750×200 px** （既定のバナーに合わせたサイズ）または **1500×400 px** で、高解像度ディスプレイ向けです。
* 最大 **200 KB** 画像 1 枚あたり； **100 KB 以下** が推奨されます。ブランド画像はレポート添付ファイルと合わせて、メール全体のサイズ上限 約 4 MB を共有します（参考までに、既定の RealmJoin グラフィックは 52 KB と 15 KB です）。

**色の要件：**

* 値は先頭の # を含む 6 桁の 16 進カラーである必要があります。 `#` — たとえば `#0052cc`。短縮形（`#05c`）や色名（`赤`）はサポートされていません。
* メールとその添付ファイルはライト **と** モードとダークモードの両方で表示されるため、白いコンテンツ カード上でも判読性を保てる文字色と、白いボタン文字に対して十分なコントラストを持つアクセントカラーを選んでください。
* ステータスカラー（成功・エラー・警告状態の緑/赤/琥珀色）と中立的なグレーは、意図的に構成可能ではありません。これらは Tenant ごとに変わるべきではない意味を持っているためです。

画像は各実行時にランブックによってダウンロードされ、検証されます。設定が空のままの場合、既定の RealmJoin グラフィック、色、フッター リンクが使用されます。ダウンロードが失敗した場合、画像が無効な場合、または色が有効な hex 値でない場合は、警告がログに記録され、代わりに対応する既定値が使用されます。壊れたブランド設定が原因でレポートメールの送信が妨げられることはありません。

すべての設定は任意で、レポートメールを送信するすべてのランブックに適用されます。

> **注：** 色の設定には **RealmJoin.RunbookHelper 0.8.9** が Automation Account に 0.8.9 以降として必要です。古いモジュール バージョンでは画像設定は引き続き適用され、色は無視されます。

## Storage Account 配信

この配信チャネルをサポートするレポート用ランブックは、出力を Azure Blob Storage コンテナーにアップロードできます。アップロード成功後、ランブックはファイルを直接ダウンロードできる期限付きの SAS リンクを返します。このチャネルはメール配信とは独立して、または併用して使用できます。

### 前提条件

既存の Azure Storage Account が必要です。Automation Account のマネージド ID（またはランブックで使用する Service Principal）は、組み込みの Azure RBAC ロール **Reader and Data Access**が、Storage Account に直接割り当てられている必要があります。

アップロードでは、 `listKeys` を使用してストレージ アカウント キーを取得し、それを使ってコンテナーの作成、ファイルのアップロード、SAS ダウンロードリンクへの署名を行います。 **Reader and Data Access** は、この操作を含む最小の組み込みロールです。 **Storage Account Contributor** でも動作しますが、Storage Account の管理と削除も可能になります。 **Storage Blob Data Contributor** では不十分です。これは `listKeys`.

> **注：** を含まないためです。アカウント キーは Storage Account 内のすべてのデータへのアクセス権を付与します。レポート用に専用の Storage Account を使用し、ロールはリソース グループではなく Storage Account に割り当ててください。共有キー アクセスは Storage Account で許可されている必要があります（`allowSharedKeyAccess` が `false`であってはなりません。たとえば Azure Policy「Storage accounts should prevent shared key access」による設定です）。そうでない場合、アップロードは失敗します。

### 構成

次へ移動してください： [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) に移動し、次の `StorageAccount` サブセクションを `セクションを追加または修正し、` ブロックを追加します：

```json
{
    "Settings": {
        "RJReport": {
            "StorageAccount": {
                "ResourceGroup": "rg-reports",
                "StorageAccountName": "stcontosoreports",
                "LinkExpiryDays": 6
            }
        }
    }
}
```

**パラメーター：**

| 設定                   | 必須  | 既定値 | 説明                                |
| -------------------- | --- | --- | --------------------------------- |
| `ResourceGroup`      | はい  | —   | Storage Account を含むリソース グループ      |
| `StorageAccountName` | はい  | —   | Azure Storage Account の名前         |
| `LinkExpiryDays`     | いいえ | `6` | 生成された SAS ダウンロードリンクの有効期限が切れるまでの日数 |

> **注：** ターゲット コンテナー名やカスタム blob 名など、個々のランブック固有の設定は、そのランブックで直接構成され、この中央構成には意図的に含まれていません。blob 名プレフィックスについても同様です。タイムスタンプ プレフィックス（`yyyyMMdd-HHmmss`）を blob 名の先頭に付与して上書きを防ぐかどうかは、 `AddBlobNamePrefix` パラメーター [`Publish-RjRbFilesToStorageContainer`](/ja/dev-reference/report-functions/publish-rjrbfilestostoragecontainer.md) （既定値 `$false`）によって制御され、各ランブックが明示的に渡します。

## 組み合わせ例

次のスニペットは、完全な `セクションを追加または修正し、` 全機能を有効にした構成を示しています：

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com",
            "ServiceDesk_DisplayName": "IT Service Desk",
            "ServiceDesk_EMail": "servicedesk@domain.com",
            "ServiceDesk_Phone": "+49123456789",
            "ServiceDesk_PortalUrl": "https://servicedesk.domain.com",
            "Branding": {
                "HeaderImageUrl": "https://cdn.contoso.com/branding/email-header.png",
                "FooterImageUrl": "https://cdn.contoso.com/branding/email-footer.png",
                "FooterLink": "https://intranet.contoso.com",
                "AccentColor": "#0052cc",
                "TextColor": "#1a1a2e"
            },
            "StorageAccount": {
                "ResourceGroup": "rg-reports",
                "StorageAccountName": "stcontosoreports",
                "LinkExpiryDays": 6
            }
        }
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/ja/zi-dong-hua/runbooks/runbook-report-settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
