翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ポリシーで推奨されるベストプラクティスは、スコープが最も狭いロールを使用することです。グラフの作成、メンバーの作成、グラフへのメンバーの追加というスクリプトワークフローを実行するために必要なアクセス許可は、次のとおりです。
探偵:CreateGraph
探偵:CreateMembers
探偵:DeleteGraph
探偵:DeleteMembers
探偵:ListGraphs
探偵:ListMembers
探偵:AcceptInvitation
ロールの信頼関係
ロールの信頼関係は、インスタンスまたはローカルの認証情報がロールを引き受けることを許可する必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
arn:aws:iam::<ACCOUNTID>:user/<USERNAME>
" }, "Action": "sts:AssumeRole" } ] }
必要な許可が付与されている共通のロールがない場合、少なくともそれらの許可が付与されているロールを各メンバーアカウントに作成する必要があります。管理者アカウントでもロールを作成する必要があります。
ロールを作成する場合は、必ず次を実行してください。
-
すべてのアカウントで同じロール名を使用します。
-
上記の必要なアクセス許可を追加するか (推奨)、 AmazonDetectiveFullAccess マネージドポリシーを選択します。
前述のようにロールの信頼関係ブロックを追加します。
このプロセスを自動化するには、 EnableDetective.yaml
AWS CloudFormation テンプレートを使用できます。テンプレートはグローバルリソースのみを作成するため、どのリージョンでも実行できます。
Python スクリプトの実行環境の設定
スクリプトは、EC2インスタンスまたはローカルマシンから実行できます。
EC2 インスタンスの起動と設定
スクリプトを実行する 1 つのオプションは、EC2インスタンスからスクリプトを実行することです。
EC2 インスタンスを起動して設定するには
-
管理者アカウントでEC2インスタンスを起動します。EC2 インスタンスの起動方法の詳細については、「Amazon ユーザーガイド」の「Amazon EC2 Linux インスタンスの開始方法」を参照してください。 EC2
-
インスタンスに、管理者アカウント
AssumeRole
内でインスタンスが呼び出せるようにするアクセス許可を持つIAMロールをインスタンスにアタッチします。EnableDetective.yaml
AWS CloudFormation テンプレートを使用した場合、 というプロファイルを持つインスタンスロールが作成されEnableDetective
ました。それ以外の場合は、EC2「 コンソール を使用して既存のEC2インスタンスにIAMロールを簡単に置き換えたりアタッチ
する」のブログ記事を参照してください。 -
必要なソフトウェアをインストールします。
-
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
。
Linux
-
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
-
EC2 インスタンスまたはローカルマシンの
amazon-detective-multiaccount-scripts
ディレクトリに.csv
ファイルをコピーします。 -
amazon-detective-multiaccount-scripts
ディレクトリを変更します。 -
enableDetective.py
スクリプトを実行します。enableDetective.py --master_account
administratorAccountID
--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_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--disabled_regionsregionList
-
すべてのリージョンで管理者アカウントのために Detective を無効にするには、
--delete-master
フラグを併用してdisableDetective.py
スクリプトを実行します。disabledetective.py --master_account
administratorAccountID
--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 がサポートするすべてのリージョンで機能します。
-