Lucid Data HubでAWSインフラストラクチャデータをインポートおよび管理する

著者:  Shanna S
最終更新日:  

LucidのData HubはAWSからクラウドインフラデータをインポートし、Lucidchart ドキュメントでダイアグラムを生成するために使えます。

この機能は クラウドアクセルのアカウントで利用可能です。 エンタープライズアカウント用のクラウドアクセルを購入するには営業部に連絡してください。

サポートされているAWSリージョン、リソース、ライン

Lucidで利用可能なAWSのサポートリージョン、リソース、線の包括的なリストについては、「 サポートされるAWSリージョン、リソース、線 」記事をご参照ください。

AWSインフラストラクチャをインポートする

次の 4 つの方法のいずれかを使用して、AWS クラウド インフラストラクチャ データをインポートできます。

  • 信頼できるアクセス: 適切なポリシーを持つクロスアカウント IAM ロールを提供します。このロールは、次の権限スコープで設定できます。
    • アカウントレベルのアクセスを介してインポートし、個別のアカウントをインポートします
      組織レベルのアクセスを介してインポートし、1 つの組織単位または組織全体からすべての AWS アカウントをインポートします。
  • シングルユース認証: 適切なポリシーが添付された IAM ユーザーの認証情報を入力します
  • ファイルのアップロード: 設定されたAWS CLIプロファイルでLucidが提供するPythonスクリプトを実行し、データをJSONファイルとしてローカルに収集し、生成されたファイルを提供します。

各方法の詳細と、どの方法が自分のユースケースに最適かを判断するには、次の表を参照してください。

インポートの方法 説明 スコープ リソースサポートの種類*
 
データ更新**
信頼できるアクセス:組織レベル 安全で長期的な再利用のために、組織レベルのクロスアカウント IAM ロールを Lucid に登録します。 単一の認証情報を登録することで、AWS 組織または組織単位内のすべてのアカウントのインポートを一元管理します。

(1)と(2)

 

自動と手動
信頼されたアクセス:アカウントレベル 安全で長期的な再利用のために、アカウント レベルのクロス アカウント IAM ロールを Lucid に登録します。 個々の AWS アカウントごとに認証情報を登録します。 (1)と(2) 自動と手動
使い捨ての許可 IAM ユーザーキーまたは認証情報ファイルを Lucid にアップロードします。

個々の AWS アカウントへの 1 回限りのアクセス。

(1)と(2)

手動

アクセスキーの認証情報を再度入力してデータを更新します。

ファイルアップロード 設定された AWS CLI プロファイルで Lucid が提供する Python スクリプトを実行し、生成された JSON ファイルを Lucid にアップロードします。 JSON ファイルごとに最大 50 アカウント。 (1)のみ

手動

新しく生成された JSON ファイルをアップロードしてデータを更新します。

*リソースタイプ1は、サポートリソースセクションに一覧されているすべてのマッピングされたリソースです。リソースタイプ2はクラウドインベントリで、手動で文書に配置できる、マッピングされていない多様なリソースです。
**データハブを通じて、ユーザーが毎日、週次、月次、毎年の定期スケジュールで自動データソースの更新が可能です。手動の更新もデータハブをワンクリックで行えます。

信頼アクセスインポートでは、Lucidはこれらの認証情報を保存し、データをリフレッシュしたり新しいインポートを行ったりする際に情報を再入力せずに行えます。 このストレージ機能により、Lucidは自動データ更新を行うことができます。 認証情報はAWSのデータハブ認証情報タブから削除できます。Lucidは将来の再利用のためにIAMユーザー認証情報を保存せず、単回使用の承認は手動更新のみに限定しています。

非常に大規模な環境を扱う場合は、インポートするデータ量を減らすか、LucidがAWSに行うAPI呼び出しの数を減らしましょう。Lucid サポートはユーザーあたり最大50の同時アカウントインポートに対応します。 各インポートが終わったら、新しいインポートをスタートできます。

注意: AWS GovCloud のインポートは、Lucid GovSuite クライアントのみで許可されます。Lucid Commercial Environment は、クロスアカウントロールを介して AWS GovCloud にアクセスできません。

信頼アクセス(クロスアカウントロール)

Trusted AccessはクロスアカウントのIAMロールを使用し、クラウドアクセルはアカウントメタデータのインポートやデータソースの作成に対して読み取り専用アクセスを想定できます。 信頼アクセススコープは2種類あります:

このガイドは両方のメソッドについて詳細で実行可能なステップを提供し、複数のコード実装としてのインフラストラクチャー(Terraform、CloudFormation自動化、手動IAM作成)を含みます。

信頼できるアクセス:組織レベル

AWS 組織全体のインフラストラクチャのインポートを一元管理するには、次の手順に従います。

まず、以下の前提条件を確認してください:

  • 選ばれたバスティオンアカウントは、ルシッドで別のインポート用のバスティオンとしてすでに登録されていなければなりません。
  • 組織レベルの登録を開始するためにLucid Data Hubにアクセスできるユーザー。

次に、Lucid Data Hub に移動し、IAM リソースの作成方法を選択します。

  1. Lucid ホームページを開いてください。
  2. 左のナビゲーション下部から 「データハブ 」をクリックしてください。
  3. AWS データのインポートを選択します。
  4. 信頼できるアクセスを選択してください。
  5. 認証範囲内で、AWS組織に接続を選択します
  6. 権限を自動的に設定するためのオプションを選択します。
    1. CloudFormationのテンプレートを使いましょう。
    2. Terraformモジュールを使用してください。

