データの制限

権限レベルの低い認証ユーザーは暗号化されたパスワードにアクセスできないようにする必要があります。これには、主に 2 つの方法があります。パスワードフィールドのみへのアクセスを制限する方法と、エンティティ全体へのアクセスを制限する方法です。

この制限をおこなうと、パスワードフィールドを削除できますが、すべてのユーザーがインターフェイスから外部アカウントにアクセスできるようになります。 詳しくは、このページを参照してください。

  1. 管理設定データスキーマ ​に移動します。

  2. 新しい​ スキーマの拡張 ​を作成します。

  3. 外部アカウント(extAccount)を選択します。

  4. 最後の画面で、新しい srcSchema を編集して、すべてのパスワードフィールドへのアクセスを制限できます。

    メイン要素(<element name="extAccount" ... >)は、次の方法で置き換えることができます。

    <element name="extAccount">
        <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
        <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
    
        <element name="s3Account">
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="awsSecret"/>
        </element>
        <element name="wapPush">
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
        </element>
        <element name="mms">
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
        </element>
    </element>
    

    したがって、拡張された srcSchema は次のようになります。

    <...>
        <element name="extAccount">
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
            <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
    
            <element name="s3Account">
                <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="awsSecret"/>
            </element>
            <element name="wapPush">
                <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
                <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
            </element>
            <element name="mms">
                <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="password"/>
                <attribute accessibleIf="$(loginId) = 0 or $(login) = 'admin'" name="clientSecret"/>
            </element>
        </element>
    <...>
    
    NOTE
    $(loginId) = 0 or $(login) = 'admin'hasNamedRight('admin') に置き換えて、管理者権限を持つすべてのユーザーにこれらのパスワードを表示させることができます。

アクセス管理

アクセス管理は、セキュリティ強化の重要な部分です。 ここでは、主なベストプラクティスを紹介します。

  • 十分なセキュリティグループを作成する
  • 各オペレーターのアクセス権が適切であることを確認する

権限について詳しくは、この節を参照してください。

コーディングのガイドライン

Adobe Campaign(ワークフロー、JavaScript、JSSP など)で開発する場合、常に次のガイドラインに従います。

  • スクリプティング:SQL 文は使用しないようにします。文字列連結ではなく、パラメーター化関数を使用します。使用する SQL 関数を許可リストに追加して、SQL インジェクションを回避します。

  • データモデルの保護:ネームド権限を使用してオペレーターのアクションを制限し、システムフィルター(sysFilter)を追加します

  • Web アプリケーションへの captcha の追加:パブリックのランディングページと購読ページに captcha を追加します

詳しくは、Adobe Campaign Classic v7 ドキュメントを参照してください。

recommendation-more-help