開発やちょっとした検証用に作成した組織のパスワードが定期的に期限切れになると管理するのがつらいので
そういった組織についてはパスワードの有効期間を無期限に設定している。
これを毎回手作業でやると面倒なので Force.com Migration Tool でやりたい、と思ってメタデータを調べてみた。
SecuritySettings
というメタデータが存在していて、その中の PasswordPolicies
を使えばいけるらしい。
Salesforce Developers
コード
Security.settings
は settings
というディレクトリの下に置きます。
注意点
その1
SecuritySettings のページ の一番上に
パッケージマニフェストでは、「Settings」の名前を使用してすべての組織設定メタデータ型にアクセスします。詳細は「設定」を参照してください。
とあるので、package.xml
に記述するときは SecuritySettings
じゃなくて Settings
にする。
Settings: Salesforce Developers
その2
「過去のパスワードの利用制限回数」が「制限なし」になっていると、パスワードの有効期間を変更できないらしい(UI からはできるのに。。。!)。
デプロイ時に下記のエラーが出ます。
Error: expiration: 組織でユーザのパスワードを記録していない場合、パスワードの有効期限を有効にできません。,
(英語)
Error: expiration: Password expiration cannot be enabled if your organization does not remember users' passwords.,
おわりに
他にも「パスワードポリシー」で設定できる項目はすべてメタデータとして設定することができるし
SecuritySettings のページにはパスワードポリシー以外にも「セッションの設定」や「ネットワークアクセス」のメタデータもあるので
興味があれば以下のページを見てみるといいかも。
このテの設定画面は UI からしか操作できないと思い込んでたけど
逆にここに書いてないこと以外は全部 Force.com Migration Tool で設定できるということか。
Salesforce Developers