の汎用ポリシー DevOps コンフィグ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:32分
  • デフォルトでは、 DevOps コンフィグ ポリシーコンテンツパックには、構成データを検証するための汎用ポリシーのセットが含まれています。

    重要:
    Washington DC リリース以降、DevOps コンフィグは将来の廃止に備えて準備されます。これは非表示になり、新しいインスタンスにはインストールされなくなりますが、引き続きサポートされます。詳細については、Now Support ナレッジベースの「Deprecation Process (廃止プロセス) [KB0867184]」の記事を参照してください。
    これらのデフォルトの DevOps コンフィグ ポリシーを使用またはカスタマイズして、構成データコンテンツが適合していることを検証できます。 のライフサイクル全体を管理します PaCE ポリシー.
    注:
    デフォルトのポリシーを変更することはできません。ただし、ポリシーのコピーを作成して、そのコピーをカスタマイズすることはできます。
    表 : 1. このページのポリシーの最初の文字のナビゲーション

    | C | Dさん | エフ | Gの | ケイ | L | のM | N | Sさん | U

    すべてのキー/値コンパレーター (allKeysValuesComparator)

    追加の展開可能項目のすべてのキーと値の組み合わせがメイン展開可能項目と同じかどうかを確認します。

    次の条件では、非準拠ステータスになります。
    • キーがメイン展開可能項目には存在するが、追加の展開可能項目には存在しない場合。
    • キーが追加の展開可能項目には存在するが、メインの展開可能項目には存在しない場合。
    • キーがメイン展開可能項目と追加の展開可能項目の両方に存在し、値が異なる場合

    ユースケース:ステージング環境と本番環境間の構成のずれを検出します。

    入力引数
    • additionalDeployablesInput
      • メイン展開可能項目と比較される追加の展開可能項目のリスト。
      • タイプ:リスト
      • Mandatory : True
    • includeNodes
      • 検証に構成データアイテム (CDI) 以外のノードを含めるかどうかを示すブール値。
      • デフォルト値: false
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 比較時に無視する必要があるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    許可されたメールドメイン (authorizedEmailDomains)

    正規表現に基づいて識別されたメールドメイン値が、承認済みメールドメインリストに含まれているかどうかを確認します。

    メールドメインが承認済みドメインでない場合、非準拠ステータスになります。

    ユースケース:(機密性の高い) データが信頼できる会社のメールドメインから送信されるのを防ぎます。

    入力引数
    • authorizedDomain
      • 許可されたメールドメインのカンマ区切りリスト。
      • 例:
        gmail.com,servicenow.com
      • タイプ:文字列
      • Mandatory : True
    • exceptionList
      • ポリシーによって無視されるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    URL 内の承認済みホスト (authorisedHostsInURLS)

    スナップショット内の URL 値のホストコンポーネントの形式が許可されているかどうかを確認します。

    スナップショット内の URL 値がホストコンポーネントに指定された形式に従っていない場合、非準拠ステータスになります。

    ユースケース:許可されていない URL による (機密性の高い) データの公開を防止します。

    入力引数
    • authorizedHostsRegex
      • URL のホストコンポーネントを検証するために使用される正規表現のカンマ区切りリスト。
      • 例:
        notpresent$,code.devsnc+,mydomain.com
      • タイプ:文字列
      • Mandatory : True
    • exceptionList
      • ポリシーによって無視されるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    認可されたキーと値の組み合わせ (authorisedKVCombinations)

    スナップショットで見つかった入力キー値が許可されているかどうかを確認します。

    キーに許可されていない値がある場合、非準拠ステータスになります。

    入力引数
    • authorisedList
      • 各キーの許可された文字列値のリストを含む、キーの JSON リスト。
      • 例:
        {
          "image":"k8s.example.io,gke.example.io,docker.example.com:8444", 
          "domain":"example.service-now.com"
        }
      • タイプ:JSON
      • Mandatory : True
    • caseSensitive
      • 検証に使用される認証キーとそのキー値で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false

    許可されたポート範囲 (authorisedPortsRange)

    スナップショットで見つかった入力ポート値が許可されているかどうかを確認します。

    ポート値が許容範囲内にない場合、非準拠ステータスになります。

    ユースケース:ポート名が、使用される環境の許容範囲内にあることを確認します。このポリシーは、ポート番号だけでなく、任意の範囲値のチェックに使用できます。例えば、ヒープ・サイズを定義するすべてのパラメーターが適切な範囲内にあることを確認する場合などです。
    入力引数
    • keysRegexWithRange
      • 最小値と最大値を含むポートキーとポート範囲の JSON リスト。キーは、キーが入力で指定された正規表現と一致する場合にポートとして識別されます。
      • 例:
        { 
          "^web_port$": "5000-5003",
          "env.db.port": "10000-65535"
        }
      • タイプ:JSON
      • Mandatory : True
    • exceptionList
      • ポリシーによって無視されるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    証明書検証ツール (certificateValidator)

    証明書がスナップショットに存在するかどうか、および証明書が期限切れになっているか、有効期限内に期限切れになりそうであるかどうかを確認します。

    スナップショット内の有効期限 のある キーまたは PEM エンコード形式の値を持つ証明書キーが期限切れになっているか、有効期限内に期限切れになる場合は、非準拠ステータスになります。有効期間は、ポリシーが実行された日に有効期限日数を加算して計算されます。

    入力引数
    • certificatesNode
      • 証明書を含むノードの名前。
      • デフォルト値: certificates
      • タイプ:文字列
      • Mandatory : True
    • expirationDays
      • 証明書の有効期間を計算する日数。有効期間は、ポリシーが実行された日に有効期限日数を加算して計算されます。
      • タイプ:整数
      • 必須:false
    • exceptionList
      • ポリシーによって無視される証明書名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    コンシステント・ノード・コンパレーター (consistentNodesComparator)

    スナップショット内のすべての第 1 レベルのノードについて、すべてのキーと値の組み合わせが同じかどうかを確認します。

    スナップショット内のいずれかの 2 つの第 1 レベルのノードのキーと値の組み合わせが異なる場合、非準拠ステータスになります。

    ユースケース:スナップショット内のすべてのノードがデバイスまたは仮想マシン (VM) のグループである場合、それらは同じ構成になります。

    入力引数
    exceptionList
    • 検証から除外するノードまたはキーと値の組み合わせのカンマ区切りリスト。
    • タイプ:文字列
    • 必須:false

    正しいホスト正規表現 (correctHostRegex)

    ホスト関連キーの形式をチェックして、ホスト名の使用が許可されていることを確認します。

    スナップショット内の URL 値を持つキーが許可されたホストに指定された正規表現と一致しない場合、非準拠ステータスになります。

    入力引数
    • authorizedHostRegex
      • URL 内のホストコンポーネントを検証するために使用される正規表現。
      • 例:
        mydomain.com
      • タイプ:文字列
      • Mandatory : True
    • exceptionList
      • 比較から除外する URL 値を含むキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    未使用変数の検出 (detectUnusedVariables)

    展開可能項目またはコレクションの vars フォルダーに、スナップショットで使用されていない変数が含まれているかどうかを確認します。

    変数が宣言されているが、スナップショットで使用されていない場合、警告が表示されます。

    異なるキー名が同じ値 (differentKeyNamesSameValues)

    キーペアの値が同じかどうかを確認します。

    指定したキーペアの値が同じでない場合、非準拠ステータスになります。

    ユースケース:異なるキーの値が同じであることを確認することで、条件をよりきめ細かく制御します。

    入力引数
    keyPairs
    • 同じ値を持つ必要があるキーペアのアレイ。キーペアは異なるキーを持つ必要があり、1 つのキー ([key1) または 2 つ以上のキー ([key1=key2=key3]) で構成することはできません。
    • 例:
      ["key1=key3","key2=key4"]
    • タイプ:文字列のアレイ
    • Mandatory : True

    異なる値ノードコンパレーター (differentValuesNodesComparator)

    スナップショットの複数のコンポーネントにキーが存在する場合に、すべてのコンポーネントでキーの値が異なるかどうかを確認します。

    キーが複数のコンポーネントで同じ値を持っている場合、非準拠ステータスになります。
    注:
    同じコンポーネント内でキーが複数存在する場合は、 一意のキー値 (uniqueKeyValue) ポリシーを使用します。
    入力引数
    keynameList
    • 第 1 レベルのノードに異なる値を指定するキー名のカンマ区切りリスト。
    • 例:
      key1,key2
    • タイプ:文字列
    • Mandatory : True

    Docker イメージ形式検証ツール (dockerImageFormatValidator)

    サービスの Docker イメージが、入力で指定された正規表現に従っているかどうかを確認します。たとえば、Docker イメージのタグ付けとバージョニングがベストプラクティスに従っていることを確認するための正規表現値を指定します。

    イメージ値が imageExpectedRegex 入力引数の正規表現入力値と一致しない場合、非準拠ステータスになります。

    入力引数
    • imageExpectedRegex
      • Docker イメージの正規表現値。
        画像のタグが英数字値であることを確認するための入力値の例:
         ^.*:([0-9]+.?)+([-_]{1}[A-Za-z0-9.]+)?$
      • タイプ:文字列
      • Mandatory : True
    • serviceExceptionList
      • 検証から除外されるサービスのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    Docker イメージレジストリバリデーター (dockerImageRegistryValidator)

    Docker イメージのレジストリが、レジストリの許可リストに含まれているかどうかを確認します。

    各サービスの Docker イメージを解析し、イメージ内のレジストリの値をフェッチしてから、取得したレジストリ値が authorizedRegistryList 入力に含まれているかどうかを確認します。

    イメージレジストリーが authorizedRegistryList 入力にない場合、非準拠状況になります。

    入力引数
    authorizedRegistryList
    • レジストリのコンマ区切りリスト。
      例:
      k8s.example.io,gke.example.io,docker.example.com:8444
    • タイプ:文字列
    • Mandatory : True

    Docker ネットワークバリデーター (dockerNetworkValidator)

    Docker サービスのネットワークがネットワークセクションで定義されているかどうかを確認します。

    サービスのネットワークが最上位のネットワークセクションで定義されていない場合、または labels/com.docker.lb.network プロパティで構成されたサービスのネットワークがサービスレベルセクションと最上位のネットワークセクションで定義されていない場合、非準拠ステータスになります。

    重複値 (duplicateValues)

    スナップショット内の重複値をチェックします。

    例外リストで定義された値を除き、スナップショットに重複キー値がある場合、非準拠ステータスになります。

    ユースケース:スナップショットの値が異なることを確認することで、条件をよりきめ細かく制御します。

    入力引数
    • includePath
      • 出力にノードの完全パスを含めるかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • pathSeparator
      • ノードのパスセパレーターを示す文字列。
      • デフォルト値: /
      • タイプ:文字列
      • Mandatory : True
    • exceptionList
      • 検証から除外する文字列のアレイ。
      • デフォルト値: ["true", "false", "yes", "no", "enabled", "disabled"]
      • タイプ:文字列のアレイ
      • 必須:false

    禁止されているキーと値の組み合わせ (forbiddenKVcombinations)

    スナップショットに禁止されているキーと値の組み合わせがあるかどうかを確認します。

    スナップショットで見つかったキーの値が入力リストで指定されている禁止値である場合、非準拠ステータスになります。

    入力引数
    forbiddenKV
    • 各キーの禁止値のリストを含むキーの JSON リスト。
    • 例:
      {
        "username":"root,admin",
         "password":"qwerty123"
      }
    • タイプ:JSON
    • Mandatory : True

    ジェネリック リスト検証ツール (genericListValidator)

    スナップショットのキー値を、入力に指定された値のリストと比較します。キー値は、文字列、カンマ区切りの文字列のリスト、文字列のアレイ、またはオブジェクトです。キー値がオブジェクトの場合、オブジェクトのキーが比較に使用されます。

    ポリシーコンプライアンスの次の点に注意してください。

    • operator が IN の場合、キー値内のすべての文字列が入力リストに含まれていれば、ポリシーは準拠しています。
    • 演算子が EQUALS の場合、キー値内のすべての文字列が、入力リストに任意の順序でリストされているすべての文字列と一致すると、ポリシーは準拠しています。
    • 演算子が CONTAINS の場合、キー値に入力リスト内のすべての文字列が含まれていると、ポリシーは準拠しています。
    • 演算子が NOT CONTAINS の場合、キー値の文字列が入力リストに存在しなければ、ポリシーは準拠しています。
    入力引数
    • keysToValidateObject
      • 各オブジェクトにキーパス、演算子、および参照リストが含まれるオブジェクトのアレイ。
      • 使用できる演算子は、INCONTAINSNOT CONTAINS、および EQUALS です。
      • システムの /root/user パス で定義されているユーザーが user1 または user2 のいずれかであることを強制する入力値の例:
        [ 
            { 
              keyPath: ["system", “root”, "user"]  
        
              operator: "IN" 
        
              referenceList: [user1, user2] 
        
             } 
        ]
      • デフォルト値: []
      • タイプ:オブジェクトのアレイ
      • Mandatory : True
    • caseSensitive
      • リスト比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false

    ジェネリックバリデーター (genericValidator)

    演算子と参照入力値に基づいて、キーの値が有効かどうかを確認します。

    ポリシーコンプライアンスの次の点に注意してください。

    • 演算子が = または == の場合、キー値が参照入力値と一致すると、ポリシーは準拠しています。
    • 演算子が <の場合、キー値が参照入力値より小さいとポリシーは準拠しています。
    • 演算子が >の場合、キー値が参照入力値より大きいとポリシーは準拠しています。
    • 演算子が <= の場合、キー値が参照入力値以下であれば、ポリシーは準拠しています。
    • 演算子が >= の場合、キー値が参照入力値以上であれば、ポリシーは準拠しています。
    • 演算子が != または <> の場合、キー値が参照入力値と一致しない場合、ポリシーは準拠しています。
    • 演算子が IN の場合、キー値が参照入力リストに含まれていると、ポリシーは準拠しています。
    • 演算子が NOT IN の場合、キー値が参照入力リストに含まれていないと、ポリシーは準拠しています。
    • 演算子が CONTAINS の場合、キー値に参照入力値が含まれていると、ポリシーは準拠しています。
    • 演算子が NOT CONTAINS の場合、キー値に参照入力値が含まれていなければ、ポリシーは準拠しています。
    • 演算子が REGEX の場合、キー値が参照入力値で指定された正規表現パターンと一致すると、ポリシーは準拠しています。
    入力引数
    • keysToValidate
      • 各オブジェクトにキー、演算子、および参照値が含まれるオブジェクトのアレイ。
      • 使用できる演算子は、<<=>>== or ==<> or !=RANGE、CONTAINSNOT CONTAINSIN、NOT IN、および REGEX です。
      • 例:
        [
              {
                "key": "webport-KO",
                "operator": "RANGE",
                "refValue": "8000-9000"
              },
              {
                "key": "webport-OK",
                "operator": ">=",
                "refValue": 8000
              },
              {
                "key": "fqdn-OK",
                "operator": "REGEX",
                "refValue": ".francecentral.cloudapp.azure.com$"
              },
              {
                "key": "trace_level-KO",
                "operator": "IN",
                "refValue": "INFO,ERROR,FATAL"
              },
              {
                "key": "trace_level-KO",
                "operator": "NOT IN",
                "refValue": "DEBUG,VERBOSE"
              },
              {
                "key": "trace-KO-ifcasesensitive",
                "operator": "CONTAINS",
                "refValue": "ERROR"
              }
            ]
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • リスト比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false

    キー存在コンパレーター (keyExistenceComparator)

    メイン展開可能項目のすべてのキーが、入力に指定された追加の展開可能項目にも存在するかどうかを確認します。

    キーがメイン展開可能項目には存在するが、追加の展開可能項目には存在しない場合、非準拠ステータスになります。

    ユースケース:環境変数を比較し、整合性があることを確認します。

    入力引数
    • additionalDeployablesInput
      • メイン展開可能項目と比較される追加の展開可能項目のリスト。
      • タイプ:リスト
      • Mandatory : True
    • includeNodes
      • 比較中に展開可能項目の子ノードを含めるかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 比較時に無視する必要があるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    キーの命名規則 (keyNamingConvention)

    キー名が指定された命名パターンに従っているかどうかを確認します。

    キーが入力引数で指定されたプレフィックスとサフィックスの名前付けパターンに従わない場合、非準拠ステータスになります。

    入力引数
    • maxLength
      • キー名の最大長を示す整数値。
      • タイプ:整数
      • 必須:false
    • approvedPrefixArray
      • キー名の承認されたプリフィックスを示す文字列のアレイ。
      • タイプ:文字列のアレイ
      • 必須:false
    • includePath
      • 出力にノードの完全パスを含めるかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • approvedSuffixArray
      • キー名の承認されたサフィックスを示す文字列のアレイ。
      • タイプ:文字列のアレイ
      • 必須:false
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    キーパス検証ツール (keyPathValidator)

    指定されたキーパスのキーがスナップショットで見つかるかどうかを確認し、見つかった場合、キーの値は演算子の値と参照入力値に基づいて有効です。

    指定されたキーパスのキーに無効な値がある場合、非準拠ステータスになります。さらに、 入力引数 ignoreIfNotFoundFalse の場合、入力引数で指定されたキー パスがスナップショットで見つからないと、非準拠ステータスになります。

    入力引数
    • pathAndDesiredValues
      • キーのセットと、キーに必要な条件と値のマッピングを含む JSON オブジェクト。
      • 例:
        {
            "release-1.0/paymentService-V1.0/integerValues": ["<","3"],
            "release-1.0/paymentService-V1.0/database/dbPort": [">","8000"]
        }
      • タイプ:JSON
      • Mandatory : True
    • pathSeparator
      • ノードのパスセパレーターを示す文字列。
      • デフォルト値: /
      • タイプ:文字列
      • Mandatory : True
    • ignoreIfNotFound
      • 指定されたキーパスのキーがスナップショットに存在するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false

    キー値のサブ文字列チェック (keyValueSubstringCheck)

    指定されたキー名のスナップショット値で指定されたサブ文字列をチェックします。

    キー名の値に入力引数で指定された部分文字列が含まれていない場合、非準拠ステータスになります。

    入力引数
    keyNameWithKeyValues
    • キー名、サブ文字列、キー値のサブ文字列のペアを含む、必須のサブ文字列セットを含む JSON オブジェクト。
    • 例:
      {
        "live": "2022"
        "environment": "aws"
      }
    • タイプ:JSON
    • Mandatory : True

    リストコンパレーター (listComparator)

    2 つのキーの値のリストを比較して、2 つのキーに同じ値があるかどうかを確認します。比較では大文字と小文字は区別されません。

    最初のキーのすべての値リストが、2 番目のキーに任意の順序でリストされているすべての値と一致すると、非準拠ステータスになります。

    入力引数
    • list1Node
      • プライマリノードのキー名。
      • タイプ:文字列
      • Mandatory : True
    • list2Node
      • プライマリノードと比較されるノードのキー名。
      • タイプ:文字列
      • Mandatory : True

    必須キー (mandatoryKeys)

    入力で指定されたキー名のリストがスナップショットに存在するかどうかを確認します。

    指定されたキー名がスナップショットに存在しない場合、非準拠ステータスになります。

    入力引数
    • mandatoryKeys
      • キー名のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false

    メモリ制限バリデーター (memoryLimitValidator)

    キー値に割り当てられたメモリリソースが、メモリユニットの指定された制限内にあるかどうかを確認します。 メトリクス単位 (KB、MB、GB など) とバイナリ単位 (KiB、MiB、GiB など) の大文字と小文字を区別しないキー値を比較します。比較する前に、キー値とその入力値をバイトに変換します。

    キー値が指定された制限内にない場合、またはキー値がメモリ単位でない場合は、非準拠ステータスになります。

    入力引数
    pathAndLimitsArray
    • キーパスと、メモリユニット制限の最小値と最大値 (最小値と最大値) のアレイ。
    • タイプ:オブジェクトのアレイ
    • Mandatory : True
    例:
    [ 
        { 
        keyPath: ["deploy", "resources", "limits", "cpu"], 
        min: "250m", 
        max: "500m" 
        }, 
        { 
        keyPath: ["deploy", "resources", "limits", "cpu"], 
        min: "1GB", 
        max: "8GB" 
        } 
    ]

    必須タグリスト (mandatoryTagsList)

    スナップショットで見つかったタグノードに許可された値があるかどうかを確認します。

    タグノードに許可されたタグリストに含まれていない値がある場合、非準拠ステータスになります。
    入力引数
    • tagsNodeName
      • キー名のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True
    • tagsList
      • 許可されたタグ値のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false

    必須の値 (mandatoryValue)

    入力として指定されたすべてのキーが空でない値を持つかどうかを確認します。

    キーの値が null または空の場合は非準拠ステータスになり、入力で指定されたキー名がスナップショットに見つからない場合は警告が表示されます。

    入力引数
    • keysList
      • キー名のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True
    • stopAtFirstFound
      • スナップショット内で最初に出現したキー値のみをチェックするかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • trimValue
      • 比較する前にキー値の先頭または末尾のスペースを削除するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false

    タイプ別の必須値 (mandatoryValueByType)

    入力として指定されたすべてのキーが空でない値を持つかどうかを確認します。

    次の条件では、非準拠ステータスになります。
    • keyNamesString 入力引数に指定されたキーの値が文字列値でないか、空の場合。
    • keyNamesInteger 入力引数に指定されたキーの値が整数値でないか、空の場合。
    • keyNamesBoolean 入力引数に指定されたキーの値がブール値でないか、空の場合。
    入力引数
    • keyNamesString
      • 文字列値を持つ必要があるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false
    • keyNamesInteger
      • 整数値を持つ必要があるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false
    • keyNamesBoolean
      • ブール値を持つ必要があるキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    明確な機密データがありません (noClearSensitiveData)

    指定したキーワードを含むキー名の値が暗号化されているかどうかを確認します。

    指定されたキーワードを含むキー名が暗号化されていない場合、非準拠ステータスになります。

    ユースケース: DevOps コンフィグ は、権限ベースのアクセス制御を通じて機密データ (パスワード、API キー、トークン) を管理および統制するために組織によって使用されます。

    入力引数
    • keyWords
      • スナップショット内の機密キーを識別するために使用される文字列のカンマ区切りリスト。このポリシーでは、大文字と小文字を区別しない比較が使用されます。
      • デフォルト値: pass,pwd,secret
      • タイプ:文字列
      • Mandatory : True
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    重複キーなし (noDuplicateKeys)

    スナップショットに重複するキー名がないかどうかを確認します。

    スナップショット内でキー名が複数回出現する場合、非準拠ステータスになります。

    ユースケース:デプロイ自動化ツールは、サービスのダウンタイムの原因となる設定の複数回のオカレンスを不適切に処理できます。

    入力引数
    keyNames
    • キー名のカンマ区切りリスト。
    • デフォルト値: dbConnectionString,dbUserName
    • タイプ:文字列
    • 必須:false

    空の値なし (noEmptyValues)

    すべてのキーの値が空でないかどうかを確認します。

    例外リストに含まれていないキーの値が null または空の場合、非準拠ステータスになります。

    入力引数
    • trimValue
      • 比較する前にキー値の先頭または末尾のスペースを削除するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    禁止値なし (noForbiddenValues)

    スナップショットに禁止値を含むキー名があるかどうかを確認します。

    スナップショットで見つかったキーの値が入力リストで指定されている禁止値である場合、非準拠ステータスになります。

    入力引数
    • forbiddenValues
      • 禁止値をカンマで区切ったリスト。
      • デフォルト値: root
      • タイプ:文字列
      • 必須:false
    • excludedKeyNames
      • 検証から除外するキーのカンマ区切りリスト。
      • デフォルト値: name,*desc*
      • タイプ:文字列
      • 必須:false

    FTP なし (noFTP)

    スナップショット内のすべての URL が FTPS プロトコルを使用しているかどうかを確認します。

    スナップショット内の URL に FTP が含まれている場合は、非準拠ステータスになります。

    入力引数
    • searchValue
      • キー値に存在してはならない検索用語。
      • デフォルト値: FTTP:/
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    HTTPなし(noHTTP)

    スナップショット内のすべての URL が HTTPS プロトコルを使用しているかどうかを確認します。

    スナップショットに URL に HTTP が含まれている場合、非準拠ステータスになります。

    入力引数
    • searchValue
      • キー値に存在してはならない検索用語。
      • デフォルト値: HTTP:/
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    ノードキーコンパレーター (nodeKeysComparator)

    プライマリノードのすべてのキーがセカンダリノードで同じかどうかを確認します。

    キーがプライマリノードには存在するがセカンダリノードには存在しない場合、またはその逆の場合、非準拠ステータスになります。

    入力引数
    • fromNode
      • スナップショット内のプライマリノードのパスを示す文字列のアレイ。
      • デフォルト値: []
      • タイプ:文字列のアレイ
      • Mandatory : True
    • toNode
      • スナップショット内のセカンダリノードのパスを示す文字列のアレイ。
      • デフォルト値: []
      • タイプ:文字列のアレイ
      • Mandatory : True
    • includePath
      • 出力にノードの完全パスを含めるかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false

    LDAP なし (noLDAP)

    スナップショット内のすべての URL が LDAPS プロトコルを使用しているかどうかを確認します。

    スナップショットに URL に LDAP が含まれている場合、非準拠ステータスになります。

    入力引数
    • searchValue
      • キー値に存在してはならない検索用語。
      • デフォルト値: LDAP:/
      • タイプ:文字列
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false
    • exceptionList
      • 検証から除外するキーのカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false

    ノード値コンパレーター (nodesValueComparator)

    スナップショット内の 2 つのノード間のすべてのキーと値の組み合わせを比較します。

    次の条件では、非準拠ステータスになります。
    • sameValueKeys 入力引数で指定されたキーが 2 つのノードで異なる値を持つ場合。
    • diffValueKeys 入力引数に指定されたキーが 2 つのノードで同じ値を持つ場合。
    • allowMissingKeys 入力引数が False に設定されていて、キーがプライマリノードに存在するがセカンダリノードには存在しない場合、またはその逆の場合。

    ユースケース:2 つのノード間でキーの値を比較することで、ノード間の一貫性を確保します。

    入力引数
    • fromNode
      • スナップショット内のプライマリノードのパスを示す文字列のアレイ。
      • デフォルト値: []
      • タイプ:文字列のアレイ
      • Mandatory : True
    • toNode
      • スナップショット内のセカンダリノードのパスを示す文字列のアレイ。
      • デフォルト値: []
      • タイプ:文字列のアレイ
      • Mandatory : True
    • includePath
      • 出力にノードの完全パスを含めるかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false
    • sameValueKeys
      • 同じ値を持つキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false
    • diffValueKeys
      • 異なる値を持つキー名のカンマ区切りリスト。
      • タイプ:文字列
      • 必須:false
    • allowMissingKeys
      • プライマリノードのすべてのキーがセカンダリノードで同じであることを確認するかどうかを示すブール値。
      • デフォルト値:False
      • タイプ:True | False
      • 必須:false

    空白文字は使用できません (noWhiteSpaceAllowed)

    キー値に、先頭と末尾のスペースを含む空白文字が含まれていないかどうかを確認します。

    キー値に空白文字が含まれている場合、非準拠ステータスになります。

    ユースケース:設定が適用されるときに、空白文字によってツールやアプリケーションに問題が発生しないようにします。
    入力引数
    excludedKeyNames
    • 検証から除外するキーのカンマ区切りリスト。
    • デフォルト値: 説明
    • タイプ:文字列
    • 必須:false

    同じキー値 (sameKeyValue)

    スナップショットの複数のコンポーネントにキーの値が含まれている場合に、すべてのコンポーネントで同じかどうかを確認します。

    キーが複数のコンポーネントで異なる値を持っている場合、非準拠ステータスになります。

    入力引数
    keyList
    • キー名のカンマ区切りリスト
    • Mandatory : True
    • タイプ:文字列

    同じ値のコンパレーター (sameValuesComparator)

    keyList 入力引数として指定されたすべてのキーが展開可能項目全体で同じ値を持つかどうかを確認します。

    キーの値が複数の展開可能項目で異なる場合は非準拠ステータスになり、入力で指定されたキー名がどの展開可能項目でも見つからない場合は警告が表示されます。

    ユースケース:ステージング環境と本番環境間の構成のずれを検出します。

    入力引数
    • additionalDeployablesInput
      • メイン展開可能項目と比較される追加の展開可能項目のリスト。
      • タイプ:リスト
      • Mandatory : True
    • keysList
      • キー名のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True
    • stopAtFirstFound
      • スナップショット内で最初に出現したキー値のみをチェックするかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • Mandatory : True
    • caseSensitive
      • キー比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:false

    一意のキー値 (uniqueKeyValue)

    スナップショット内でキーに複数のオカレンスがある場合に、キーのキー値が異なるかどうかを確認します。

    キーが複数回同じ値を持つ場合、非準拠ステータスになります。

    入力引数
    keyList
    • キー名のカンマ区切りリスト。
    • Mandatory : True
    • タイプ:文字列

    展開可能項目全体で一意の値 (checkUniqueKeyValue_crossDeployables)

    keyName 入力引数として指定されたすべてのキーの値が展開可能項目全体で異なるかどうかを確認します。

    キーの値が複数の展開可能項目で同じ場合は非準拠ステータスになり、入力で指定されたキー名がどの展開可能項目でも見つからない場合は警告が表示されます。

    ユースケース:ステージング環境と本番環境間の構成のずれを検出します。

    入力引数
    • additionalDeployablesInput
      • メイン展開可能項目と比較される追加の展開可能項目のリスト。
      • タイプ:リスト
      • Mandatory : True
    • keyName
      • キー名のカンマ区切りリスト。
      • タイプ:文字列
      • Mandatory : True

    未解決の変数 (unresolvedVariables)

    スナップショットに未解決の変数があるかどうかを確認します。

    キー値で使用される変数を解決できない場合、非準拠ステータスになります。

    ユースケース:未解決の変数があると展開操作が中断される可能性があるため、構成データ設定で使用されるすべての変数が値に置き換えられていることを確認します。