翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Detective Python スクリプトを使用してアカウントを管理する
Amazon Detective は、GitHub リポジトリで一連のオープンソース Python スクリプトを提供します (amazon-detective-multiaccount-scripts
これらを使用して、次のタスクを実行できます。
-
リージョン全体で管理者アカウントのために Detective を有効にします。
Detective を有効にすると、動作グラフにタグ値を割り当てることができます。
-
リージョン全体で管理者アカウントの動作グラフにメンバーアカウントを追加します。
-
オプションで、メンバーアカウントに招待メールを送信します。招待メールを送信しないようにリクエストを設定することもできます。
-
リージョン全体で管理者アカウントの動作グラフからメンバーアカウントを削除します。
-
リージョン全体で管理者アカウントのために Detective を無効にします。管理者アカウントが Detective を無効にすると、各リージョンでの管理者アカウントの動作グラフが無効になります。
enableDetective.py スクリプトの概要
enableDetective.py スクリプトは次のことを実行します。
-
指定された各リージョンで管理者アカウントが Detective をまだ有効にしていない場合は、そのリージョンで管理者アカウントのために Detective を有効にします。
スクリプトを使用して Detective を有効にすると、動作グラフにタグ値を割り当てることができます。
-
オプションで、各動作グラフについて、管理者アカウントから指定されたメンバーアカウントに招待を送信します。
招待メールのメッセージはデフォルトのメッセージコンテンツを使用するため、カスタマイズすることはできません。
招待メールを送信しないようにリクエストを設定することもできます。
-
メンバーアカウントになるための招待を自動的に承諾します。
スクリプトは自動的に招待を承諾するため、メンバーアカウントはこれらのメッセージを無視できます。
メンバーアカウントに直接連絡して、招待が自動的に承諾されることを通知することをお勧めします。
disableDetective.py スクリプトの概要
disableDetective.py スクリプトは、指定されたリージョン全体で、管理者アカウントの動作グラフから、指定されたメンバーアカウントを削除します。
また、指定されたリージョン全体で、管理者アカウントのために Detective を無効にするオプションも提供します。
スクリプトに必要な許可
スクリプトには、管理者アカウントと、追加または削除したすべてのメンバーアカウントに既存の AWS ロールが必要です。
注記
ロール名は、すべてのアカウントで同じである必要があります。
IAM ポリシーについて推奨されているベストプラクティスは、適用範囲を最も絞り込んだロールを使用することです。グラフの作成、メンバーの作成、グラフへのメンバーの追加というスクリプトワークフローを実行するために必要なアクセス許可は、次のとおりです。
detective:CreateGraph
detective:CreateMembers
detective:DeleteGraph
detective:DeleteMembers
detective:ListGraphs
detective:ListMembers
detective:AcceptInvitation
ロールの信頼関係
ロールの信頼関係は、インスタンスまたはローカルの認証情報がロールを引き受けることを許可する必要があります。
必要な許可が付与されている共通のロールがない場合、少なくともそれらの許可が付与されているロールを各メンバーアカウントに作成する必要があります。管理者アカウントでもロールを作成する必要があります。
ロールを作成する場合は、必ず次を実行してください。
-
すべてのアカウントで同じロール名を使用します。
-
上記の必要なアクセス許可を追加する (推奨) か、AmazonDetectiveFullAccess マネージドポリシーを選択します。
前述のようにロールの信頼関係ブロックを追加します。
このプロセスを自動化するには、 EnableDetective.yaml AWS CloudFormation テンプレートを使用できます。テンプレートはグローバルリソースのみを作成するため、どのリージョンでも実行できます。
Python スクリプトの実行環境の設定
スクリプトは EC2 インスタンスまたはローカルマシンのいずれかから実行できます。
EC2 インスタンスの起動と設定
スクリプトを実行するための 1 つのオプションは、EC2 インスタンスからスクリプトを実行することです。
EC2 インスタンスを起動して設定するには
-
管理者アカウントで EC2 インスタンスを起動します。EC2 インスタンスの起動方法の詳細については、Amazon EC2 ユーザーガイド」の「Amazon EC2 Linux インスタンスの開始方法」を参照してください。 Amazon EC2
-
インスタンスが管理者アカウント内で
AssumeRoleを呼び出せるようにするための許可が付与されている IAM ロールをインスタンスにアタッチします。EnableDetective.yamlAWS CloudFormation テンプレートを使用した場合、 という名前のプロファイルを持つインスタンスロールが作成されEnableDetectiveました。それ以外の場合、インスタンスロールの作成については、ブログ投稿の Easily Replace or Attach an IAM Role to an Existing EC2 Instance by Using the EC2 Console
を参照してください。 -
必要なソフトウェアをインストールします。
-
APT:
sudo apt-get -y install python3-pip python3 git -
RPM:
sudo yum -y install python3-pip python3 git -
Boto (最小バージョン 1.15):
sudo pip install boto3
-
-
リポジトリのクローンを EC2 インスタンスに作成します。
git clone https://github.com/aws-samples/amazon-detective-multiaccount-scripts.git
スクリプトを実行するためのローカルマシンの設定
スクリプトはローカルマシンからも実行できます。
スクリプトを実行するようにローカルマシンを設定するには
-
AssumeRoleを呼び出す許可を持つ管理者アカウントについて、ローカルマシンの認証情報を設定していることを確認してください。 -
必要なソフトウェアをインストールします。
-
Python 3
-
Boto (最小バージョン 1.15)
-
GitHub スクリプト
プラットフォーム
セットアップ手順
Windows
-
Python 3 をインストールします (https://www.python.org/downloads/windows/
)。 -
コマンドプロントを開きます。
-
Boto をインストールするには、
pip install boto3を実行します。 -
スクリプトのソースコードを GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts
) からダウンロードします。
Mac
-
Python 3 をインストールします (https://www.python.org/downloads/mac-osx/
)。 -
コマンドプロントを開きます。
-
Boto をインストールするには、
pip install boto3を実行します。 -
スクリプトのソースコードを GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts
) からダウンロードします。
リナックス
-
Python 3 をインストールするには、次のいずれかを実行します。
-
sudo apt-get -y install install python3-pip python3 git -
sudo yum install git python
-
-
Boto をインストールするには、
sudo pip install boto3を実行します。 -
https://github.com/aws-samples/amazon-detective-multiaccount-scripts
からスクリプトのソースコードのクローンを作成します。
-
追加または削除するメンバーアカウントの .csv リストの作成
動作グラフに追加したり、動作グラフから削除したりするメンバーアカウントを特定するには、アカウントのリストを含む .csv ファイルを提供します。
各アカウントを別々の行に一覧表示します。各メンバーアカウントエントリには、 AWS アカウント ID とアカウントのルートユーザーの E メールアドレスが含まれます。
次の例を参照してください。
111122223333,srodriguez@example.com 444455556666,rroe@example.com
enableDetective.py の実行
enableDetective.py スクリプトは、EC2 インスタンスまたはローカルマシンから実行できます。
Mac で enableDetective.py
-
.csvファイルを EC2 インスタンスまたはローカルマシンのamazon-detective-multiaccount-scriptsディレクトリにコピーします。 -
amazon-detective-multiaccount-scriptsディレクトリを変更します。 -
enableDetective.pyスクリプトを実行します。enableDetective.py --master_accountadministratorAccountID--assume_roleroleName--input_fileinputFileName--tagstagValueList--enabled_regionsregionList--disable_email
スクリプトを実行すると、次の値を置き換えます。
administratorAccountID-
管理者 AWS アカウントのアカウント ID。
roleName-
管理者アカウントと各メンバーアカウントで引き受ける AWS ロールの名前。
inputFileName-
管理者アカウントの動作グラフに追加するメンバーアカウントのリストを含む
.csvファイルの名前。 tagValueList-
(オプション) 新しい動作グラフに割り当てるタグ値のコンマ区切りのリスト。
各タグ値の形式は
です。例:key=value--tags Department=Finance,Geo=Americas regionList-
(オプション) メンバーアカウントを管理者アカウントの動作グラフに追加するリージョンのコンマ区切りのリスト。例:
--enabled_regions us-east-1,us-east-2,us-west-2管理者アカウントは、リージョンで Detective をまだ有効にしていない可能性があります。その場合、スクリプトは Detective を有効にして、管理者アカウント用に新しい動作グラフを作成します。
リージョンのリストを提供しない場合、スクリプトは Detective がサポートするすべてのリージョンで機能します。
--disable_email-
(オプション) 含まれている場合、Detective はメンバーアカウントに招待メールを送信しません。
disableDetective.py の実行
disableDetective.py スクリプトは、EC2 インスタンスまたはローカルマシンから実行できます。
Mac で disableDetective.py
-
.csvファイルをamazon-detective-multiaccount-scriptsディレクトリへコピーします。 -
この
.csvファイルを使用して、指定されたリージョンのリスト全体で、管理者アカウントの動作グラフからリストされたメンバーアカウントを削除するには、次のようにdisableDetective.pyスクリプトを実行します。disabledetective.py --master_accountadministratorAccountID--assume_roleroleName--input_fileinputFileName--disabled_regionsregionList -
すべてのリージョンで管理者アカウントのために Detective を無効にするには、
--delete-masterフラグを併用してdisableDetective.pyスクリプトを実行します。disabledetective.py --master_accountadministratorAccountID--assume_roleroleName--input_fileinputFileName--disabled_regionsregionList--delete_master
スクリプトを実行すると、次の値を置き換えます。
administratorAccountID-
管理者 AWS アカウントのアカウント ID。
roleName-
管理者アカウントと各メンバーアカウントで引き受ける AWS ロールの名前。
inputFileName-
管理者アカウントの動作グラフから削除するメンバーアカウントのリストを含む
.csvファイルの名前。Detective を無効にしている場合でも、
.csvファイルを提供する必要があります。 regionList-
(オプション) 次のいずれかを実行するリージョンのコンマ区切りリスト:
-
管理者アカウントの動作グラフからメンバーアカウントを削除します。
-
--delete-masterフラグが含まれている場合は、Detective を無効にします。
例:
--disabled_regions us-east-1,us-east-2,us-west-2リージョンのリストを提供しない場合、スクリプトは Detective がサポートするすべてのリージョンで機能します。
-