注: Lucid GovSuite環境をご利用の場合は、リソース作成に方法2(Terraform)を使用してください。CloudFormationメソッドは現在、AWSの商用環境でのみ利用可能です。詳細については、下記のFAQセクションをご覧ください。

方法1:CloudFormationを使ったAWS組織権限の自動化設定

Lucidの統合 CloudFormation テンプレートを使って、AWS組織全体で必要なすべてのIAMロールと権限を自動的に単一のデプロイで設定できます。

注: AWSのベストプラクティスに従い、管理アカウントではなく、委任管理者アカウントを踏み台アカウントとして使用することをお勧めします。管理アカウントは、管理アカウント権限が明確に必要なタスク専用に予約すべきです。

要件

  • デプロイメントアカウント:このテンプレートは組織管理アカウントからデプロイする必要があります。
  • バスティオンアカウント(推奨) :管理者権限を持たないメンバーアカウントをバスティオンアカウントとして使用してください。このアカウントは、組織全体のインポートを調整します。
    • 踏み台アカウント(代替手段) :管理アカウントを踏み台として使用することもできますが、これはAWSのベストプラクティスに反するため、組織のポリシーで義務付けられている場合にのみ使用してください。このオプションを選ぶと、CloudFormationのテンプレートが管理アカウント内で直接バスティオンロール作成を処理します。
  • アカウントの適格性:バスティオンアカウントは、過去にLucidでバスティオンアカウントとして使用されたことがないものでなければなりません。

パラメータ

  • BastionAccountId: これは、サードパーティの信頼できるアクセスを管理するために使用する 12 桁の AWS アカウント ID です。Lucid は、この「要塞アカウント」でアカウント間の役割を担い、インポートを調整します。
  • BastionRootOrOrganizationalUnitId: これは、選択した BastionAccountId を含む組織単位 (OU) (例: ou-xxxxxxxxx) またはルート (例: r-xxxx) の ID です。
  • MembersRootOrOrganizationalUnitId: このパラメータは、Lucid がリソースデータをインポートできる AWS 組織内のアカウントの範囲を制御します。
    • 組織内のすべてのアカウントからのインポートを許可するには、組織ルートの ID (例: r-xxxx) を使用します。
    • 特定の組織単位 (OU) 内にネストされたアカウントのインポートのみを許可する場合は、その特定の OU の ID (例: ou-xxxxxxxxx) を使用します。

指示

CloudFormation を使用して権限を自動的に設定するには、次の手順に従います。

  1. AWSより:
    • BastionアカウントIDを特定してください(委任管理者の方法を使う場合は)。
    • 上記にリストされているパラメータに対応する組織単位またはルートIDを特定してください。
    • AWS組織管理アカウントにサインインしてください。
  2. Lucidで「 Launch CloudFormation」 テンプレートをクリックして、AWSコンソールでテンプレートを開きます。
    • テンプレートがあらかじめインストールされたCloudFormationのスタック作成ページに移動します。
  3. UseManagementAccountAsBastion を「false」(推奨)または「true」に設定してください。
    • 委任管理者(UseManagementAccountAsBastion = "false")を使用する場合、以下を提供します:
      • BastionAccountId: 選択したバスティオンアカウントのID。
      • BastionRootOrOrganizationalUnitId: バスティオンアカウントを含むOUまたはルート。
  4. インポート範囲を制御するには、「MembersRootOrOrganizationalUnitId」を設定します。
  5. 組織にリソースポリシーがない場合は、「CreateOrgResourcePolicy」を「true」(デフォルト)に設定してください。
    • 管理アカウントを踏み台として使用する場合は、この値を「false」に設定できます。
    • 組織に既存のリソースポリシーがある場合は、スタックのデプロイ時にエラーが発生しないように、この値を「false」に設定してください。代わりに、既存の組織リソースポリシーの「Statement」配列に、以下の「Statement」オブジェクトを手動で追加してください(これは既存のポリシーに追加されるものであり、置き換えるものではありません)。指定された箇所には、必ずご自身の実際の要塞アカウントIDを入力してください。

      ヤージュ
      「シド」:「声明」
      「効果」:「許可」
      「プリンシパル」: {
         "AWS": [
           "arn:aws:iam::<YOUR_BASTION_ACCOUNT_ID>:root"
         ]
       } 、
      "アクション": [
      「組織:アカウント一覧」
      「組織:親アカウント一覧」
      「組織:ListChildren」
      「組織:ListParents」
      「組織:ListRoots」
      「組織:ポリシーの説明」
      「組織:組織単位の説明」
      「組織:組織の説明」
      「組織:アカウントの説明」
      「組織:親の組織単位のリスト」
      ],
      "リソース": "*"
      }
  6. 必要に応じて、BastionRoleNameとMemberRoleNameをカスタマイズしてください。
  7. 「スタックの作成」をクリックし、デプロイが完了するまでお待ちください。
    • テンプレートは自動的に以下を行います:
      • 選択したバスティオンアカウントでバスティオンロールを作成します。
      • StackSetsをデプロイして、対象アカウント全体にメンバーロールを作成します。
      • 組織リソースポリシーを設定して、選択した踏み台アカウントに読み取りアクセスを委任します(CreateOrgResourcePolicyが「true」に設定されている場合)。
      • 組織に今後追加されるアカウントに対して、自動展開を有効にします。
  8. バスティオンアカウントのAWS IAMコンソールで、「ロール」に移動します。
  9. バスティオンロールを探します(デフォルト名:`lucid-import-bastion-role`、またはカスタム名)。
  10. ロールのARNをコピーします。
  11. Lucid Data Hubのタブに戻り、「Cross-accountロールをLucidに追加する」セクションまでスクロールしてください。
    • 「バスティオンロールARN」フィールドに、バスティオンロールARNを貼り付けてください。
    • カスタムのMemberRoleNameを使用した場合は、「メンバーアカウントの役割名」フィールドをそれに合わせて更新してください。
    • 必要に応じて、この接続を識別するために認証情報の表示名を更新してください。
  12. 「次へ」をクリックして、クロスアカウントロールを Lucid に登録します。
  13. ロールを選択し、 「次へ」をクリックします。
  14. アカウントのインポートと文書作成の手順を進めてください。

