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

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

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

    | C | D | エフ | G | K | L | エム | N | S | U

    すべての Key-Value Comparator (allKeysValuesComparator)

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

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

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

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

    承認済みメールドメイン (authorizedEmailDomains)

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

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

    ユースケース:信頼できる会社のメールドメインから (機密データ) が離れないようにします。

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

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

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

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

    ユースケース:不正な URL を介した (機密データの) 公開を防止します。

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

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

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

    キーに未承認の値がある場合、非準拠ステータスになります。

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

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

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

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

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

    証明書検証ツール (certificateValidator)

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

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

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

    一貫性のあるノードコンパレータ (consistentNodesComparator)

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

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

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

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

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

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

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

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

    未使用の変数を検出 (detectUnusedVariables)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    重複値 (duplicateValues)

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

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

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

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

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

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

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

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

    汎用リスト検証ツール (genericListValidator)

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

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

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

    汎用バリデーター (genericValidator)

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

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

    • 演算子が = または == の場合、キー値が参照入力値と一致するとポリシーは準拠します。
    • 演算子が <の場合、キー値が参照入力値より小さいとポリシーは準拠します。
    • 演算子が >の場合、キー値が参照入力値より大きいとポリシーは準拠しています。
    • 演算子が <= の場合、キー値が参照入力値以下になるとポリシーは準拠します。
    • 演算子が >= の場合、キー値が参照入力値以上になるとポリシーは準拠します。
    • 演算子が != または <> の場合、キー値が参照入力値と一致しない場合、ポリシーは準拠しています。
    • 演算子が IN の場合、キー値を参照入力リストに含めると、ポリシーは準拠しています。
    • 演算子が NOT IN の場合、キー値が参照入力リストに含まれていないときにポリシーは準拠しています。
    • 演算子が CONTAINS の場合、キー値に参照入力値が含まれているとポリシーは準拠しています。
    • 演算子が NOT CONTAINS の場合、キー値に参照入力値が含まれていないときにポリシーは準拠しています。
    • 演算子が REGEX の場合、キー値が参照入力値で指定された正規表現パターンと一致すると、ポリシーは準拠します。
    入力引数
    • keysToValidate
      • 各オブジェクトにキー、演算子、および参照値が含まれるオブジェクトのアレイ。
      • 使用できる演算子は、<<=>>== または ==<> または !=RANGE、CONTAINSNOT CONTAINSINNOT 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"
              }
            ]
      • タイプ:文字列
      • 必須:True
    • caseSensitive
      • リスト比較で大文字と小文字を区別するかどうかを示すブール値。
      • デフォルト値:True
      • タイプ:True | False
      • 必須:False

    Key Existence Comparator (keyExistenceComparator)

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

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

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

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

    キー命名規則 (keyNamingConvention)

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

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

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

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

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

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

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

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

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

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

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

    List Comparator (リストコンパレータ)

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

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

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

    必須キー (mandatoryKeys)

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

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

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

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

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

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

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

    必須タグリスト (mandatoryTagsList)

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

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

    必須値 (mandatoryValue)

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

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

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

    タイプ別の必須値 (mandatoryValueByType)

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

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

    機密データをクリアしない (noClearSensitiveData)

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

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

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

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

    重複キーなし (noDuplicateKeys)

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

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

    ユースケース:展開自動化ツールは、設定が複数回発生すると不適切に処理され、サービスのダウンタイムが発生する可能性があります。

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

    空の値なし (noEmptyValues)

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

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

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

    禁止値がありません (noForbiddenValues)

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

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

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

    FTP なし (noFTP)

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

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

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

    HTTP なし (noHTTP)

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

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

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

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

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

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

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

    LDAP なし (noLDAP)

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

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

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

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

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

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

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

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

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

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

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

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

    同じキー値 (sameKeyValue)

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

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

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

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

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

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

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

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

    一意のキー値 (uniqueKeyValue)

    スナップショットでキーが複数回出現する場合に、キーの値が異なるかどうかを確認します。

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

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

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

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

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

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

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

    未解決の変数 (unresolvedVariables)

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

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

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