次の方法で共有


SecretText 型を使用して、資格情報や機密テキスト値が公開されないように保護する

重要

このコンテンツはアーカイブされており、更新されていません。 最新のドキュメントについては、「Business Central の新機能および変更された機能」を参照してください。 最新のリリース計画については、「Dynamics 365、Power Platform、Cloud for Industry のリリース計画」を参照してください。

有効対象 パブリック プレビュー 一般提供
管理者、作成者、マーケティング担当者、またはアナリスト向けで、自動的に有効化される 2023年8月16日 2023年10月2日

ビジネス バリュー

外部システムとの統合が増えると、AL コードで資格情報やその他の機密テキスト値などのシークレットを扱うことが珍しくなくなります。 これらがデバッグによって明らかにならないように保護する必要があるため、後者は容易なトラブルシューティングを犠牲にして、リソース公開ポリシーによってブロックされることがよくありました。 資格情報や他の機密テキスト値が公開されないように保護しながら、デバッグを有効にするため、変数用の新しい SecretText 型を導入しています。 さらに、システム アプリの一般的なシナリオの一部では、資格情報の SecretText パラメーター (HttpClient 型や分離ストレージ型など) の受け渡しがサポートされます。

機能の詳細

資格情報やその他の機密テキスト値がデバッグを通じて明らかにならないように保護するため、新しい SecretText 型が追加されています。 宣言構文は Text データ型と似ていますが、唯一の違いは長さの制約をサポートしないことです。

SecretText は次のものとして使用できます。

  • 変数値
  • 戻り値
  • パラメーター値

その使用は、たとえば作成時点から宛先メソッドまでの資格情報の伝達に限定されます。 宛先メソッドは SecretText 値を受け入れる必要があります。

Text 型に変換できる限り、任意のテキスト型を SecretText 型に割り当てることができます。 SecretText 型は Text 型をカプセル化します。 コードまたはその他のテキスト型を格納する場合は、Text 型に変換されます。 Dotnet 文字列型も SecretText に変換できます。 ただし、定数やその他の型を SecretText 型に割り当てることはできません。

テキストとして使用する必要がある例外的なケースでは、組み込みの Unwrap メソッドがサポートされます。 これは、プロジェクトのスコープがオンプレミスの場合にのみ使用できます。 オンプレミスのみの場合、NonDebuggable としてマークされたプロシージャの境界外では許可されますが、警告が発生するため、特定のプロジェクトのルールセットを使用してブロックすることもできます。

最初は、イベントでは SecretText パラメーターはサポートされませんが、トリガーではサポートされます。 後者のシナリオは、OAuth コントロール アドインなどのコントロール アドインのケースをサポートして、資格情報を安全なコンテナーに入れて返すためです。

システム アプリでは、HttpClient により、資格情報などの SecretText パラメーターの受け渡しがサポートされます。

次の例では、戻り値とパラメーターはデバッグ可能ではありません。

デバッグ可能にならないようにプロシージャの戻り値とパラメーターで SecretText を使用する例

関連項目

SecretText データ型を使用した機密値の保護 (ドキュメント)