翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Detective で IAM が機能する仕組み
デフォルトでは、ユーザーおよびロールには、Amazon Detective リソースを作成または変更する許可はありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。Detective 管理者は、必要な指定されたリソースに対して特定の API オペレーションを実行するアクセス許可を IAM ユーザーとロールに付与する AWS Identity and Access Management (IAM) ポリシーを持っている必要があります。続いて、管理者はそれらのアクセス許可が必要なプリンシパルに、そのポリシーをアタッチしなければなりません。
Detective は IAM アイデンティティベースのポリシーを使用して、次のタイプのユーザーおよびアクションについての許可を付与します。
-
管理者アカウント — 管理者アカウントは、アカウントのデータを使用する動作グラフの所有者です。管理者アカウントは、動作グラフにデータを提供するよう、メンバーアカウントを招待することができます。管理者アカウントは、動作グラフを使用して、それらのアカウントに関連付けられた検出結果とリソースのトリアージと調査を行うこともできます。
管理者アカウントでないユーザーが異なるタイプのタスクを実行できるようにするポリシーを設定できます。例えば、管理者アカウントのユーザーは、メンバーアカウントを管理するための許可しか付与されていない場合があります。別のユーザーは、調査のために動作グラフを使用するための許可しか付与されていない場合があります。
-
メンバーアカウント — メンバーアカウントは、動作グラフにデータを提供するように招待されるアカウントです。メンバーアカウントは招待に応答します。招待を承諾した後、メンバーアカウントは動作グラフから自分のアカウントを削除できます。
Detective およびその他の が IAM と AWS のサービス 連携する方法の概要を把握するには、「IAM ユーザーガイド」の「JSON タブでのポリシーの作成」を参照してください。
Detective のアイデンティティベースのポリシー
IAM アイデンティティベースポリシーでは、許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。Detective は、特定のアクション、リソース、および条件キーをサポートしています。
JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素のリファレンス」を参照してください。
アクション
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
ポリシーステートメントには、Action 要素または NotAction 要素を含める必要があります。Action 要素は、ポリシーによって許可されるアクションをリストします。NotAction 要素は、許可されていないアクションをリストします。
Detective のために定義されたアクションには、Detective を使用して実行できるタスクが反映されます。Detective のポリシーアクションには、プレフィックス detective: が付いています。
例えば、CreateMembers API 操作を使用してメンバーアカウントを動作グラフに招待するための許可を付与するには、detective:CreateMembers アクションをポリシーに含めます。
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。例えば、メンバーアカウントの場合、ポリシーには、招待の管理に関連する一連のアクションが含まれます。
"Action": [ "detective:ListInvitations", "detective:AcceptInvitation", "detective:RejectInvitation", "detective:DisassociateMembership ]
複数のアクションを指定するために、ワイルドカード (*) を使用することもできます。例えば、動作グラフで使用されるデータを管理するには、Detective の管理者アカウントが次のタスクを実行できる必要があります。
-
メンバーアカウントのリストを表示する (
ListMembers)。 -
選択したメンバーアカウントに関する情報を取得する (
GetMembers)。 -
メンバーアカウントを動作グラフに招待する (
CreateMembers)。 -
動作グラフからメンバーを削除する (
DeleteMembers)。
これらのアクションを個別にリストする代わりに、Members という単語で終わるすべてのアクションへのアクセス権を付与できます。それについてのポリシーには、次のアクションが含まれます。
"Action": "detective:*Members"
Detective アクションのリストを確認するには、「サービス認可リファレンス」の「Amazon Detective で定義されるアクション」を参照してください。
リソース
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
ARN の形式の詳細については、「Amazon リソースネーム (ARNs)」と AWS 「サービス名前空間」を参照してください。
Detective の場合、リソースタイプは動作グラフのみです。Detective の動作グラフのリソースの ARN は次のとおりです。
arn:aws:detective:${Region}:${AccountId}:graph:${GraphId}
例えば、動作グラフには以下の値があります。
-
動作グラフのリージョンは
us-east-1です。 -
管理者アカウント ID のアカウント ID は
111122223333です。 -
動作グラフのグラフ ID は
027c7c4610ea4aacaf0b883093cab899です。
Resource ステートメントでこの動作グラフを識別するには、次の ARN を使用します。
"Resource": "arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899"
Resource ステートメントで複数のリソースを指定するには、コンマを使用してそれらを区切ります。
"Resource": [ "resource1", "resource2" ]
たとえば、同じ AWS アカウントを複数の動作グラフのメンバーアカウントに招待できます。そのメンバーアカウントのポリシーでは、Resource ステートメントは、招待された動作グラフをリストします。
"Resource": [ "arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899", "arn:aws:detective:us-east-1:444455556666:graph:056d2a9521xi2bbluw1d164680eby416" ]
動作グラフの作成、動作グラフの一覧表示、動作グラフの招待の一覧表示など、Detective のいくつかのアクションは、特定の動作グラフでは実行されません。これらのアクションについては、Resource ステートメントはワイルドカード (*) を使用する必要があります。
"Resource": "*"
管理者アカウントのアクションについては、Detective は、リクエストを実行するユーザーが、影響を受ける動作グラフの管理者アカウントに属していることを毎回確認します。メンバーアカウントのアクションについては、Detective は、リクエストを実行するユーザーが、メンバーアカウントに属していることを毎回確認します。IAM ポリシーが動作グラフへのアクセス権を付与しても、ユーザーが正しいアカウントに属していない場合、ユーザーはアクションを実行できません。
特定の動作グラフで実行されるすべてのアクションについて、IAM ポリシーにはグラフ ARN が含まれている必要があります。グラフ ARN は後で追加できます。例えば、アカウントが最初に Detective を有効にする際に、初期 IAM ポリシーは、グラフ ARN のワイルドカードを使用して、すべての Detective アクションに対するアクセスを提供します。これにより、ユーザーはすぐにメンバーアカウントの管理を開始し、動作グラフで調査を実施できます。動作グラフを作成したら、ポリシーを更新してグラフ ARN を追加できます。
条件キー
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
Detective は独自の一連の条件キーを定義しません。グローバル条件キーの使用がサポートされています。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS 「グローバル条件コンテキストキー」を参照してください。
条件キーを使用できるアクションとリソースについては、Amazon Detective で定義されるアクションを参照してください。
例
Detective アイデンティティベースのポリシーの例を表示するには、Amazon Detective のアイデンティティベースポリシーの例 を参照してください。
Detective リソースベースのポリシー (サポートされていません)
Detective では、 リソースベースのポリシーはサポートされていません。
Detective の動作グラフのタグに基づく承認
各動作グラフには、タグ値を割り当てることができます。条件ステートメントでこれらのタグ値を使用して、動作グラフへのアクセスを管理できます。
タグ値についての条件ステートメントは、次の形式を使用します。
{"StringEquals"{"aws:ResourceTag/<tagName>": "<tagValue>"}}
例えば、次のコードを使用して、Department タグの値が Finance の場合にアクションを許可または拒否します。
{"StringEquals"{"aws:ResourceTag/Department": "Finance"}}
リソースタグ値を使用するポリシーの例については、管理者アカウント: タグ値に基づくアクセスの制限 を参照してください。
Detective IAM ロール
IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。
Detective での一時的な認証情報の使用
一時的な認証情報を使用して、フェデレーションでサインインする、IAM 役割を引き受ける、またはクロスアカウント役割を引き受けることができます。一時的なセキュリティ認証情報を取得するには、AssumeRole や GetFederationToken などの AWS STS API オペレーションを呼び出します。
Detective では、一時認証情報の使用をサポートしています。
サービスリンクロール
サービスにリンクされたロールを使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールの許可を表示できますが、編集することはできません。
サービスにリンクされた Detective のロールの作成または管理の詳細については、「Detective のサービスリンクロールの使用」を参照してください。
サービスロール (サポートされていません)
この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。
Detective は、サービスロールをサポートしていません。