yamory の使い方

yamory へようこそ! yamory の基礎知識と使い方をご紹介します。

CloudFormation で AWS アカウントを追加する

yamory のクラウドで AWS アカウントをスキャンするために、CloudFormation で AWS アカウントを yamory に追加する方法を説明します。

はじめに

yamory と AWS アカウントを追加するためには、AWS の IAM Role ベースの連携を行います。
yamory と連携するための IAM Role を作成し、Role に対して必要な権限を付与します。
この IAM Role の ARN を yamory に登録していただくことでスキャンが行えるようになります。

また、必要な権限を以下のページにまとめております。

AWS のポリシーについて

CloudFormation を利用した AWS アカウント連携手順

以下の手順で、CloudFormation を利用して AWS アカウントを追加できます。

  1. アカウント追加ウィザードの開始
  2. CloudFormation のスタックの発行と登録
  3. IAM Role ARN の登録

1. アカウント追加ウィザードの開始

「クラウド」カテゴリの「アカウント」画面から「新しいアカウントを追加」ボタンをクリックします。

<クラウドスキャン用アカウント画面>

「アカウント毎に CloudFormation で連携」を選択します。

連携方法選択 CloudFormation 画面

2. CloudFormation のスタックの発行と登録

CloudFormation のスタックの作成画面が表示されます。
ここで、クラウドでのスキャンに必要な IAM Role の信頼ポリシーを作成する CloudFormation 用のスタックテンプレートが表示されます。

CloudFormation テンプレートの作成画面

また、「外部 ID 再生成」ボタンで、アカウント毎に外部 ID を再生成できます。

外部 ID とは、権限を与える際に一意の識別子を提供し、混乱する代理問題 を回避するために役立てることができます。

スタックテンプレートの利用には、

の2つの方法があります。

テンプレートを yamory でダウンロードして AWS でテンプレートファイルとして利用する方法

モーダル内のダウンロードボタンをクリックし、テンプレートを YAML ファイルとして保存します。
(YAML ファイルはクラウドでのスキャンに必要な IAM Role の信頼ポリシーを作成するために使用します)

CloudFormation テンプレートのダウンロード

次に、クラウドでスキャンしたい AWS アカウントにログインし、CloudFormation の管理コンソールを開きます。
管理コンソールの左側のメニューから「スタック」をクリックしてスタック一覧画面を開き、スタックの一覧が表示されている状態で、右上の「スタックの作成」ボタンをクリックします。

<CloudFormation管理画面>

ボタンメニューから「新しいリソースを使用(標準)」を選択してください。
登録時にアップロードしたテンプレートファイルは S3 に保存されます。

<CloudFormationスタック作成画面>

任意のスタック名を入力してください。

CloudFormation のスタック命名画面

「スタックオプションの設定」での個別の設定は必要ありません。
「次へ」ボタンを押してください。

入力された内容を確認し、以下のチェックボックスにチェックをして「送信」ボタンを押してください。

<CloudFormation Stack 送信画面>

スタックの一覧画面に、登録後のスタック名が表示されます。

CloudFormation のスタック送信画面

詳細画面から「リソース」タブを選択し、作成された AWS IAM Role をクリックしてください。

CloudFormation 詳細画面

表示された IAM Role ARN をコピーしてください。

IAM Role Policy 画面

クイック作成リンクから直接 AWS でスタックを作成する方法

モーダル内の「CloudFormation を作成する」リンクから直接 CloudFormation のスタック作成画面に遷移できます。

CloudFormation クイック作成リンク

任意のスタック名を入力してください。

<CloudFormation クイック作成画面>

「アクセス許可」での個別の設定は必要ありません。
入力された内容を確認し、以下のチェックボックスにチェックをして「スタックの作成」ボタンを押してください。

<CloudFormation Stack 送信画面>

スタックの一覧画面に、登録後のスタック名が表示されます。

CloudFormation のスタック送信画面

詳細画面から「出力」タブを選択し、キー「YamoryConnectRoleArn」の値をコピーしてください。

<CloudFormation Stack 出力画面>

3. IAM Role ARN の登録

yamory 側の画面へ戻り、コピーした ARN を貼り付けてから「アカウントを追加」ボタンをクリックします。

アカウント連携画面

以上で AWS アカウントの CloudFormation を利用した追加作業は完了になります。

クラウドアセットスキャン機能を有効化する

yamory のクラウドアセットスキャン機能を On にすると、クラウドのスキャンと同時に連携されたクラウドに登録されているアセット(アプリライブラリ、ホスト、コンテナ)に対するスキャンを行うことができます。

2. CloudFormation のスタックの発行と登録で IAM ポリシーを作成する際に「クラウドアセットスキャン」を On にします。
クラウドアセットスキャンに必要なポリシーが追加された CloudFormation テンプレートが生成されますので
その後は同様に CloudFormation のスタックを作成して AWS アカウントの連携を行ってください。

IAM ポリシー作成画面

CloudFormation 連携済みアカウントのクラウドアセットスキャン設定

既に CloudFormation で連携しているアカウントでもクラウドアセットスキャン機能を後から有効化できます。

「その他」メニューから「アセットスキャン設定」をクリックします。

その他ボタンメニュー画面

左メニューより「スキャン有効化」を選択し「クラウドアセットスキャン」を On にします。
クラウドアセットスキャンに必要なポリシーが追加された CloudFormation テンプレートが生成されます。
「ダウンロード」アイコンをクリックしてテンプレートをファイル保存してください。

クラウドアセット設定 CloudFormation 連携画面

次に、クラウドでスキャンしたい AWS アカウントにログインし、CloudFormation の管理コンソールを開きます。
管理コンソールの左側のメニューから「スタック」をクリックしてスタック一覧画面を開き、スタックの一覧が表示されている状態で、右上の「更新」ボタンをクリックします。

<CloudFormation更新画面>

「既存テンプレートを置き換える」>「テンプレートファイルのアップロード」を選択して、先ほど保存したファイルをアップロードしてください。
更新時にアップロードしたテンプレートファイルは S3 に保存されます。

<CloudFormationファイル選択画面>

「スタックオプションの設定」での個別の設定は必要ありません。
「次へ」ボタンを押してください。

入力された内容を確認し、以下のチェックボックスにチェックをして「送信」ボタンを押してください。

<CloudFormation Stack 送信画面>
CloudFormation 更新結果画面

更新が正常終了したら完了です。

連携内容を表示する

登録された連携内容は「その他」ボタンメニューの「連携内容を表示」で表示できます。

その他ボタンメニュー画面

「連携内容を表示」機能では外部 ID の再生成が可能です。