---
title: "ロールシリアライゼーションの設定"
slug: "configure-role-serialization"
abstract: "プロジェクト内で役割をシリアライズする方法。"
---
# ロールシリアライゼーションの設定

ロールをシリアライズすることで、同期操作に指定されたロールを含めることも可能です。シリアライズは、開発者やDevOpsエンジニアが同じプロジェクト内の他の開発者とロールを同期させることで、自分たちのソリューション内でロールを管理できるようにします。また、Sitecore環境全体でソース制御ロールの変更を推進することを可能にします。

> !注この機能はCLI 4.0以降から利用可能で、現在は\*.datファイルの作成には利用できません。バージョン4.1以降、Sitecore CLIはアイテムパッケージにシリアライズされた役割を含めることをサポートしています。

## \*module.jsonファイルで役割を設定する

シリアライズプロセスに含める役割を定義できます。どの \*module.json設定ファイルでも役割を指定することができます。rolesプロパティは、2つのプロパティを持つ役割述語項目からなる配列です。

-   domain(Sitecore ロールドメイン)
-   pattern(ドメインに含める特定の役割を決定するための正則表現パターン)

> !重要変更を行う前に、ローカル環境が最新であることを必ず確認してください。^.\*$のようなパターンを定義し、pullコマンドの前にpushコマンドを実行すると(シリアライズされたロールが存在しないように)、Sitecoreインスタンスから削除予定のすべてのロールが削除されます。

\*module.json設定ファイルで役割を設定するには:

-   ルートセクション内で、patternとdomain役割のプロパティを指定します。例えば:
    
    {
     ...
     "items": {
     ...
     },
     "roles": 
     {
     "domain": "sitecore",
     "pattern": "Developer"
     },
     {
     "domain": "custom",
     "pattern": "Role\*"
     },
     {
     "domain": "extranet",
     "pattern": "^MySite.\*$"
     }
     
    }
    

> !重要設定の述語に一致する非シリア化された孤児ロールは、Sitecoreから自動的に削除されます。

> !警告Sitecore CLIはカスタムセキュリティドメイン内でロールをシリアライズすることを可能にします。ただし、プッシュコマンドではカスタムドメインが自動的に作成されるわけではありません。ロールが正しく機能するように、ターゲット環境で手動で [セキュリティドメインを作成し](https://doc.sitecore.com/xp/ja/developers/103/developer-tools/create-and-edit-a-security-domain.html "Create and edit a security domain") てください。

## ロールシリアライズのチェック

役割データの要約を確認するには:

-   serialization infoコマンドを実行してください。出力:
    
    ModuleWithRole
     Subtrees:
     ...
     Roles: 1
    

役割データの詳細を確認するには:

-   serialization info -tコマンドを実行してください。出力:
    
    Maximum subtree-relative item path allowed: 120
    
    ModuleWithRole
     File: C:\\Projects\\Example\\serialization\\src/ModuleWithRole/ModuleWithRole.module.json
     Subtrees:
     ...
     Roles:
     domain :extranet
     pattern:^MySite.\*$