注: この CloudFormation テンプレートはサービス管理権限を持つスタックセットを使用するよう設定されています。 現在、セルフマネージド権限を持つスタックセットを用いたCloudFormationの設定はサポートしていません。

方法2:Terraformを使用してAWS Organizationの権限設定を自動化する

AWSのベストプラクティスに従い、委任管理者アカウントを踏み台アカウントとして使用することをお勧めします。org-read-delegationサブモジュール(下記参照)は、引き続き管理アカウントからデプロイする必要があります。

部分加群

  • 組織-読み取り-委任サブモジュール: 管理者権限を委任したbastionアカウントを設定し、AWS組織の構造をスキャンします。(その後、ルシッドはこのバスティオンのアカウントでインポートを行う役割を担います。)
    • これは管理アカウントにデプロイする必要があります。
    • AWS Organizationsでは、リソースベースの委任ポリシーは1つしか設定できません。組織内に既にそのようなポリシーが存在する場合、展開は失敗します。このサブモジュールを追加する代わりに、モジュールから必要なアクションとプリンシパルを既存のポリシーに手動で追加してください。既存のポリシーを置き換えないでください。
  • バスティオンロールサブモジュール: ルシッドが引き継ぐバスティオンアカウント内の主要なIAMロールを作成します。
    • Lucid アカウントの AWS インポート設定ページからコピーした一意の「外部 ID」値を使用して、external_id パラメータを設定します。
  • import-roleサブモジュール:リソースデータを読み取るためにメンバーアカウントに展開するIAMロールを作成します。
    • モジュールはメンバーアカウント内に役割を作成し、その役割はバスティオンアカウントが引き継げますが、モジュールはそのプロセスをメンバーアカウントに自動化することはできません。このモジュールは、データをインポートしたいすべてのメンバーアカウントに展開する必要があります。将来的に新しいアカウントを追加したい場合も含めて。組織の標準的な慣行に従い、このモジュールのコードを新たに追加されたアカウントに適用してください。

指示

まず、LucidのTerraformモジュールをデプロイするアカウントにTerraformが設定されていることを確認してください。

詳細:手順については、Terraform のドキュメントにある「Get Start - AWS」ガイドを参照してください。 提供されたリンクをクリックすると Lucid ヘルプ センター外に移動するため、コンテンツの正確性は保証されません。

次に、次の手順に従って、Lucid の Terraform モジュールを構成してデプロイします。

  • Terraformレジストリの「ビュー 」をクリックして権限を設定するためにLucidのTerraformモジュールにアクセスするか、 このリンクから 直接モジュールにアクセスでき ます。
  • モジュール レジストリ ページで、サブモジュールをクリックします。main.tf のドロップダウンから、必要な 3 つのサブモジュール (org-read-delegation、bastion-role、import-role) をそれぞれ構成します。
  • 各サブモジュールの Readme ページの「使用方法」の指示に従って、モジュールを Terraform 構成コードに追加します。
  • Terraform コードをデプロイし、Lucid のモジュールから含まれるリソースが作成されるのを待ちます。
  • 要塞アカウントの AWS IAM コンソールから、作成された lucid-import-bastion-role (またはそのカスタム名) の ARN をコピーします。または、Terraform 構成からこの ARN を出力します。

最後に、新しいIAMロールをLucidに追加してください。

  1. Lucid Data Hubのタブに戻り、「Cross-accountロールをLucidに追加する」セクションまでスクロールしてください。
    1. 「Bastion ロール ARN」フィールドに、Bastion アカウント ロール ARN を入力します。
    2. Terraformモジュールの設定時にカスタムのMemberRoleNameを使用した場合は、「メンバーアカウントロール名」フィールドをその値に更新してください。
    3. (オプション)インポートの調整に使用される踏み台ロールを表すように、「認証情報の表示名」の事前入力値を更新します。この表示名はLucidのデータハブで使用され、今後の利用や管理のために認証情報を識別できるようになります。
  2. 次」 をクリックしてLucidのクロスアカウントロールを登録してください。
  3. ロールを選択し、 「次へ」をクリックします。
  4. アカウントのインポートと文書作成の手順を進めてください。

信頼されたアクセス:アカウントレベル

個人アカウントのAWSインフラをクロスアカウントIAMロールでインポートするには、以下の手順をフォローしてください。

ステップ1:新しいクロスアカウントを作成する

