Oracle OKEクラスタの接続

注意: この機能は、Cloud Vulnerability Management ライセンスでは使用できません。

Oracle OKE クラスタを Tenable Tenable One Cloud Exposure で接続して、アクセス許可、サブスクリプション使用状況、セキュリティ設定に関する情報など、クラスタに関連付けられているすべてのクラウドアイデンティティとリソースに対する完全な可視性とリスク評価を取得します。

統合を完了するまで、クラスターに関連するオブジェクトや構成は分析されず、 Tenable での調査にも利用できません。各 Kubernetes クラスタの リソース同期ステータス が関連するインベントリビューに表示されます。これは、Tenable が Kubernetes API に接続できるかどうかを示し、潜在的な接続の問題のトラブルシューティングに役立ちます。

要件

モニタリングするクラスタごとに、次の両方の手順を実行します。これらのステップのいずれかまたは両方を実行することが不可能または実用的でない場合、 Tenable は Helm チャートを介してクラスタを接続する代替統合パスを提供します。

注意: Kubernetes 脅威検出、 アドミッションコントローラーの概要 、センサーベースのワークロード保護を有効にするには、Helm チャートを介してクラスタを接続する チャートを使用してセンサーをインストールする必要があります。これは、すべてのクラウドプロバイダーとクラスタタイプに適用されます。

クラスタのアクセス許可を付与する

Kubernetesクラスタを Tenableに接続するには、 CLI を使用したクラスタのアクセス許可の付与 と OCI ポリシーを使用したクラスタのアクセス許可の付与の両方を使用してアクセス許可を付与する必要があります。

注意:

  • CLI を使用してアクセス 許可を付与すると、特定のクラスターで ClusterRole と ClusterRoleBinding が作成されるため、これはクラスターごとに個別に実行する必要があります。
  • OCI ポリシーを使用したクラスタのアクセス許可の付与は、テナンシレベルでグローバルに 1 回実行されます。

CLI を使用したクラスタのアクセス許可の付与

グループTenable ロールのアクセス許可をクラスタに付与して、クラスタへのTenableアクセスを提供します。これを行うには、 Tenable グループロールを OKE クラスタに追加し、 ClusterRole と ClusterRoleBindingを作成します。次の手順は、 kubectl コマンドを使用してこれを行う方法を示しています。詳細は、 Oracle OKE のドキュメント で説明されているガイドラインに従ってください。

注意:

  • リソースのアクセス許可セットがより制限されたロールを使用することもできますが、この場合、今後関連するアクセス許可が追加されると手動で追加しなければなりません。
  • グループロールは、 Tenable 読み取りアクセス許可のみを付与します。

前提条件

  • このアクションを実行するために必要なアクセス許可があることを確認してください。
  • 次のツールがインストールされていることを確認します。
    • OCI CLI
    • kubectl

OKE クラスタの接続手順

  1. OCI CLI を介して次のコマンドを実行します。

    oci ce cluster create-kubeconfig cluster-id {your_cluster_ocid} --file $HOME/.kube/config region {your_region} --token-version {your_token_version} --kube-endpoint {your_endpoint_type}

    注意:

    • --token-version:詳細については、公式のOracle ドキュメントを参照してください。
    • --kube-endpoint:詳細については、公式のOracle ドキュメントを参照してください。
  2. 次のコマンドを実行してください。

    cd ~/.kube

  3. クラスターロール YAML ファイルを作成します。
    • 次のコマンドを実行してファイルを編集します。

      vim {clusterRole}.yaml

      ここで、 {clusterRole} はファイルに付けるために選択した名前です。

    • 以下の clusterRoleを追加します。

      コピー

      YAML

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: tenable-kube-connector-cluster-role
      rules:
        - apiGroups: ["*"]
          resources: ["*"]
          verbs: ["get", "list", "watch"]
  4. クラスターロールバインディング YAML ファイルを作成します。
    • 次のコマンドを実行してファイルを編集します。

      vim {clusterRoleBinding}.yaml

      ここで、 {clusterRoleBinding} はファイルに付けるために選択した名前です。

    • 以下の clusterRoleBindingを追加します。

      コピー

      YAML

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: tenable-kube-connector-cluster-role-binding
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: tenable-kube-connector-cluster-role
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: Group
        name: {tenable_group_ocid}
      注意: tenable_group_ocid = OCI 統合プロセスを介して作成したグループ ID。詳細については、こちらのグループの作成を参照してください。
  5. 次のコマンドを実行して、作成した clusterRole/clusterRoleBinding をクラスタに適用します。

    kubectl apply -f ./{clusterRole}.yaml
    kubectl apply -f ./{clusterRoleBinding}.yaml

    ここで、 {clusterRole}と {clusterRoleBinding} は YAML ファイルに付けた名前です。

  6. (オプション)次のコマンドを実行して、 clusterRole/clusterRoleBinding が適用されていることを検証します。

    kubectl get clusterroles
    kubectl get clusterrolebindings

OCI ポリシーを使用したクラスタのアクセス許可の付与

新しい OCI ポリシーを作成し、ポリシーステートメントを使用して必要なアクセス許可を割り当てることで、 クラウドサイバーエクスポージャー に OCI Kubernetesをスキャンするアクセス許可を付与します。

Kubernetes クラスタリソースに読み取りアクセス許可を付与するには

  1. Oracleコンソールで、[アイデンティティとセキュリティ] > [アイデンティティ > ポリシー] の順に移動します。
  2. [ポリシーの作成] をクリックし、以下の詳細を入力します。
    1. 名前: 意味のある名前を入力します。
    2. 説明: わかりやすい説明を入力します
    3. コンパートメント: root コンパートメントを選択します
  3. ポリシービルダーで [手動エディターの表示] をクリックし、次のステートメントを追加します。
    • Allow group {tenable_group_name} to use clusters in tenancy

      注意: tenable_group_name = OCI統合プロセスを使用して作成したグループ名。詳細については、こちらのグループの作成を参照してください。

Tenable へのネットワークアクセスを許可する

クラウドサイバーエクスポージャーがクラスタにアクセスするには、クラスタエンドポイントをパブリックにアクセス可能にし、関連する許可が必要な Tenable IP アドレスする必要があります。

ネットワークアクセスを許可するには

  1. OCI管理コンソールで、「開発者 サービス」 >「 コンテナおよびアーティファクト 」> OKEに移動します。
  2. 対象の クラスタ名をクリックします。
  3. [編集] をクリックし、[API エンドポイントにパブリック IP アドレスを割り当てる] を選択します。
    • パブリックとプライベート。選択した場合は、クラスタの [Virtual Cloud Network] 設定> [Security > Cluster's K8s API Endpoint Rule] > [Security rules] に移動し、 Tenableリージョンに関連付けられている許可が必要な Tenable IP アドレスからのトラフィックのみを許可するようにイングレスルールを編集できます。
  4. 完了したら、[変更の保存] をクリックします。