Lucidscale文書の条件付き書式設定を用いて、基盤となるリソースメタデータに基づくスタイリスティック要素やアイコンで指定されたリソースをハイライトし整理します。
注:この記事で説明する機能は、AWSアーキテクチャダイアグラムのスクリーンショットと例を添付していますが、すべてのプロバイダー生成文書(AWS、Azure、 Google Cloud)が利用可能です。
ウォッチ: フィルターと条件付き書式
条件付き書式を使用したルールの作成
新しいルールを作成する
最初のルールを作成するには、ワークスペースの上部にある杖アイコンをクリックして条件付き書式メニューを開き、[ ルールの作成]をクリックします。
最初のルールを作成したら、[条件付き書式] メニューの上部にある [+ 新しい書式ルールを作成する ] をクリックして、ルールを追加できます。
ルールに名前を付ける
ルールを作るときは、ルールに名前をつけてスタートを切ると、ルールが何を指しているのか覚えておくと役立ちます。 例えば、文書内でレンダリングされたRDS DBインスタンスのうち暗号化されていないデータを識別するルールを作成する場合、「RDS: StorageEncrypted」というルールを呼ぶことができます。上部のタイトルをダブルクリックすれば、いつでもルール名を編集できます。
1. [対象] – ルールを適用するリソースの種類を選択します。
条件付き書式設定ルールは、文書内の特定のリソースタイプに適用するか、すべてのコンテナ以外のリソースタイプにルールを適用できます。For のドロップダウンメニューに記載されているリソース(例:「RDS DB Instances」)を選択すると 、その文書でレンダリングされたそのクラスのすべてのリソースにルールが適用されます。
2. If – 条件を作成する
「If」条件を作成するには、まずメタデータの2つのカテゴリ( リソースデータ または タグ)から選択します。各カテゴリは、リソースと共にインポートされたさまざまなメタデータフィールドのリストをレンダリングします。カテゴリ選択後に [もし] ドロップダウンメニューで選択したメタデータフィールドが、Lucidscale で条件を確認するフィールドになります。
リソースデータのレンダリング
ステップ1でルールを適用するリソースを選択した後、「 リソースデータ 」を選択し、「 If 」 のドロップダウンメニューをクリックすると 、そのリソースでインポートされたすべてのメタデータフィールドのリストが表示されます。これらのフィールドは、レンダリングされたリソースを選択すると、ワークスペースの右側にあるデータパネルの「設定」タブにも表示されます。
レンダリングタグ
ステップ1でルールを適用するリソースを選択した後、 タグ を選択し、「 If 」 のドロップダウンメニューをクリックすると 、クラウドプロバイダーを通じてそのリソースに定義したタグのリストが表示されます。これらの値は、ワークスペースの右側にあるDataパネルの「Configuration」タブのタグ配列としても表示され、また「Curated Data」タブの「タグ」にも記載されています。
注: 「Tag」値のセット内に存在する値は、クラウドプロバイダーのコンソールで定義されます。
メタデータ フィールドを選択したら、14 個のオプションのリストから条件を選択できます。
その後、ルールで探したい値を指定できます。例を続けると、文書内でレンダリングされたRDS DBインスタンスのうち暗号化されていないデータを識別するルールを作成する場合、ルールのリソースとして「RDS DB Instances」を、ルールが参照するメタデータフィールドとして「StorageEncrypted」を選択します。
「含まれません」といった条件を選び、「true」を値として入力することができます。これにより、文書内の「StorageEncrypted」メタデータフィールドに「true」が表示されていないすべてのRDS DBインスタンスがハイライトされます。
3.次に–フォーマットを選択します
[Then] セクションでは、次の 3 つの書式設定オプションから選択できます。
図形スタイルの適用
書式設定として図形スタイルを選択した場合は、図形の塗りつぶしの色、枠線の色、枠線のスタイル、および罫線の幅のオプションから選択できます。 指定したスタイル設定は、ルールの条件を満たすすべてのリソースに適用されます。
アイコンの追加
書式設定オプションとしてアイコンを選択した場合は、アイコンの「タイプ」(Lucidscale のライブラリのアイコン、カスタムアイコンのアップロード、テキストバッジ)の選択、スタイルの調整、吹き出しテキストの追加(オプション)、「位置」の選択によるリソース上のアイコンの表示場所の指定を行うことができます。
この例では、Lucidscale のアイコンライブラリを使用し、「X」アイコンを選択し、ルールの条件を満たしている場合はリソースの右上隅に表示するように選択しました。
動的な図形を使用する
動的図形を選択した場合は、図形のスタイル、図形を塗りつぶす色、図形の背景の色を選択し、図形の値のパラメーターを指定できます。
たとえば、タスクの完了率を 0 から 100% まで表示する進行状況バーを表示するには、値のソースとしてカスタム数値を選択し、最小値と最大値として 0 と 100 を入力します (以下の例を参照)。
図形データまたは数式を使用して、最小値と最大値を指定することもできます (ただし、これはほとんどのユース ケースではあまり一般的ではありません)。
最後に、[値]セクションで、図形に反映させる値を選択します。 たとえば、値フィールドに数値 70 が含まれている場合、進行状況バーはすべて 70% の完了を示します。 値ソースとして "カスタム番号" を選択する代わりに、一般に、図形データまたは数式を使用してこの番号を指定し、各図形に一意になるようにする方が便利です。
また、誰かがアイコンの上にカーソルを置いたときに表示される吹き出しテキストを追加することもできます。
ルールの詳細オプションにアクセスする
条件付き書式エディターの下部にある [高度なルール オプション] スイッチを切り替えると、ルールの追加のカスタマイズ オプション ("数式"、"OR/And" 条件、[すべてのビューに適用]、および "Else/Else If" 条件) が表示されます。
数式を適用する
Lucid の数式構文を使用して、独自の条件チェックを記述します。 「If」条件に「数式」オプションを選択すると、数式を入力できるフィールドが表示されます。
詳細情報: 条件付き書式ルールでの数式の使用に関する詳細なドキュメントについては、 Lucid 数式のリソースを参照してください。
すべてのビューに適用
[3.Then] で [すべてのビューに適用] を有効にすると、以前に作成したすべてのビューと作成した新しいビューに条件付き書式ルールが適用されます。
"OR" または "And" 条件を追加する
条件を選択し+追加します。「または」条件を加えることで、2つ目の条件を指定でき、それが真なら「If」条件と同じフォーマットをトリガーします。「and」と「Or」条件は、「Advanced Rule Options」が有効の場合の「If」条件と同じフィールドとレイアウトを持ちます。
"And" 条件を使用すると、書式設定を適用する前に "If" 条件と "And" 条件の両方を満たす必要があることを指定できます。
"Else" または "Else If" 条件を追加する
上記で指定した条件を満たさない選択範囲内の図形に書式を適用する場合は、"Else" または "Else If" 条件を追加します。"If" 条件を設定するのと同じ方法で、"Else" 条件と "Else If" 条件を設定できます。
ルールを保存する
ルール エディタの下部にある [保存] をクリックして、ルールを保存します。ルールを保存すると、1.Forで選択したリソースクラスのすべてのレンダリングされた形状に自動的に適用されます 。
条件付き書式ルールを管理する
ルールを作成して保存すると、[条件付き書式] メニューに一覧表示されます。 このリストは、杖アイコンをクリックし、特定のルールを編集していないときに表示されます。 ルールのリストから、ルールの右上にある3つのドットのメニューをクリックしてオプションを選択することで、ルールの名前変更、編集、複製、または削除を行うことができます。 ルール名の横にあるチェックボックスをオフにして、ルールの適用を解除することもできます。
既定では、作成したルールは、作成したビューにのみ適用されます。 ルールは、作成するすべての既存のビューと新しいビューに適用される "グローバル" ルールとして設定することもできます。
条件付き書式ルールの数式の例
AWS
例 1: プライベートサブネットのパブリック IP アドレス
- 今後のクラウド監査がある場合は、プライベートサブネットにパブリック IP アドレスを持つ EC2 インスタンスを強調表示することをお勧めします。
-
1.For でEC2インスタンスを選択した後 、 2.if で以下の式を使って これらのリソースを識別できます。
AND(NOT(コンテナ.MapPublicIpOnLaunch)、@PublicIpAddress) -
カスタムカーソルを合わせるテキストを3で表示することもできます。そうすると、カー ソルを合わせるハイライトされたリソースの正確なIPアドレスが表示されます:
IPアドレス {{=@PublicIpAddress}} はプライベートサブネット内のパブリックです
例 2: 停止した EC2 インスタンス
- アカウントの「停止した」EC2インスタンスを強調表示することができます。
-
1.For で「EC2インスタンス」を選択した後 、 2.if で以下の式を使って
実行していないEC2インスタンスを識別できます:(@'State')名前 = 停止)
例 3: デフォルト VPC
1.For でVPCを選択した後 、 2.if で以下の式を使って デフォルトのVPCを特定できます:
AND(@IsDefault, 包含(@'$Name', 'VPC'))
Azure
例: 暗号化されたストレージ アカウント
- サブスクリプション内のすべての暗号化されたストレージ アカウントを強調表示できます。
1.For
で「ストレージアカウント」を選択した後 、 2.if で以下の式を使って サブスクリプション内の暗号化ストレージアカウントを識別できます: =@"encryption".services.blob.enabled
Google Cloud (旧 GCP)
例: 所有者の BigQuery データセット
- BigQuery データセットの所有者を特定することもできます。
-
1.For で「BigQuery Datasets」を選択した後 、 2.if の次の式を使って 、「userByEmail」メタデータフィールドに所有者に関連付けられた値を持ったBigQuery Datasetを特定できます:
=ISNOTEMPTY(this.access.userByEmail) -
その後、カスタムカーソルを合わせるテキストを3で表示できます 。すると 、「userByEmail」メタデータフィールドに入力された値が表示されます。通常は所有者のメールアドレスです:
=this.access.userByEmail
この記事へのフィードバックをお寄せください
この記事に関するフィードバックはありますか?体験の内容についてこちらから教えてください。