選択したアカウントの新しいクロスアカウントIAMロール(インポート認証情報)を登録するには、以下からスタートしてください:

  1. Lucid ホームページに移動します。
  2. ページ左側のナビゲーションメニュー下部から 「データハブ 」をクリックしてください。
  3. AWS データのインポートを選択します。
  4. 「信頼できるアクセス」を選択します。
  5. 認証範囲内で 「個人AWSアカウントに接続する」を選択してください。
  6. 新しい資格を登録する際に希望する方法を選びましょう(例:AWS IAMの役割)
    • Terraformモジュールを使用する
    • CloudFormationテンプレートを使用する
    • 手動で作成

ここでは、新しいクロスアカウントロール認証情報を作成する方法を選びます:Terraformモジュールで自動的に作成( Terraformを選択し)、CloudFormationスタックで自動的に作成( CloudFormationを選択し)、またはIAMロールとポリシーを手動で作成(手動 作成を選択してください)。選択した方法のステップ1を完了し、その後ステップ2を完了してクロスアカウントロールをLucidに追加してください。

方法1:Terraformを使った自動個人AWSアカウントロール作成

まず、Terraform環境がAWSアカウント内で十分な権限を持つAWS認証情報で設定されているか確認してください。Lucidのインポートロールを展開する予定のアカウントで、IAMロールを作成・管理できます。詳細はTerraformの 「スタート - AWS 」ドキュメントを参照してください。

次に、Lucidの設定プロセスのステップ1を進めて、LucidのTerraformモジュールの設定と展開を行います。

  1. Lucid内でアカウントレベルインポートのTerraformオプションを選択した後、 Terraform Registryのビュー をクリックしてAWS権限を設定するモジュールにアクセスするか、 こちらの Terraform Registry内の インポートロール モジュールに直接アクセスできます。
  2. import-roleモジュールのReadmeページで、「Usage」の「Non-Org レベル Imports」セクションを見つけてフォローし、モジュールをTerraformの設定コードに追加してください
    1. この部分加群はexternal_id値を必要とします。LucidのStep 1セットアップで提供された外部IDの横にある 「コピー 」をクリックして、この外部IDの値を取得できます。
  3. Terraform コードをデプロイし、Lucid のモジュールから含まれるリソースが作成されるのを待ちます。
  4. ロールを展開したAWSアカウントのAWS IAMコンソールにアクセスし、 lucid-import-account-role (またはカスタム role_name)を見つけて、SummaryページからそのARNをコピーしてください。あるいは、Terraformの設定からこのARNを出力する方法もあります。

方法2: CloudFormation を活用して自動個人AWSアカウントロール作成を行う

CloudFormationで自動的に新しい役割を作成するには、以下の手順をフォローしてください:

  1. インポートしたいアカウントでAWSコンソールにログインしてください
  2. Lucidで 「CloudFormationを起動 」をクリックして新しいブラウザタブを開きます。後で戻れるように、Lucidブラウザのタブを開いたままにしておきましょう。
  3. AWSコンソールで 「スタック作成」をクリックします。
  4. スタックが作成されたら、AWSコンソール内のリソースタブに移動し、「LucidImportRole」(またはカスタムの CrossAccountRole名)を選択します。ロールのARNをコピーします。
  5. データハブでクロスアカウントロールを登録する手順に飛ばしてください。

方法3:AWS IAMコンソールを使った個人のAWSアカウントロール作成の手動

AWS IAM Consoleで手動で新しい役割を作成するには、以下のステップをフォローしてください:

  1. 「ステップ1:スタート creating a role」で「 Create role」を選択してください。
  1. AWS アカウントに移動します。 Lucidブラウザのタブを開いたままにして、後で戻ることができるようにします。
  2. Lucidは、お客様のLucidアカウントに関連付けられた固有の外部IDを自動生成します。これはAWSのセキュリティ推奨事項に沿ったものです。
  3. ReadOnlyAccessポリシーを追加:
  4. AWSでは「 次へ 」をクリックして許可ステップに移動します。
  5. 「アクセス許可の追加」ページで、「 ReadOnlyAccess」ポリシーを検索して選択します。この設定はLucidではデフォルトで有効にされており、作成した Lucidchart ドキュメントにすべてのリソースが正しく表示されるために必要です。
  6. カスタム権限の追加:
    1. Lucidのタブに戻って「3.「custom permissions」を選び、JSON テキストファイルをコピーするには 「権限をコピー 」をクリックしてください。
    2. 新しいタブやウィンドウを開き、AWS IAMコンソールにアクセスし、左側のナビゲーションペインに行き「 ポリシー」を選択してください。
    3. ポリシーページから「 ポリシー作成」をクリックします。
    4. 「ポリシーを作成」ページで、JSON タブに切り替え、コピーしたファイルをAWSコンソールのJSON タブに貼り付けます。
    5. 次へ: タグ」をクリックします。
    6. 必要に応じてポリシーにタグを追加し、[ 次へ: 確認] をクリックします。
    7. ポリシーに名前と説明を付けます。
    8. [ ポリシーの作成] をクリックします。
  7. 役割にカスタムポリシーを付与する:
    1. 新しいクロスアカウントロールを作成していた前の [AWS] タブで、[更新] ボタンをクリックし、作成したポリシーの名前を検索します。
    2. 保険契約を選択し、 次へをクリックしてください。
    3. 役割に名前と説明を与えましょう。もしよければ、役割にタグを追加してもいいですよ。
    4. 「役割作成」をクリックします。

