セキュリティ 早見表 - Amazon Web Services

セキュリティ
セキュリティ 早見表
概要
ESAPI 関数 – Force.com
顧客データのプライバシーを保護し、信頼性を維持することは、セールスフォース・ドットコム
の基本理念です。Force.com プラットフォームには、企業や組織の管理者や開発者が活用でき
る多数のセキュリティ機能が実装されています。
さらに、一連のトレーニングや、設計、開発を
サポートする資料など、
アプリケーション開発者を対象としたさまざまな無料のセキュリティ
リソースが用意されています。
ESAPI セキュリティライブラリは、http://code.google.com/p/force-dot-com-esapi (英語) か
ら入手できます。
sharing キーワード – Force.com
データのセキュリティをレコードレベルで制御します。
with sharing
呼び出し元のユーザに適用された共有設定を適用します。推奨の設
定です。
without sharing
呼び出し元のユーザに適用された共有設定を適用しないようにしま
す。一般に、
この設定は、
レポートやデータ集計を行うクラスを使用
する場合のみ推奨されます。
<sharing 指定なし>
呼び出し元のクラスから共有設定を継承します。
Visualforce コントロー
ラまたは Web サービスには使用しないことをお勧めします。
オブジェクトレベルの CRUD (作成、参照、更新、削除)
権限 – Force.com
SFDCAccessController クラス
Force.com プラットフォーム上で、
CRUD、
FLS、
および共有設定を適用するためのアクセス制御
機能を提供します。
setSharingMode()
共有設定の適用 (with sharing)、不適用 (without sharing)、継
承をライブラリに設定します。
setOperationMode()
ライブラリに動作モードを設定します。
これにより、すべての
操作を正常に完了することを強制 (すなわちユーザがアクセ
ス権のないオブジェクトに対して行った変更は無視する) でき
ます。
insertAsUser()
ユーザのアクセス権に応じてオブジェクトを挿入します。
updateAsUser()
ユーザのアクセス権に応じてオブジェクトを更新します。
deleteAsUser()
ユーザのアクセス権に応じてオブジェクトを削除します。
getViewableFields()
現在のユーザが参照できるオブジェクト項目のリストを返し
ます。
getUpdateableFields()
現在のユーザが更新できるオブジェクト項目のリストを返し
ます。
getCreatableFields()
現在のユーザが作成できるオブジェクト項目のリストを返し
ます。
データのセキュリティをオブジェクトレベルで制御します。
isCreateable()
現在のユーザがこのオブジェクトのインスタンスを作成できる場合は
true を、
できない場合は false を返します。
isAccessible()
現在のユーザがこのオブジェクトのインスタンスを参照できる場合は
true を、
できない場合は false を返します。
isUpdateable()
現在のユーザがこのオブジェクトのインスタンスを更新できる場合は
true を、
できない場合は false を返します。
isDeleteable()
現在のユーザがこのオブジェクトのインスタンスを削除できる場合は
true を、
できない場合は false を返します。
FLS (項目レベルセキュリティ) 記述用の
API コール – Force.com
オブジェクト項目へのアクセスを制御します。
SFDCEncoder クラス
Force.com で使用できる文字列のエスケープ用関数を提供します。
SFDC_JSENCODE
引用符で囲まれた JavaScript 文字列内で使用されるデータ
をエスケープします。
SFDC_JSINHTMLENCODE
HTML タグ内、かつ引用符で囲まれた JavaScript 文字列内
で使用されるデータをエスケープします。
SFDC_HTMLENCODE
HTML タグ内で使用されるデータをエスケープします。
SFDC_URLENCODE
RFC 3986 で定義された構文に従って、URL 内で使用される
データをエスケープします。
暗号用ライブラリ – Force.com
isCreateable()
現在のユーザが項目を作成できる場合は true を、
できない場合は false
を返します。
ダイジェスト、
メッセージ認証コード、署名の作成、
さらに AES を使用した情報の暗号化およ
び復号化に使用する標準アルゴリズムを提供します。暗号化鍵は、保護されたカスタム設定
内にセキュリティ保護された状態で格納する必要があります。
isAccessible()
現在のユーザが項目を参照できる場合は true を、
できない場合は false
を返します。
encrypt()
isUpdateable()
現在のユーザが項目を更新できる場合は true を、
できない場合は false
を返します。
指定したアルゴリズム、秘密鍵、初期化ベクトル (IV) を使用し
て、blob 型のクリアテキストを暗号化します。
このメソッドは、
独自の初期化ベクトルを指定したい場合に使用します。
encryptWithManagedIV()
指定したアルゴリズムと秘密鍵を使用して、
blob 型のクリアテキ
ストを暗号化します。
このメソッドは、
Salesforce により生成さ
れた初期化ベクトルを使用したい場合に使用します。
decrypt()
指定したアルゴリズム、秘密鍵、初期化ベクトルを使用して
blob 型の暗号化テキストを復号化します。
decryptWithManagedIV()
指定したアルゴリズムと秘密鍵を使用して blob 型の IV 付き暗
号化テキストを復号化します。このメソッドは、
encryptWithManagedIV メソッドを使用して暗号化された blob
を復号化する場合に使用します。
generateAesKey()
指定したサイズの AES 暗号鍵を生成します。
generateDigest()
入力文字列とアルゴリズムにもとづいて、単方向のハッシュ
ダイジェストを生成します。
generateMac()
秘密鍵と指定したアルゴリズムを使用して、入力文字列のメッ
セージ認証コード (MAC) を生成します。
getRandomInteger()
整数型の乱数を返します。
getRandomLong()
長整数型の乱数を返します。
sign()
提供された秘密鍵と指定したアルゴリズムを使用して、入力
文字列用の一意のデジタル署名を生成します。
Visualforce エスケープ用関数 – Force.com
クロスサイトスクリプティング攻撃への対策として、サーバ側でデータをエスケープするため
に使用される関数です。
例:
<html><head><title>
{!HTMLENCODE($Request.title)}
</title></head></html>
JSENCODE
引用符で囲まれた JavaScript 文字列内で使用されるデータをエス
ケープします。
JSINHTMLENCODE
HTML タグ内、かつ引用符で囲まれた JavaScript 文字列内で使用
されるデータをエスケープします。
HTMLENCODE
HTML タグ内で使用されるデータをエスケープします。
URLENCODE
RFC 3986 で定義された構文に従って、URL 内で使用されるデータ
をエスケープします。
www.salesforce.com/jp/developer
カスタム設定メソッド
セッションの設定
暗号化鍵など、機密性の高い情報を格納する際の「保護」モードをサポートする特別なオブ
ジェクトです。
セッションタイムアウトなど、セッション処理に関する一般的な設定を管理するために使用
できるコントロールです。
これらの設定にアクセスするには、[<あなたの名前>] ➤ [設定] ➤
[セキュリティのコントロール] ➤ [セッションの設定] の順にクリックします。
getAll()
カスタム設定用に定義されているデータセットの対応付けを返
します。
リストカスタム設定でのみ使用できます。
getInstance()
パラメータおよび設定種別にもとづいて、指定したデータセット
名、ユーザ ID、
プロファイル ID、
または現在のユーザのカスタム
設定データセットの中から、
「最下位」の設定を返します。
リスト
カスタム設定で使用する getValues() と同等の機能を持ちます。
getValues()
getOrgDefaults()
パラメータおよび設定種別にもとづいて、指定したデータセット
名、ユーザ ID、
プロファイル ID、
または現在のユーザのカスタム
設定データセットを返します。
設定名
説明
推奨値
タイムアウト値
何も操作しない状態が何分間続くとユ
ーザを自動的に Salesforce からログア
ウトさせるかを指定します。
30 分
セッションタイムアウト
時のポップアップウィン
ドウ表示を無効にする
セッションのタイムアウトによりユーザ
をログアウトするときに、ブラウザから
警告を表示しないようにします。
オンにする
ログイン時の IP アドレス
とセッションをロックする
ユーザがログイン時に認証された IP ア
ドレスにユーザセッションをロックしま
す。
AppExchange のインストールに影響
することがあります。
オンにする
(選択できる場合)
セキュアな接続 (HTTPS)
が必要
すべてのページ要求に対して HTTPS
接続を要求します。
オンにする
ログインページでキャッ
シングとオ ートコンプ
リート機能を有効にする
初回ログインの後、ユーザのブラウザ
にユーザ名とパスワードを保存し、以
降のログイン時にオートコンプリート
されるようにします。
オフにする
組織のカスタム設定データセットを返します。階層カスタム設定
でのみ使用できます。
パスワードポリシー
パスワードの利用制限やアカウントロックアウトの設定を有効にするために使用できるコン
トロールです。
これらの設定にアクセスするには、[<あなたの名前>] ➤ [設定] ➤ [セキュリティ
のコントロール] ➤ [パスワードポリシー] の順にクリックします。
設定名
説明
推奨値
パスワードの有効期間
パスワードが有効期限切れになる
までの間隔を指定します。
90 日
過去のパスワードの利
用制限回数
パスワードの再利用制限にあたり、
何回前のパスワードまで使用不
可にするかを指定します。
5 回前のパスワードまで使
用不可
最小パスワード長
パスワードとして許可される最小
の長さを指定します。
8 文字以上
パスワード文字列の制限
パスワードにアルファベットと数
字の両方を必ず含めるようにする
かどうかを指定します。
英・数字両方含める
パスワード質問の制限
パスワードの再発行に使用する
質問に、パスワード自体を含めな
いよう制限するかどうかを指定し
ます。
パスワードを含めないこと
ログイン失敗によりロッ
クするまでの回数
ログインの失敗が許される回数を
指定します。
この回数を超えるとア
カウントがロックされます。
5
ロックアウトの有効期間
アカウントがロックアウトされた
場合に、再びログインできるよう
になるまでの期間を指定します。
30 分
監査とログ記録
Salesforce には、
ログイン履歴や組織に対する変更を監視するための監査ログが各種用意されて
います。
設定名
説明
設定場所
ログイン履歴
過去 6 か月間に行われたログインとそ
の成否に関する記録を保存します。
[設定] ➤
[ユーザの管理] ➤
[ログイン履歴]
設定変更履歴の参照
過去 6 か月間に行われた設定変更の履
歴を保管します。
[設定] ➤ [セキュリ
ティのコントロール]
➤ [設定変更履歴
の参照]
<オブジェクトの 種 類 >
の履歴を有効化
選択した標準項目およびカスタム項目
について、変更履歴の記録を有効にで
きます。
[設定] ➤ [アプリケー
ションの設定] ➤
[カスタマイズ] ➤
[<オブジェクトの種
類>] ➤ [項目] ➤
[項目履歴管理の設定]
セキュリティ上注意が必要な権限
プロファイルを使用するときには、以下に示すような権限の設定状況を確認することをお
勧めします。
プロファイルごとの権限は、[<あなたの名前>] ➤ [設定] ➤ [ユーザの管理] ➤
[プロファイル] の順に選択して確認できます。
ログインと認証の設定
ログインと認証に関する機能と制限です。企業の状況に合わせて、必要な設定を有効にしてく
ださい。
設定名
説明
設定場所
IP アドレス制限に関する
設定
特定の IP アドレスまたは特定範囲
内の IP アドレスからのログインの
み許可します。
[設定] ➤ [セキュリティの
コントロール] ➤ [ネット
ワークアクセス] (すべての
ユーザ)
[設定] ➤ [ユーザの管理]
➤ [プロファイル] (個々の
ユーザのプロファイル)
ログイン可能な時間帯
の制限に関する設定
ユーザがログインできる時間帯を
制限します。
[設定] ➤ [ユーザの管理] ➤
[プロファイル]
シングルサインオンに関
するオプション
代理認証、
またはSAMLを使用した
統合認証を有効にします。
代理認証: サポート担当者
にお問い合わせください
統合認証: [設定] ➤ [セキュ
リティのコントロール] ➤
[シングルサインオン設定]
権限
説明
Apex 開発
Apex の変更と展開を行えます。デフォルトでは、Apex コードは
完全な管理者特権で実行されます。
アプリケーションの
カスタマイズ
組織の設定を変更できます。
AppExchange パッケージ
のダウンロード
AppExchange パッケージをインストールまたはアンインストール
できます。
ユーザの管理
ログイン、共有ルール、ログイン制限などを含むユーザアカウン
トの作成と編集を行えます。
すべてのデータの編集
Salesforce 内のすべてのデータを作成、編集、削除できるように
なります。
パスワード無期限
パスワードの有効期限を無効にし、無期限で使用できるように
なります。
すべてのデータの参照
他のユーザが所有しているデータもすべて参照できます。
その他の早見表については、以下を参照してください。
http://wiki.developerforce.com/page/JP:Cheat_Sheets
082011