この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

TenantSecret

組織固有のデータ暗号化鍵を生成するために主秘密で使用される、暗号化された組織固有の鍵の部分を保存します。このオブジェクトは、API バージョン 34.0 以降で使用できます。

Data 型のテナントの秘密は、sandbox 組織では 4 時間に 1 回、本番組織では 24 時間に 1 回循環できます。SearchIndex 型のテナントの秘密は、7 日に 1 回循環できます。

この情報は、従来の暗号化ではなく Shield プラットフォームの暗号化について書かれています。

メモ

サポートされているコール

create()、query()、retrieve()、update()

項目

項目名 詳細
Description
型
string
プロパティ
Create、Nillable、Update
説明

テナントの秘密の説明。

SecretValue
型
base64
プロパティ
Nillable、Update
説明

base64 で符号化された、256 ビットの暗号化された秘密の値。

SecretValueCertificate
型
string
プロパティ
Create、Filter、Group、Nillable、Sort、Update
説明

顧客が指定したテナントの秘密をアップロードする必要のある証明書。各証明書には一意の名前があります。

SecretValueHash
型
base64
プロパティ
Create
説明

アップロード済みの顧客が指定したテナントの秘密と一致するテナントの秘密ハッシュ。

Status
型
Restricted picklist
プロパティ
Filter、Group、Nillable、Restricted picklist、Sort
説明
テナントの秘密の現在の状況。値は次のとおりです。
有効
新規または既存のデータを暗号化および復号化する場合に使用される可能性があります。
アーカイブ済み
新しいデータを暗号化できません。鍵が有効であったときにこの鍵を使用して以前に暗号化されたデータを復号化する場合に使用される可能性があります。
破棄済み
データを暗号化および復号化することはできません。鍵が有効であったときにこの鍵を使用して暗号化されたデータを復号化することはできません。この鍵を使用して暗号化されたファイルおよび添付ファイルは、ダウンロードできなくなります。
Type
型
Restricted picklist
プロパティ
Create、Defaulted on create、Filter、Group、Restricted picklist、Sort
説明
テナントの秘密の種別。Type 項目は、API バージョン 39.0 以降で使用できます。Type 選択リストには次の値が表示されます。
  • Data - Salesforce データベースに保存されているデータ。暗号化された項目、ファイル、および添付ファイルのデータを含みますが、検索インデックスファイルのデータは含まれません。API バージョン 34.0 で作成されたテナントの秘密は、Data 型にデフォルト設定されます。
  • SearchIndex — 検索インデックスファイル (API バージョン 39.0 以降で使用可能)。
Version
型
int
プロパティ
Filter、Group、idLookup、Sort
説明

この秘密のバージョン番号。バージョン番号は組織内で一意です。

使用方法

このオブジェクトを使用して、組織固有のテナントの秘密を作成または更新します。たとえば、テナントの秘密の作成と有効化を自動化するソリューションを次のように作成できます。

  1. まず、新しいテナントの秘密を作成する Apex クラスを作成します。テナントの秘密の値を指定して、特定の型のデータを暗号化します。
    1global class CreateNewSecret implements Schedulable {
    2   global void execute(SchedulableContext SC) {
    3      TenantSecret secret = new TenantSecret ();
    4      secret.description = 'Created new secret from scheduled job';
    5      secret.type= ‘SearchIndex’;
    6      insert secret;
    7   }
    8}

    Type は、API バージョン 39.0 以降で使用できます。Type はオプションです。すべてのテナントの秘密は Data 型にデフォルト設定されます。

    メモ

  2. 指定された間隔で実行されるように Apex クラスをスケジュール設定します。

    この Apex コードは、ジョブをスケジュール設定するために 1 回実行するだけで十分です。次のコードで、ジョブが 90 日ごとに実行されます。

    1CreateNewSecret secret = new CreateNewSecret();
    2String schedule = '0 0 0 1 JAN,APR,JUL,OCT ?';
    3String jobID = system.schedule('Automated secret creation and activation', schedule, secret);
  3. ジョブがスケジュール設定されたことを確認します。
  4. ジョブの実行後にテナントの秘密が作成されたことを確認します。
顧客が指定したテナントの秘密をアップロードすることもできます。
  1. 顧客が指定した (BYOK) テナントの秘密と互換性のある証明書を作成します。「Platform Encryption REST API Developer Guide (プラットフォームの暗号化 REST API 開発者ガイド)」の「Generate a BYOK-Compatible Certificate (BYOK 互換証明書の生成)」を参照してください。
  2. その後、一致するテナントの秘密とテナントの秘密ハッシュをアップロードします。互換性のある証明書の一意の名前を含めます。テナントの秘密は暗号化形式でアップロードされます。
    1TenantSecret secret = new TenantSecret ();
    2      secret.description = 'New uploaded secret';
    3      secret.type= ‘Data’;
    4      secret.SecretValue = ...
    5      EncodingUtil.base64Decode('...');;
    6      secret.SecretValueCertificate = ...;
    7      secret.SecretValueHash = ...
    8      EncodingUtil.base64Decode('...');
    9      insert secret;

    このスクリプトを使用して、顧客が指定したテナントの秘密およびテナントの秘密ハッシュを生成できます。

  3. テナントの秘密がアップロードされたことを確認します。

次に、Data 型のテナントの秘密をインポートする方法の例を示します。

1TenantSecret secret = [SELECT Id FROM TenantSecret WHERE Type = ‘Data’ AND Version = 2];
2secret.SecretValue = “<previously_exported_secret_as_a_String>";
3update secret;

ファイルに secret.SecretValue を書き込んで、テナントの秘密をエクスポートすることもできます。次に、SearchIndex 型のテナントの秘密を使用する方法の例を示します。

1TenantSecret secret = [SELECT SecretValue FROM TenantSecret WHERE Type = ‘TenantSecret’ AND Version = 2];
2secret.SecretValue =...;
3update secret;

次に、Data 型のテナントの秘密を破棄する方法の例を示します。

テナントの秘密は、組織およびテナントの秘密を適用する特定のデータに対して一意です。テナントの秘密を破棄すると、以前にエクスポートした鍵を Salesforce にインポートし直さない限り、関連データにアクセスできなくなります。

警告

1TenantSecret secret = [SELECT Id FROM TenantSecret WHERE Type = ‘Data’ AND Version = 2];
2secret.SecretValue = NULL;
3update secret;