ステップ2:Lucidにクロスアカウントロールを追加

選択した方法(Terraform、CloudFormation、または手動作成)でRole ARNを取得したら、LucidのAWSインポート設定に戻り、ステップ2を完了します。

  1. コピーしたRole ARNをLucidのAWSインポートセットアップの「Role ARN」フィールドに貼り付けます。
    • 必要に応じて、「認証情報の表示名」に事前に入力されている値を更新してください。この表示名は、「データ ハブ > AWS > 認証情報」セクションで使用され、今後の使用や管理のために認証情報を特定するのに役立ちます。また、選択した AWS アカウントのインポートを調整するために使用されるクロスアカウント ロールを表します。
  2. へをクリックして Lucidでクロスアカウントロールを登録し、認証情報ロールを選択してフォローし、再度 「次へ 」をクリックしてください。
  3. データインポートと文書作成のためにAWSアカウントを選択してください。

使い捨ての許可

ワンス認証は、短命のIAM ユーザーアクセスキー(アクセスキーID + シークレット)を使ってAWSアカウントをインポートします。 Lucidはスキャン完了後にこれらの認証情報を保存しません。次の更新のために、認証情報を再度入力する必要があります。このフローは一度きりのインポートやクロスアカウントロールの展開ができない場合に使ってください。

前提条件

  • IAMポリシー、ユーザー、アクセスキーを作成する権限を持つAWSアカウントです。
  • クラウドアクセルへのアクセス権とデータハブへのインポート権限を持つLucidユーザーです。
  • データハブからLucidが提供するカスタムポリシーJSONへのアクセス。

一時的なSTS認証情報(任意)
AWSの一時認証情報には、AccessKeyId、SecretAccessKey、SessionTokenの3つのフィールドが含まれます。Lucidは、セッショントークンとアクセスキー、シークレットを提供すれば、これらの一時的な資格情報を単回目的のインポートに受け入れます。AWSのSTS、Assume-role、またはSSOフローを使って一時的な認証情報を生成できます。

役割を引き継ぐ(STS)

    AWS STS assume-role --role-arn
    arn:aws:iam::123456789012:role/YourRole --role-session-name
    明晰セッション
    

SSO(インタラクティブ)

      AWS はSSOを構成します
      ### フォロープロンプト:SSO スタート URL、地域、そして役割とアカウントを選択します
    

注:一時的な認証情報を使用する単回使用のインポートでは、以降の更新時に新しい認証情報を再入力する必要があります。

AWS IAM ユーザーの作成と登録(ステップバイステップ)

ステップ1:Lucidでのスタート

  1. Lucid ホームページを開いてください。
  2. 左下のナビゲーションで 「データハブ 」をクリックしてください。
  3. AWS データのインポートを選択します。
  4. 「使い捨て承認」を選択してください。

ステップ2:AWSでカスタムポリシーを作成する

  1. Lucid Data Hubの登録フローで、ステップ1で提供されたカスタムJSONポリシーをダウンロードまたはコピーします。
  2. AWSコンソールで、 IAMポリシーポリシーを作成してください。
  3. JSONタブに切り替え、Lucidが提供するポリシーJSONを貼り付けます。
  4. (任意)必要な権限範囲を理解していれば、ポリシーをカスタマイズしてください。
  5. 「次へ」をクリックし、ポリシーに意味のある名前(例:「lucid_custom_iam_user_policy」)を付け、説明とタグを追加してからポリシーを作成します

ステップ3:IAMユーザーを作成し、権限を付与する

  1. IAMユーザーで「Create ユーザー」をクリックします。
  2. ユーザー名を入力し、 プログラムアクセスを有効にしてください。
  3. 権限のステップで「ポリシーの付け付け」を直接選択してください。
  4. より広範な読み取りアクセスが許容される場合は、 ReadOnlyAccess (AWS管理)を添付してください。
  5. また、ステップ2で作成したカスタムポリシーも添付してください。
  6. ユーザー作成を完了し、そのユーザーの セキュリティ認証 情報タブに移動します。

ステップ4:アクセスキーの作成

  1. セキュリティ認証情報タブのアクセスキーの下、「アクセスキーを作成」をクリックします。
  2. ユースケースでは、求められたら サードパーティサービス を選択します。
  3. アクセスキーIDとシークレットアクセスキーをコピーするか、CSVをダウンロードしてください。秘密はどんな機密情報と同じように扱いましょう。

ステップ5:Lucidで認証情報を登録し、インポートする

  1. Lucid Data Hubに戻り、 CSVをアップロード するか、手動で 認証情報を入力 するかを選びます。
    • (任意)一時的なSTS認証情報を使用している場合は、セッショントークンとアクセスキーID、シークレットアクセスキーを添えて提供してください。
  2. [次へ] をクリックします。
  3. インポートしたいリージョンとリソースタイプを設定します。インポートの面を絞るために、重いリソースタイプやサポートされていないリソースタイプを選択し外してください。
  4. アカウントインポートの名前を入力し、「 完了」をクリックします。

注: Lucidは初期スキャン後、IAMユーザー認証情報を保存しません。

ファイルアップロード

