ワークロードラベル
ラベル(タグ、注釈、属性、メタデータ、またはコンテキストと呼ばれることもありますが、これらの用語は必ずしも完全に同義ではありません)は、Cisco Secure Workload の能力の鍵です。
人間が読めるラベルでは、機能、場所、その他の基準に関してワークロードについて説明します。
Cisco Secure Workload は、以下のユーザーラベルの追加方法をサポートしています。
-
インベントリ項目で実行されている Secure Workload エージェントによる検出
-
カンマ区切り値(CSV)ファイルのアップロードによる手動インポート
-
ユーザーインターフェイスによる手動割り当て
-
エンドポイントのコネクタによる自動インポート
-
インベントリ強化用のコネクタによる自動インポート
-
オーケストレータで生成されたラベルとカスタムラベルの自動インポート(「外部オーケストレータ」を参照)
-
クラウドコネクタからの自動インポート(「クラウドコネクタ」を参照)
-
インストーラスクリプトを作成するときに、インベントリラベルを指定できます。スクリプトを使用してインストールされたエージェントにはすべて、インベントリラベルが自動的にタグ付けされます。この機能は、Linux および Windows ワークロードの展開でのみサポートされています。
ラベルの重要性
ラベルを使用すると、論理ポリシーを定義できます。次に例を示します。
コンシューマ hr_department からプロバイダー employee_db へのトラフィックを許可する場合
コンシューマとプロバイダーのワークロード グループ メンバーを指定する代わりに、次の図に示すように、ラベルを使用して論理ポリシーを定義できます。これにより、論理ポリシーを変更することなく、コンシューマグループとプロバイダーグループのメンバーシップを動的に変更できるようになります。フリートからワークロードが追加または削除されるとと、外部オーケストレータやクラウドコネクタなど、設定したサービスによって Secure Workload に通知されます。これにより、Secure Workload はコンシューマグループ hr_department とプロバイダーグループ employee_db のメンバーシップを評価できます。
サブネットベースのラベル継承
サブネットベースのラベル継承がサポートされます。下位のサブネットと IP アドレスは、次の条件のいずれかが満たされている場合、それらが属する上位のサブネットからラベルを継承します。
-
下位サブネット/アドレスのラベルのリストに該当するラベルが含まれていない。
-
下位サブネット/アドレスのラベル値が空である。
次の例を考えてみます。
IP |
名前 |
目的 |
環境 |
スピリットアニマル |
---|---|---|---|---|
10.0.0.1 |
server-1 |
webtraffic |
実稼働 |
|
10.0.0.2 |
カエル |
|||
10.0.0.3 |
ワシ |
|||
10.0.0.0/24 |
web-vlan |
統合 |
||
10.0.0.0/16 |
webtraffic |
アナグマ |
||
10.0.0.0/8 |
test |
クマ |
IP アドレス 10.0.0.3 のラベルは {“name”: “web-vlan”, “purpose”: “webtraffic”, “environment”: “integration”, “spirit-animal”: “eagle”} です。
ラベルのプレフィック
ラベルは、情報のソースを識別するプレフィックス付きで自動的に表示されます。
UI(OpenAPI では user_)では、すべてのユーザーラベルの先頭に * が付きます 。さらに、外部オーケストレータまたはクラウドコネクタから自動的にインポートされたラベルには、 orchestrator_ というプレフィックスが付きます。エンドポイントコネクタからインポートされたラベルについては、「エンドポイントのコネクタ」で詳細を参照してください。ただし、ldap_ のプレフィックスが付いたラベルが含まれる場合があります。
たとえば、ユーザーがアップロードした CSV ファイルからインポートされた department のキーを持つラベルは、UI では * department と表示され、OpenAPI では user_department と表示されます。外部オーケストレータからインポートされた location のキーを持つラベルは、UI では * orchestrator_location と表示され、OpenAPI では user_orchestrator_location と表示されます。
次の図は、オーケストレータが生成したプレフィックス付きのラベルを使用したインベントリ検索の例を示しています。
orchestrator_system/os_image:
クラウドコネクタによって生成されたラベル
これらのラベルは、AWS および Azure からのデータに適用されます。これらのラベルの送信元は、AWS VPC または Azure VNet のワークロードとネットワーク インターフェイスです。送信元からのタグがマージされ、Cisco Secure
Workload に表示されます。たとえば、ワークロードタグが env: prod
で、ネットワーク インターフェイス タグが env: test
である場合、Cisco Secure Workload のラベル値は prod,test
であり、各コネクタページの [orchestrator_env] 列の下に表示されます。
AKS、EKS、GKE に固有のラベルについては、「Kubernetes クラスタに関連するラベル」も参照してください。
キー |
値 |
---|---|
orchestrator_system/orch_type |
AWS または Azure |
orchestrator_system/cluster_name |
<Cluster_name はユーザーがこのコネクタの設定に付けた名前> |
orchestrator_system/cluster_id |
<仮想ネットワーク ID> |
インスタンス固有のラベル
次のラベルは、各ノードに固有のものです。
キー |
値 |
---|---|
orchestrator_system/workload_type |
vm |
orchestrator_system/machine_id |
<プラットフォームによって割り当てられた InstanceID> |
orchestrator_system/machine_name |
<AWS によってこのノードに指定された PublicDNS(FQDN)> – または – <Azure での InstanceName> |
orchestrator_system/segmentation_enabled |
<インベントリでセグメンテーションが有効になっているかどうかを判断するためのフラグ> |
orchestrator_system/virtual_network_id |
<インベントリが属する仮想ネットワークの ID> |
orchestrator_system/virtual_network_name |
<インベントリが属する仮想ネットワークの名前> |
orchestrator_system/interface_id |
<このインベントリに付属する elastic network interface の識別子> |
orchestrator_system/region |
<インベントリが属する地域> |
orchestrator_system/resource_group |
(このタグは Azure インベントリにのみ適用されます) |
orchestrator_‘<Tag Key>‘ |
<Tag Value> クラウドポータルのインベントリに割り当てられた任意数のカスタムタグのキーと値のペア。 |
Kubernetes クラスタに関連するラベル
次の情報は、シンプルな Kubernetes、OpenShift、およびサポートされているクラウドプラットフォーム(EKS、AKS、および GKE)で実行されている Kubernetes に適用されます。
Secure Workload は、オブジェクトタイプごとに、オブジェクトに関連付けられたラベルを含むインベントリを Kubernetes クラスタからリアルタイムでインポートします。ラベルのキーと値はそのままインポートされます。
Secure Workload では、Kubernetes オブジェクト用に定義されたラベルのインポートに加えて、これらのオブジェクトをインベントリフィルタで使用しやすくするラベルも生成します。これらの追加のラベルは、範囲とポリシーを定義する際に特に役立ちます。
すべてのリソースに対して生成されたラベル
Secure Workload は、Kubernetes/OpenShift/EKS/AKS/GKE API サーバーから取得したすべてのノード、ポッド、およびサービスに次のラベルを追加します。
キー |
値 |
---|---|
orchestrator_system/orch_type |
kubernetes |
orchestrator_system/cluster_id |
<UUID of the cluster’s configuration in |product|> |
orchestrator_system/cluster_name |
<Name given to this cluster’s configuration> |
orchestrator_system/namespace |
<この項目の Kubernetes/OpenShift/EKS/AKS/GKE 名前空間> |
ノード固有のラベル
次のラベルは、ノードに対してのみ生成されます。
キー |
値 |
---|---|
orchestrator_system/workload_type |
マシン |
orchestrator_system/machine_id |
<Kubernetes/OpenShift によって割り当てられた UUID> |
orchestrator_system/machine_name |
<このノードに指定された名前> |
orchestrator_system/kubelet_version |
<このノードで実行されている kubelet のバージョン> |
orchestrator_system/container_runtime_version |
<このノードで実行されているコンテナ ランタイム バージョン> |
ポッド固有のラベル
次のラベルは、ポッドに対してのみ生成されます。
キー |
値 |
---|---|
orchestrator_system/workload_type |
pod |
orchestrator_system/pod_id |
<Kubernetes/OpenShift によって割り当てられた UUID> |
orchestrator_system/pod_name |
<このポッドに指定された名前> |
orchestrator_system/hostnetwork |
<true|false> ポッドがホストネットワークで実行されているかどうかを反映 |
orchestrator_system/machine_name |
<ポッドが実行されているノードの名前> |
orchestrator_system/service_endpoint |
[このPodが提供しているサービス名のリスト] |
サービス固有のラベル
次のラベルは、サービスに対してのみ生成されます。
キー |
値 |
---|---|
orchestrator_system/workload_type |
サービス |
orchestrator_system/service_name |
<このサービスに指定された名前> |
-
(クラウドマネージド型 Kubernetes の場合のみ)ServiceType:LoadBalancer のサービスは、メタデータの収集に対してのみサポートされ、フローデータの収集やポリシーの適用に対してはサポートされません。
ヒント |
orchestrator_system/service_name を使用して項目をフィルタリングすることと、 orchestrator_system/service_endpoint を使用することは同じではありません。 たとえば、フィルタ orchestrator_system/service_name = web を使用すると、web という名前のすべてのサービスが選択されますが、 orchestrator_system/service_endpoint = web は、web という名前のサービスを提供するすべてのポッドを選択します。 |
Kubernetes クラスタのラベルの例
次の例は、Kubernetes ノードの部分的な YAML 表現と、Cisco Secure Workload によってインポートされた対応するラベルを示しています。
- apiVersion: v1
kind: Node
metadata:
annotations:
node.alpha.kubernetes.io/ttl: "0"
volumes.kubernetes.io/controller-managed-attach-detach: "true"
labels:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/os: linux
kubernetes.io/hostname: k8s-controller
インポートされたラベルキー |
---|
orchestrator_beta.kubernetes.io/arch |
orchestrator_beta.kubernetes.io/os |
orchestrator_kubernetes.io/hostname |
orchestrator_annotation/node.alpha.kubernetes.io/ttl |
orchestrator_annotation/volumes.kubernetes.io/controller-managed-attach-detach |
orchestrator_system/orch_type |
orchestrator_system/cluster_id |
orchestrator_system/cluster_name |
orchestrator_system/namespace |
orchestrator_system/workload_type |
orchestrator_system/machine_id |
orchestrator_system/machine_name |
orchestrator_system/kubelet_version |
orchestrator_system/container_runtime_version |
カスタムラベルのインポート
カスタムラベルは、ユーザー定義データを特定のホストに関連付けるため、アップロードするか、手動による割り当てができます。このユーザー定義データは、関連するフローとインベントリに注釈を付けるために使用されます。
ラベルの入手元(手動入力または手動アップロード、コネクタまたは外部オーケストレータを使用した取り込みなど)にかかわらず、すべてのルート範囲でラベル付けできる IPv4/IPv6 アドレスまたはサブネットの数には制限があることに注意してください。詳細については、「ラベルの制限」を参照してください。
ラベルファイルのアップロードに関するガイドライン
手順
ステップ 1 |
サンプルファイルを表示するには、左側のウィンドウで を選択し、[サンプルのダウンロード(Download a Sample)] をクリックします。 |
ステップ 2 |
サンプルファイルを表示するには、左側のペインで をクリックします。 を選択し、[サンプルのダウンロード(Download a Sample)] |
ステップ 3 |
ユーザーラベルのアップロードに使用する CSV ファイルには、ラベルキー(IP アドレス)が含まれている必要があります。 |
ステップ 4 |
ラベルに英語以外の文字を使用するには、CSV ファイルを UTF-8 形式にする必要があります。 |
ステップ 5 |
CSV ファイルが「ラベルキースキーマ」セクションで説明されているガイドラインを満たしていることを確認します。 |
ステップ 6 |
アップロードされたすべてのファイルは、同じスキーマに従う必要があります。 |
ラベルキースキーマ
列名に関するガイドライン
-
ラベルキースキーマでは、ヘッダー「IP」を持つ 1 つの列が必要です。さらに、IP アドレスの属性を含む他の列が少なくとも 1 つ必要です。
-
[VRF] 列は、ラベルスキーマで特別な意味を持ちます。この値を指定する場合は、ラベルがアップロードされるルート範囲と一致する必要があります。範囲に依存しない API を使用して CSV ファイルをアップロードする場合、これは必須です。
-
列名に使用できる文字は、文字、数字、スペース、ハイフン、アンダースコア、およびスラッシュのみです。
-
列名は 200 文字を超えることはできません。
-
列名の前に「orchestrator_」、「TA_」、「ISE_」、「SNOW_」、または「LDAP_」のプレフィックスを付けることはできません。これらは内部アプリケーションのラベルと競合する可能性があるためです。
-
CSV ファイルに重複する列名が含まれないようにしてください。
列の値に関するガイドライン
-
値は 255 文字に制限されていますが、可能な限り短くする必要があると同時に、ユーザーにとって明確で、わかりやすく意味のあるものでなければなりません。
-
キーと値は大文字と小文字が区別されません。ただし、一貫性を持たせることをお勧めします。
-
「IP」列の下に表示されるアドレスは、次の形式に従う必要があります。
-
IPv4 アドレスの形式は、「x.x.x.x」および「x.x.x.x/32」です。
-
IPv4 サブネットは、「x.x.x.x/<netmask>」の形式にする必要があります。ここで、ネットマスクは 0 から 31 までの整数です。
-
IPv6 アドレスでは、長い形式(「x:x:x:x:x:x:x:x」または「x:x:x:x:x:x:x:x/128」)および標準形式(「x:x::x」または「x:x::x/128」)がサポートされています。
-
IPv6 サブネットでは、長い形式(「x:x:x:x:x:x:x:x/<netmask>」)と標準形式(「x:x::x/<netmask>」)がサポートされています。ネットマスクは 0 ~ 127 の整数である必要があります。
-
列の順序は重要ではありません。最初の 32 のユーザー定義列は、ラベルが自動的に有効になります。32 を超える列がアップロードされている場合は、ページの右側にあるチェックボックスを使用して、最大 32 の列を有効にすることができます。
カスタムラベルのアップロード
次の手順では、サイト管理者、カスタマーサポート、またはルート範囲所有者の各ロールを持つユーザーがラベルをアップロードする方法を説明します。
始める前に
カスタムラベルをアップロードするには、「ラベルファイルのアップロードに関するガイドライン」セクションに従って、CSV ファイルを作成します。
手順
ステップ 1 |
左側のペインで、 で [ファイルの選択(Select File)] をクリックします。 を選択し、[新しいラベルのアップロード(Upload New Labels)] |
||
ステップ 2 |
左側のペインで、 で [ファイルの選択(Select File)] をクリックします。 を選択し、[新しいラベルのアップロード(Upload New Labels)] |
||
ステップ 3 |
操作([追加(Add)]、[マージ(Merge)]、または [削除(Delete)])を選択します。
重要:この削除機能により、カスタムラベルのアップロード中に、指定された IP アドレス/サブネットに関連付けられたすべてのラベルが削除されます。削除の対象は、CSV ファイルに一覧表示されている列に限定されません。そのため、削除操作は慎重に使用する必要があります。 |
||
ステップ 4 |
[アップロード(Upload)] をクリックします。 |
検索ラベル
[サイト管理者(Site Admin)]、[カスタマーサポート(Customer Support)] または [範囲所有者(scope owner)] のロールを持つユーザーは、特定の IP アドレスまたはサブネットにラベルを割り当てることができます。
手順
ステップ 1 |
[ユーザーがアップロードしたラベル(User Uploaded Labels)] ページで、[検索と割り当て(Search and Assign)] をクリックします。 |
ステップ 2 |
[ラベル管理(Label Management)] ページで、[検索と割り当て(Search and Assign)] をクリックします。 |
ステップ 3 |
[IPまたはサブネット(IP or Subnet)] フィールドで、IP アドレスまたはサブネットを入力し、[次へ(Next)] をクリックします。 [ラベルの割り当て(Assign Labels)] ページに、入力した IP アドレスまたはサブネットの既存のラベルが表示されます。 |
カスタムラベルの手動割り当てまたは編集
[サイト管理者(Site Admin)]、[カスタマーサポート(Customer Support)] または [ルート範囲の所有者(Root Scope Owner)] のロールを持つユーザーは、特定の IP アドレスまたはサブネットにラベルを手動で割り当てることができます。
手順
ステップ 1 |
[ユーザーがアップロードしたラベル(User Uploaded Labels)] ページで、[検索と割り当て(Search and Assign)] をクリックします。 |
ステップ 2 |
[ラベル管理(Label Management)] ページで、[検索と割り当て(Search and Assign)] をクリックします。 |
ステップ 3 |
[IPまたはサブネット(IP or Subnet)] フィールドで、IP アドレスまたはサブネットを入力し、[次へ(Next)] をクリックします。 [ラベルの割り当て( Assign Labels)] ページが表示されます。既存のラベルが表示され、編集できることに注意してください。 |
ステップ 4 |
新しいラベルを追加するには、Labels for <IP address/subnet> セクションで、ラベル名と値を入力し、[確認(Confirm)] をクリックします。[次へ(Next)] をクリックします。 |
ステップ 5 |
変更を確認し、[割り当て(Assign)] をクリックして確定します。 |
ラベルのダウンロード
サイト管理者、カスタマーサポート、またはルート範囲の所有者ロールを持つユーザーは、ルート範囲に属する事前に定義されたラベルをダウンロードできます。
手順
ステップ 1 |
[ユーザーがアップロードしたラベル(User Uploaded Labels)] ページで、[CSVアップロード(CSV Upload)] タブをクリックします。 |
ステップ 2 |
[ラベル管理(Label Management)] ページで、[ユーザー定義ラベルのアップロード(User Defined Label Upload)] をクリックします。 |
ステップ 3 |
[既存のラベルのダウンロード(Download Existing Labels)] セクションで、[ラベルのダウンロード(Download Labels)] をクリックします。 Secure Workloadで 使用されるラベルが CSV ファイルとしてダウンロードされます。 |
ラベルの変更
警告 |
ラベルを変更する必要がある場合は、慎重に行ってください。変更すると、既存のクエリ、フィルタ、範囲、クラスタ、ポリシー、およびそのラベルに基づいて適用された動作のメンバーシップと効果が変更されます。 |
手順
ステップ 1 |
[ユーザーがアップロードしたラベル(User Uploaded Labels)] ページで、[検索と割り当て(Search and Assign)] タブをクリックします。 |
ステップ 2 |
[ラベル管理(Label Management)] ページで、[検索と割り当て(Search and Assign)] タブをクリックします。 |
ステップ 3 |
[IPまたはサブネット(IP or Subnet)] フィールドで、IP アドレスまたはサブネットを入力し、[次へ(Next)] をクリックします。 Secure Workload が入力した IP アドレス/サブネットに対して使用しているラベルが表示されます。 |
ステップ 4 |
[アクション(Actions)] 列で、[編集(Edit)] アイコンをクリックして必要なラベルの名前と値を変更します。 |
ステップ 5 |
[確認(Confirm)] をクリックし、[次へ(Next)] をクリックします。 |
ステップ 6 |
変更を確認し、[割り当て(Assign)] をクリックします。 |
ラベルの無効化
スキーマを変更する 1 つの方法は、ラベルを無効にすることです。注意して続行してください。
手順
ステップ 1 |
[ユーザーアップロードラベル(User Uploaded Labels)] ページで、[ラベル(Labels)] タブをクリックします。 |
ステップ 2 |
[ラベル管理(Label Management)] ページに移動します。 |
ステップ 3 |
該当するラベルの [アクション(Actions)] 列で [無効化(Disable)] を選択し、次に [はい(Yes)] をクリックしてインベントリからラベルを削除することを確認します。 後でラベルを有効にする場合は、[有効化(Enable)] をクリックしてラベルを使用します。 |
ラベルを削除する
警告 |
スキーマを変更する 1 つの方法は、ラベルを無効にして削除することです。注意して続行してください。この操作により、選択したラベルが削除され、依存するすべてのフィルタと範囲に影響します。これらのラベルが使用されていないことを確認してください。この操作を取り消すことはできません。 |
手順
ステップ 1 |
ラベルを無効にします。disable_lables を参照してください。 |
ステップ 2 |
[ゴミ箱(TrashCan)] アイコンをクリックし、[はい(Yes)] をクリックしてラベルの削除を確定します。 |
ラベルの使用状況の表示
IP アドレスやサブネットインベントリは、CSV ファイルを使用してアップロードされたり、ユーザーによって手動で割り当てられたカスタムラベルで更新されます。次に、ラベルは範囲とフィルタの定義に使用され、このフィルタに基づいてアプリケーションポリシーが作成されます。したがって、ラベルを変更すると、Cisco Secure Workload の範囲、フィルタ、およびポリシーに直接影響するため、ラベルの使用状況を把握することが重要です。
ラベルの使用状況を表示するには、次の手順を実行します。
手順
ステップ 1 |
[ユーザーアップロードラベル(User Uploaded Labels)] ページで、[ラベル(Labels)] タブを選択します。ラベルキー、使用中のラベルの上位 5 つの値、インベントリ、範囲、フィルタ、およびカスタムラベルを使用するクラスタが表示されます。 |
||
ステップ 2 |
[ラベル管理(Label Management)] ページでは、ラベルキー、使用中のラベルの上位 5 つの値、インベントリ、範囲、フィルタ、およびカスタムラベルを使用するクラスタが表示されます。 |
||
ステップ 3 |
[使用状況(Usages)] 列で、インベントリ、範囲、またはフィルタに対するカウント値をクリックします。たとえば、[ロケーション(Location)] ラベルを使用している範囲を表示するには、範囲クエリ数をクリックします。 [範囲とインベントリ(Scopes and Inventory)] ページが表示され、クエリによって、選択したラベルで範囲が自動的にフィルタ処理されます。
|
ラベルのメンテナンスプロセスの作成
ネットワークとインベントリは変更されるため、ラベルを更新して変更を反映する計画を立てる必要があります。
たとえば、あるワークロードが廃止され、その IP アドレスが別の目的のワークロードに再度割り当てられた場合、そのワークロードに関連付けられているラベルを更新する必要があります。これは、手動でアップロードされるラベルと、構成管理データベース(CMDB)などの他のシステムで維持され、取り込まれるラベルの両方に当てはまります。
ラベルが定期的に継続して更新されるプロセスを作成し、そのプロセスをネットワーク メンテナンス ルーチンに追加します。