Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
Salesforce 組織のセキュリティ保護
カスタムヘッダーでの指定ログイン情報数式関数の使用

カスタムヘッダーでの指定ログイン情報数式関数の使用

数式関数は、指定ログイン情報または外部ログイン情報のカスタムヘッダーの値項目で使用できます。

必要なエディション

使用可能なインターフェース: Salesforce Classic (一部の組織で使用可能) および Lightning Experience の両方
使用可能なエディション: すべてのエディション
メモ
メモ 指定ログイン情報と外部ログイン情報のカスタムヘッダーでは、すべての Salesforce 数式関数がサポートされているわけではありません。認証の使用事例では、次の数式関数を使用することをお勧めします。

バイナリラージオブジェクト (BLOB) は、単一のエンティティとして保存されるバイナリデータのコレクションです。指定ログイン情報の場合、BLOB にはカスタムヘッダーの数式で使用するバイナリ実行可能コードを保存できます。「カスタムヘッダーの作成および編集」を参照してください。

数式項目には、スペース、改行文字、コメントを含む最大 3,900 文字を含めることができます。数式にこれを上回る数の文字が必要な場合は、個別に数式項目を作成し、他の数式項目でそれらの項目を参照してください。数式の評価後に表示される最大文字数は 1,300 文字で、カスタムヘッダーのアクセストークンが切り捨てられる可能性があります。

指定ログイン情報の数式関数
関数 説明
BASE64DECODE(expr)
入力
String
出力
BlobValue
説明
Base64 でエンコードされた文字列式をバイナリに復号化します。
BASE64ENCODE(expr)
入力
BlobValue
出力
String
説明
バイナリ BLOB 式を、Base64 でエンコードされた文字列としてエンコードします。
BLOB(expr)
入力
String
出力
BlobValue
説明
値を UTF-8 バイナリ BLOB に変換します。
HASH(algorithm, expr)
入力
String、BlobValue
出力
BlobValue
説明
ハッシュするバイナリ値が指定されたら、algorithm を使用してバイナリハッシュを取得します。
サポートされるハッシュアルゴリズムは SHA-256 のみです。
HEX(expr)
入力
BlobValue
出力
String
説明
base-16 の小文字でエンコードされた文字列として、指定された BLOB 式を表します。この 16 進数の文字コードには、暗号化関数で期待されるバイナリデータが含まれています。
HMAC(algorithmvalueToSignsecretSigningKey)
入力
String、BlobValue、BlobValue
出力
BlobValue
説明
algorithm を使用し、バイナリ秘密署名鍵を使用して、指定されたバイナリ valueToSign を署名します。結果のメッセージ認証コードはバイナリ値です。
サポートされるアルゴリズムは SHA-256 のみです。
SIGN(algorithmName, input, privateKey)
入力
String、BlobValue、BlobValue
出力
BlobValue
説明
指定されたアルゴリズムと秘密鍵を使用して、入力文字列用の一意のデジタル署名を計算します。
サポートされるアルゴリズムは、RSA、RSA-SHA1、RSA-SHA256、RSA-SHA384、RSA-SHA512、ECDSA-SHA256-PLAIN、ECDSA-SHA384、ECDSA-SHA512 です。
SIGN_WITH_CERTIFICATE(algorithmName, input, certDevName)
入力
String、BlobValue、String
出力
BlobValue
説明
指定されたアルゴリズムと Salesforce 組織の証明書の一意の名前を使用して、入力文字列用の一意のデジタル署名を計算します。
サポートされるアルゴリズムは、RSA、RSA-SHA1、RSA-SHA256、RSA-SHA384、RSA-SHA512、ECDSA-SHA256-PLAIN、ECDSA-SHA384、ECDSA-SHA512 です。

  • この例は、外部ログイン情報に保存されるユーザー名とパスワードのエンコードを示しています。BLOB 関数は、最初に username:password 形式の文字列をバイナリに変換します。次に、BASE64ENCODE はバイナリをエンコードされた文字列に変換します。myExternalCredential は外部ログイン情報の名前です。

    BASE64ENCODE(BLOB($Credential.myExternalCredential.Username & ':' & $Credential.myExternalCredential.Password))
  • 次の例では、base-16、SHA-256 でハッシュされたユーザ名を値として X-Username という名前のヘッダーを設定します。reqHTTPRequestです。Username は、プリンシパルに関連付けられた認証パラメーターです。

    req.setHeader('X-Username', '{!HEX(HASH(\'SHA-256\', BLOB($Credential.myExternalCredential.Username)))}');
  • この例では、X-Body ヘッダーを base-16 のハッシュされた評価済みボディとして設定します。つまり、要求ボディ内のすべての数式が評価されます。$Credential.myExternalCredential.Bodyは文字列ではなく BLOB 型として返されるため、ここではBLOBは必要ありません。

    req.setHeader('X-Body', '{!HEX(HASH(\'SHA-256\', $Credential.myExternalCredential.Body))}');
 
読み込み中
Salesforce Help | Article