AWSインフラストラクチャをJSONファイルのアップロードでインポートするには、以下のステップをフォローしてください:

  1. Lucid ホームページから、左側のナビゲーションメニューの 「Data hub 」をクリックしてください。
  2. 右上から 「AWSデータのインポート 」を選択してください。
  3. ファイルアップロードを選択します。
  4. Lucid Data Hub タブからLucidが提供するプロファイル権限をダウンロードまたはコピーしてください。
  5. これらの権限を含む名前付きプロファイルでAWS CLIを設定しましょう。
  6. Lucid Data HubタブでPythonスクリプトをダウンロードまたはコピーしてください。
  7. AWS CLIでPythonスクリプトを実行してください。aws.jsonファイルが生成されます。
  8. Lucid Data Hubタブで「 ファイル選択 」を選択し、aws.jsonファイルをアップロードします。
    • 一度にインポートできるアカウントは最大50件です。アップロードしたファイルに50件を超えるアカウントがある場合は、ファイルを複数の JSON ファイルに分割してインポートしてください。
  9. [次へ] をクリックします。
  10. インポートしたいアカウントごとに別名を用意してください。
  11. AWSアカウントをインポート」を選択します。

AWSファイルアップロードスクリプトの説明
Lucidが提供するインポートスクリプト、 awscliscript.py、CLI内で名前付きプロファイルの設定が必要です。名前付きプロファイルとは、AWS CLIコマンドに適用できる設定と認証情報の集合体です。AWSプロファイルの作成に関する詳細な手順については、 AWS CLI内の設定および認証ファイル設定に関するAWSのドキュメントを参照してください。

AWS Configureを実行すると、入力された認証情報がデフォルトというプロファイルに保存されます。複数のアカウントがある場合は、それぞれに名前付きプロフィールを作成することをお勧めします。例えば、preprodとproductionの2つのアカウントがあり、それぞれの認証情報を別々のプロファイルとして保存している場合、 awsのec2 describe-instances--profile preprodでpreproductionでec2インスタンスを簡単に記述できます。その後、本番環境でインスタンスを記述するために、profileの引数を aws ec2 describe-instances -- profile prodに変更できます。

要件

  • Python:バージョン3.0〜3.9。インストール時に「Add Python to パス」を選択していることを確認してください。
  • AWS CLI:インストール済みで設定済み。
  • 「ボトコア」:バージョン1.27.77。pip3 install botocore==1.27.77を使ってインストールします。

パラメータ

  • -p, --プロファイル[必須]
    • 使用するAWSプロファイルの名前を指定します。このオプションは複数のプロファイルからインポートするために繰り返し行うことができます。
  • -r, --領域 [必須]
    • リソースをインポートする1つ以上のAWSリージョンを指定します。このオプションは前の--プロファイルオプションに対応しなければなりません。
  • -c、--カウント
    • リソースの数を記載したJSONファイルを出力します。このフラグを使用すると、生成されるJSONファイルはLucidへのインポートに適しません。
  • -a、--匿名
    • 出力データをすべての文字列をハッシュ化して匿名化します。
  • -o, --出力
    • 生成される出力JSONのファイル名を指定します。


Python3 awscliscript.py --profile preprod --regions us-east-1 us-west-1

上記のコマンドはスクリプトを実行し、us-east-1およびus-west-1領域に存在するプレプロッドプロファイル内のリソースデータを生成します。

注: LucidのインテグレーションはAWSと共にbotocoreバージョン1.27.77をベースに開発されました。 ただし、既に別のバージョンがインストールされている場合でも、インポートは正常に動作するはずです。そうでない場合は、異なるプロジェクトごとに個別のパッケージインストールを管理できるPython仮想環境でスクリプトを実行することを検討してください。スクリプトを実行した後、仮想環境を削除できます。Python仮想環境の作成手順は、この Python ユーザーガイドでご覧いただけます。

データハブを使用して、AWSインフラストラクチャのデータと認証情報を管理します。

アカウントをインポートして文書を作成する

AWSアカウントをインポートしてLucid 文書を作成するには、以下の手順をフォローしてください:

  1. データハブにインポートするアカウントを選択してください。
  2. [次へ] をクリックします。
  3. このセクションの最後に記載されている「クロスアカウントロールを使ったアカウント設定」の指示を使い、インポートしたい地域を指定できます。
  4. 「AWS アカウントのインポート」をクリックします。

インポートが完了した後に AWS アカウントを視覚化するには:

  1. データハブに戻る。
  2. 新しい文書を作成」を選択します。
  3. インポートしたアカウントを選択し、 「アカウントの選択」をクリックします。
  4. 詳細を確認し、不要なリソースを除外するためのフィルターを追加してください。
  5. AWS 文書を作成」を選択します。

LucidchartのドキュメントはLucidアカウントのバックグラウンドで生成されます。作成が完了すると、ページ右下に表示されるステータスモーダルを通じて通知いたします。

新しい文書を作成する直後に表示されるステータスモーダルから文書を開くことができます。 文書(および以前に作成した文書)も、作成後はLucid ホームページの「文書」セクションに保存・アクセスされます。

インポートしたアカウントにアクセスする

AWSアカウントをインポートすると、 データハブの「AWS: インポート済みアカウント」セクション に、指定したアカウント名でデータソースとして表示されます 。このセクションから 「+ 新しいアカウント」 をクリックして 、新しいアカウントをデータハブにインポートすること もできます

このセクションに記載されているアカウントは、新しいLucidchartドキュメントを作成するために使用できるデータソースです。データソース(「アカウント」)は、Lucidchartドキュメント作成に使用されるAWSアカウントのメタデータを含みます。「最終更新日時」フィールドには、接続されているAWSアカウントの更新を反映するために、データソースが最後に更新された日時が表示されます。

同じAWSアカウントを複数回インポートできます。インポートを行うたびに、そのアカウントの以前にインポートされたバージョンと並行して存在する、独立したデータソースが作成されます。同じアカウントを再インポートする前に既存のデータソースを削除する必要はなく、両者はデータハブ内で共存し、独立してドキュメントを作成できます。

aws_data_hub_overview_showing_all_account_options.png

リストからアカウントを選択すると、各アカウントのクラウドインベントリが右側に表示されます。このインベントリは、 文書を作成する前にインポートされた各リソースの完全なカウントを確認できます。 また、データハブから「CSVをダウンロード」をクリックすると、リソースのリストと件数を含むCSVファイルを直接ダウンロードすることもできます。

インベントリには、クロスアカウントロールに添付された権限ポリシーによってアクセスできるすべてのリソースがリストされます。 CloudFormation スタック テンプレートで「新しいロールを自動的に作成する」ことを選択した場合、AWS のReadOnlyAccess ポリシーによってアクセス可能なアカウント内のすべてのリソースがインベントリに表示されます。 カスタム ポリシーを使用して手動でロールを作成すると、添付されたアクセス許可ポリシーで指定されたリソース タイプのみがインベントリに表示されます。

アカウントに表示される 3 点メニュー をクリックすると 、6つの 選択肢が表示されます: 新しい文書作成、AWSからのアカウント更新、更新のスケジュール、編集リソース、アカウントの名前変更、 アカウント削除

Create New 文書は、アカウントに関連付けられたAWSインフラを新しい文書のワークスペース内のダイアグラムとしてレンダリングするスタートをします。文書はLucid ホームページのバックグラウンドで生成され、ページ右下に表示されるステータスモーダルを通じて表示され次第通知いたします。

AWSからアカウントを更新 し、スケジュール更新 をすることで、データハブにインポートしたAWSアカウントデータを手動または自動的に更新し、接続されたAWSアカウントの変更を反映できます。アップデート後にアカウントから作成された新しいドキュメントは、接続されたAWSアカウントの変更を反映します。

詳細はこちら:インポートされたクラウドデータソースでは、スケジュールされた更新が自動的に有効になります。これはデータハブからいつでも調整できます。AWS からアカウントを更新する方法の詳細については、 Lucid でクラウドデータを更新および同期する方法に関する記事を参照してください。

編集リソース は、各データセットに含まれるリソースを編集できます。 このオプションを選択して、既存のデータセットからリソースを追加または削除できるモダルを開いてください。選択が終わったら、「 アカウントを保存して更新」をクリックします。これにより、データセットの更新や参照する文書が最新の情報に更新されます。

how_to_edit_aws_dataset_resources_in_lucidscale.png

[アカウント名の変更 ] では、選択したデータセットの名前を変更できます。

アカウントを削除すると 、インポートしたアカウントがLucid Data Hubから削除され、そのアカウントから作成された文書はAWSからデータを更新する機能を失います。アカウントを削除しても再インポートは必須ではなく、 +新設アカウントからいつでも同じアカウントの新規インポートを開始できます。

注: 上記のオプションは、アカウントで使用したインポート方法によって異なります。 更新 オプションは、AWS クロスアカウントロールのインポートでのみ使用できます。IAM および CLI インポートでは、このオプションはサポートされていません。 

保存された資格情報の共有と削除

「データハブ > AWS」の「 保存済み認証情報 」 セクション には 、AWSアカウントをデータハブにインポートするために使用できるクロスアカウントロールが表示されます。このセクションから、[+ 新しいクロスアカウントロール] をクリックして 、AWSアカウントのインポートに使用できる新しい認証情報セットを追加します。

作成したクロスアカウントロールを他のユーザーと共有することもできます。アカウントにレンダリングされた3つのドットのメニューをクリックすると、 資格情報の共有資格情報の削除の2つの潜在的なオプションが表示されます

example_of_aws_saved_credentials_page_in_the_lucidscale_data_hub.png

共有 credential は、メールアドレスを指定することで、Lucidアカウント内の他のユーザーとクロスアカウントロールを共有できるモーダルを開きます。認証情報へのアクセスを許可すると、関連するAWSアカウントをデータハブにインポート Lucidchartし、 ドキュメントを作成できます。認証情報が他のユーザーと共有された後、 同じモーダルでそのユーザーのメールアドレスの横にある X ボタンをクリックすることで、そのユーザーへのアクセスを取り消すことができます。

認証情報を削除すると、データハブからクロスアカウントロールが削除されます。認証情報を削除すると、その認証情報で以前にインポートされたすべてのアカウントと、それらのアカウントから作成されたドキュメントAWSからデータを更新する機能を失います。 

詳しくはこちら:クラウドアクセルアカウントを持つライセンスを持つLucidユーザーのみがサブスクリプションを取り込み、クラウドドキュメントを作成できます。詳細については、当社の「資格情報とデータソースの管理記事をご覧ください。

セキュリティに関する情報

クロスアカウントロール

AWSでは、サードパーティにアカウントへのアクセス権を付与する際に、クロスアカウントロールを推奨しています。この方法により、Lucidはダイアグラムを簡単に更新できる認証情報を安全に保存できます。 詳細については、以下の資料をご覧ください。

強制外部 ID

AWS が提供するセキュリティのベストプラクティスに従って、Lucid は外部 ID が Lucid のデータベース内で一意であることを強制します。 したがって、Lucid はユーザーに一意の外部 ID を提供し、ユーザーが独自の外部 ID を入力することを禁止します。

IAM ユーザーのセキュアで制限されたアクセス

作成する IAM ユーザーに対して、制限付きの「説明」レベルのアクセス許可をリクエストします。 これらのアクセス許可で作成された IAM ユーザーは、AWS インフラストラクチャの設定を変更したり、データベースのデータを読み取ったりすることはできません。 IAM ユーザーは、AWS インフラストラクチャの構造メタデータを読み取るためにのみ使用されます。

代替手段としての CLI スクリプト

AWSインフラスキャン中の操作をレビュー・管理したい場合は、IAMユーザーを作成する代わりに、提供されているPythonスクリプトをダウンロードして使用できます。この場合、IAMの認証情報はLucidに渡されることはなく、環境で動作するコードとメタデータの両方を確認してから、メタデータをLucidにアップロードできます。インポートされたJSONはLucid Data Hubでアクセス可能で、文書作成に利用できます Lucidchart

文書の安全な保管(文書)

LucidはAWSでインポートされたメタデータや生成されたドキュメントを、機密データの業界標準保護で保存しています。インポートされたAWSデータはLucidchartドキュメントの一部として埋め込まれているため 、Lucidの標準的な共有権限を使ってデータへのアクセスを管理できます。文書の保護方法についての詳細は、コンテンツセキュリティページをご参照いただくか営業チームまでお問い合わせください

アクセスキーを保管しない

Lucidは、お客様のAWSインフラストラクチャの初期スキャンを実行した後、お客様のAWS IAM認証情報を保存しません。認証情報は、標準的な暗号化方式を使用して当社のサーバーに転送されます。クライアントは、最大AES-256までの暗号化プロトコルをネゴシエートできます。当社は、お客様の環境への「記述と一覧表示」アクセスのみを許可するクロスアカウントロールを保存できます。

よくある質問 (FAQ)

Lucidはどのようにして当社のAWS環境にアクセスするのですか?Lucidはどのレベルのアクセス権を持っているのでしょうか?

LucidとAWSが推奨する方法は、クロスアカウントロールを使用することです。弊社では、お客様の環境への「記述と一覧表示」アクセス権限を付与するポリシーを提供しており、これによりリソースのインベントリを取得できます。Lucidに保存されている認証情報は、お客様のLucidアカウントのみがアクセスできます。このインポート方法により、アカウントのデータを1つの操作で更新できます。弊社が提供するアクセス許可ポリシーにより、クロスアカウントロールがAWSに要求できるデータを正確に指定できます。

IAM ユーザーメソッドを使用する場合、認証情報はまったく保存されず、一度使用されて破棄されます。 通常、ユーザーはこのインポート方法をAWSの一時的な認証情報と一緒に使用しますが、この方法では追加のデータ更新はできません。

また、Command 線インターフェース(CLI)を通じて実行できるpythonスクリプトを使ったメソッドもあり、これによりJSONファイルが生成されます。JSONファイルを生成した後、ユーザーは内容を確認し、インポート前に必要に応じてデータを削除できます。ユーザーはこのJSONファイルをLucidにアップロードし、認証情報はLucidに入力しなくても済みます。

Lucid CommercialとLucid Suite for Govは、クロスアカウントロールを通じてインポートする際にどのように連携しますか?

製品の機能はそれぞれ同じですが、AWS ではこれら 2 つの環境に対して異なる方法でセキュリティを設定します。 AWS IAM ロールとリソースベースのポリシーは、1 つのパーティション内のアカウント間でのみアクセスを委任します。 Lucid GovSuite は別の AWS パーティションにあるため、GovCloud 以外の AWS アカウントからクロスアカウントロールを介して AWS データをインポートすることはできません。 推奨されるインポート方法であるクロスアカウントロールでは、同じタイプのアカウントへのアクセスのみが許可されるため、Lucid 商用環境の場合はクロスアカウントロールを介して商用 AWS クラウドアカウントにアクセスしてインポートでき、Lucid GovSuite 環境を使用している場合はクロスアカウントロールを介して AWS GovCloud アカウントにアクセスしてインポートできます。

私たちは、IAMユーザーやCLIスクリプトから作成したJSONを使って、商用AWSアカウントを Lucid Suite for Govにインポートする機能をサポートしています。

LucidはどのようなAPIにアクセスしますか?

主に説明とリストAPIエンドポイントを使用します。

インポートするメタデータ ([データ] パネルに表示されるフィールドと値) を選択できますか? そうでない場合、どのメタデータがインポートされますか?

いいえ、現在、インポートするメタデータを選択することはできません。ただし、将来的にはそれを行うための機能を作成しようとしています。記述 API 呼び出しからのすべてのメタデータがインポートされます。

この記事へのフィードバックをお寄せください

この記事に関するフィードバックはありますか?体験の内容についてこちらから教えてください。

お探しの内容は見つかりましたか?

他に質問がある場合や、学んだことを共有したい場合は、当社の コミュニティ   でサポートを得て、他のユーザーと協力しましょう。