

AWS Application Discovery Service は、新規のお客様に公開されなくなりました。または、同様の機能 AWS Transform を提供する を使用します。詳細については、[AWS 「Application Discovery Service の可用性の変更](https://docs.aws.amazon.com/application-discovery/latest/userguide/application-discovery-service-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のセキュリティ AWS Application Discovery Service
<a name="security"></a>

のクラウドセキュリティが最優先事項 AWS です。お客様は AWS 、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャを活用できます。

セキュリティは、 AWS とお客様の間の責任共有です。[責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)では、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。
+ **クラウドのセキュリティ** — クラウドで AWS AWS サービスを実行するインフラストラクチャを保護する AWS 責任があります。 AWS また、 では、安全に使用できるサービスも提供しています。セキュリティの有効性は、[AWS コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)の一環として、サードパーティーの審査機関によって定期的にテストおよび検証されています。
+ **クラウドのセキュリティ** – お客様の責任は、使用する AWS サービスによって決まります。また、お客様は、お客様のデータの機密性、組織の要件、および適用可能な法律および規制などの他の要因についても責任を担います。

 AWS Application Discovery Agent または Application Discovery Service Agentless Collector を使用するには、 AWS アカウントにアクセスキーを提供する必要があります。その後、この情報はローカルインフラストラクチャに保存されます。責任共有モデルの一環として、インフラストラクチャへのアクセスを保護する責任があります。

このドキュメントは、Application Discovery Service の使用時に責任共有モデルを適用する方法を理解するために役立ちます。以下のトピックでは、セキュリティおよびコンプライアンス上の目的に合わせて Application Discovery Service を設定する方法について説明します。また、Application Discovery Service リソースのモニタリングや保護に役立つ他の AWS サービスの使用方法についても説明します。

**Topics**
+ [の Identity and Access Management AWS Application Discovery Service](security-iam.md)
+ [を使用した Application Discovery Service API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)

# の Identity and Access Management AWS Application Discovery Service
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、Application Discovery Service リソースの使用について誰が*認証*され (サインインされる)、*承認*される (許可を持つ) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [AWS Application Discovery Service が IAM と連携する方法](security_iam_service-with-iam.md)
+ [AWS の 管理ポリシー AWS Application Discovery Service](security-iam-awsmanpol.md)
+ [AWS Application Discovery Service アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)
+ [Application Discovery Service のサービスにリンクされたロールの使用](using-service-linked-roles.md)
+ [AWS Application Discovery Service Identity and Access のトラブルシューティング](security_iam_troubleshoot.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[AWS Application Discovery Service Identity and Access のトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[AWS Application Discovery Service が IAM と連携する方法](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[AWS Application Discovery Service アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証は、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *root ユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスすることを人間 AWS のユーザーに要求する](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。[ユーザーから IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、ID またはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### アクセスコントロールリスト (ACL)
<a name="security_iam_access-manage-acl"></a>

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Amazon S3、および Amazon VPC は AWS WAF、ACLs。ACL の詳細については、*Amazon Simple Storage Service デベロッパーガイド* の [アクセスコントロールリスト (ACL) の概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) を参照してください。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の上限を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# AWS Application Discovery Service が IAM と連携する方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して Application Discovery Service へのアクセスを管理する前に、Application Discovery Service で使用できる IAM 機能を理解しておく必要があります。Application Discovery Service およびその他の AWS のサービスが IAM と連携する方法の概要については、IAM *ユーザーガイド*の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

**Topics**
+ [Application Discovery Service のアイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)
+ [Application Discovery Service リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)
+ [Application Discovery Service タグに基づく認可](#security_iam_service-with-iam-tags)
+ [Application Discovery Service IAM ロール](#security_iam_service-with-iam-roles)

## Application Discovery Service のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM アイデンティティベースのポリシーでは許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。Application Discovery Service は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「[IAM JSON ポリシー要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### アクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Application Discovery Service のポリシーアクションは、アクションの前にプレフィックス `discovery:` を使用します。ポリシーステートメントには`Action` または `NotAction` 要素を含める必要があります。Application Discovery Service は、このサービスで実行できるタスクを記述する、独自のアクション一式を定義します。

単一のステートメントに複数のアクションを指定するには次のようにコンマで区切ります。

```
"Action": [
      "discovery:action1",
      "discovery:action2"
```

ワイルドカード (\$1) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "discovery:Describe*"
```



Application Discovery Service アクションのリストを確認するには、*IAM ユーザーガイド*の「[AWS Application Discovery Serviceで定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_applicationdiscovery.html#awskeymanagementservice-actions-as-permissions)」を参照してください。

### リソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Application Discovery Service は、ポリシー内でのリソース ARN の指定をサポートしません。アクセスを分離するには、別の を作成して使用します AWS アカウント。

### 条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Application Discovery Service はサービス固有の条件キーを提供しませんが、いくつかのグローバル条件キーの使用がサポートされています。すべての AWS グローバル条件キーを確認するには、*IAM ユーザーガイド*の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

### 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Application Discovery Service のアイデンティティベースポリシーの例を確認するには、「[AWS Application Discovery Service アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## Application Discovery Service リソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Application Discovery Service は、リソースベースポリシーをサポートしません。

## Application Discovery Service タグに基づく認可
<a name="security_iam_service-with-iam-tags"></a>

Application Discovery Service は、リソースのタグ付け、またはタグに基づいたアクセスの制御をサポートしません。

## Application Discovery Service IAM ロール
<a name="security_iam_service-with-iam-roles"></a>

[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)は、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

### Application Discovery Service での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Application Discovery Service は一時的な認証情報の使用をサポートしません。

### サービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールの許可を表示できますが、編集することはできません。

Application Discovery Service はサービスリンクロールをサポートします。Application Discovery Service のサービスリンクロールの作成または管理の詳細については、「[Application Discovery Service のサービスにリンクされたロールの使用](using-service-linked-roles.md)」を参照してください。

### サービス役割
<a name="security_iam_service-with-iam-roles-service"></a>

この機能により、ユーザーに代わってサービスが[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)を引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

Application Discovery Service はサービスロールをサポートします。

# AWS の 管理ポリシー AWS Application Discovery Service
<a name="security-iam-awsmanpol"></a>







ユーザー、グループ、ロールにアクセス許可を追加するには、自分でポリシーを記述するよりも AWS 管理ポリシーを使用する方が簡単です。チームに必要な権限のみを提供する [IAM カスタマーマネージドポリシーを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)には時間と専門知識が必要です。すぐに開始するには、 AWS マネージドポリシーを使用できます。これらのポリシーは、一般的なユースケースをターゲット範囲に含めており、 AWS アカウントで利用できます。 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の「 [AWS 管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

AWS サービスは、 AWS 管理ポリシーを維持および更新します。 AWS 管理ポリシーのアクセス許可は変更できません。サービスでは新しい機能を利用できるようにするために、 AWS マネージドポリシーに権限が追加されることがあります。この種類の更新はポリシーがアタッチされている、すべてのアイデンティティ (ユーザー、グループおよびロール) に影響を与えます。新しい機能が立ち上げられた場合や、新しいオペレーションが使用可能になった場合に、各サービスが AWS マネージドポリシーを更新する可能性が最も高くなります。サービスは AWS マネージドポリシーからアクセス許可を削除しないため、ポリシーの更新によって既存のアクセス許可が損なわれることはありません。

さらに、 は、複数のサービスにまたがるジョブ関数の マネージドポリシー AWS をサポートしています。例えば、**ReadOnlyAccess** AWS 管理ポリシーは、すべての AWS サービスとリソースへの読み取り専用アクセスを提供します。サービスが新機能を起動すると、 は新しいオペレーションとリソースの読み取り専用アクセス許可 AWS を追加します。ジョブ機能のポリシーの一覧および詳細については、「*IAM ユーザーガイド*」の「[AWS のジョブ機能のマネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)」を参照してください。









## AWS マネージドポリシー: AWSApplicationDiscoveryServiceFullAccess
<a name="security-iam-awsmanpol-AWSApplicationDiscoveryServiceFullAccess"></a>

`AWSApplicationDiscoveryServiceFullAccess` ポリシーは、Application Discovery Service API と Migration Hub API へのアクセス権を IAM ユーザーアカウントに付与します。

このポリシーがアタッチされた IAM ユーザーアカウントは、Application Discovery Service の設定、エージェントの起動と停止、エージェントレス検出の開始と停止、 AWS Discovery Service データベースからのデータのクエリを行うことができます。このポリシーの例については、「[Application Discovery Service へのフルアクセスの付与](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-ads-fullaccess)」を参照してください。

## AWS マネージドポリシー: AWSApplicationDiscoveryAgentlessCollectorAccess
<a name="security-iam-awsmanpol-AWSApplicationDiscoveryAgentlessCollectorAccess"></a>

`AWSApplicationDiscoveryAgentlessCollectorAccess` マネージドポリシーは、Application Discovery Service Agentless Collector (Agentless Collector) に Application Discovery Service を登録して通信し、他の AWS サービスと通信するためのアクセス権を付与します。

このポリシーは、エージェントレスコレクターの設定に認証情報を使用する IAM ユーザーにアタッチする必要があります。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。


+ `arsenal` – コレクターが Application Discovery Service アプリケーションに登録できるようにします。これは、収集されたデータを に送信できるようにするために必要です AWS。
+ `ecr-public` – コレクターが、コレクターの最新の更新が見つかった Amazon Elastic Container Registry Public (Amazon ECR Public) を呼び出すことを許可します。
+ `mgh` – コレクターが を呼び出し AWS Migration Hub て、コレクターの設定に使用されるアカウントのホームリージョンを取得できるようにします。これは、収集されたデータの送信先となるリージョンを知るために必要です。
+ `sts` – コレクターが Amazon ECR Public を呼び出して最新の更新を取得できるように、コレクターがサービスベアラートークンを取得できるようにします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "arsenal:RegisterOnPremisesAgent"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr-public:DescribeImages"
            ],
            "Resource": "arn:aws:ecr-public::446372222237:repository/6e5498e4-8c31-4f57-9991-13b4b992ff7b"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr-public:GetAuthorizationToken"

            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "mgh:GetHomeRegion"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sts:GetServiceBearerToken"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS マネージドポリシー: AWSApplicationDiscoveryAgentAccess
<a name="security-iam-awsmanpol-AWSApplicationDiscoveryAgentAccess"></a>

`AWSApplicationDiscoveryAgentAccess` ポリシーは、Application Discovery Service に登録して通信するためのアクセス権を Application Discovery Agent に付与します。

このポリシーをアタッチする対象ユーザーは、その認証情報が Application Discovery Service で使用されるすべてのユーザーです。

このポリシーは、ユーザーに Arsenal へのアクセス権も付与します。Arsenal は、 によって管理およびホストされるエージェントサービスです AWS。Arsenal は、クラウド内で Application Discovery Service にデータを転送します。このポリシーの例については、「[検出エージェントへのアクセスの許可](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-ads-agentaccess)」を参照してください。

## AWS マネージドポリシー: AWSAgentlessDiscoveryService
<a name="security-iam-awsmanpol-AWSAgentlessDiscoveryService"></a>

この`AWSAgentlessDiscoveryService`ポリシーは、VMware vCenter Server で実行されている AWS Agentless Discovery Connector に、Application Discovery Service に登録、通信、およびコネクタのヘルスメトリクスを共有するためのアクセス権を付与します。

このポリシーをアタッチする対象のユーザーは、その認証情報がコネクタで使用されるすべてのユーザーです。

## AWS マネージドポリシー: ApplicationDiscoveryServiceContinuousExportServiceRolePolicy
<a name="security-iam-awsmanpol-ApplicationDiscoveryServiceContinuousExportServiceRolePolicy"></a>

IAM アカウントに`AWSApplicationDiscoveryServiceFullAccess`ポリシーがアタッチされている場合、Amazon Athena でデータ探索を有効にすると、 は自動的にアカウントにアタッチ`ApplicationDiscoveryServiceContinuousExportServiceRolePolicy`されます。

このポリシーにより AWS Application Discovery Service 、 は Amazon Data Firehose ストリームを作成して、 AWS Application Discovery Service エージェントによって収集されたデータを変換し、 AWS アカウントの Amazon S3 バケットに配信できます。

さらに、このポリシーは、*application\$1discovery\$1service\$1database* という新しいデータベースと、エージェントによって収集されたデータをマッピングするためのテーブルスキーマ AWS Glue Data Catalog を持つ を作成します。このポリシーの例については、「[エージェントデータ収集のアクセス許可の付与](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-ads-export-service)」を参照してください。

## AWS マネージドポリシー: AWSDiscoveryContinuousExportFirehosePolicy
<a name="security-iam-awsmanpol-AWSDiscoveryContinuousExportFirehosePolicy"></a>

Amazon Athena でデータ探索を使用するには、 `AWSDiscoveryContinuousExportFirehosePolicy` ポリシーが必要です。これにより、Amazon Data Firehose は Application Discovery Service から Amazon S3 に収集されたデータを書き込むことができます。このポリシーの使用方法については、「[AWSApplicationDiscoveryServiceFirehose ロールの作成](#security-iam-awsmanpol-create-firehose-role)」を参照してください。このポリシーの例については、「[データ探索のためのアクセス許可の付与](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-ads-export-firehose)」を参照してください。

## AWSApplicationDiscoveryServiceFirehose ロールの作成
<a name="security-iam-awsmanpol-create-firehose-role"></a>

管理者は、IAM ユーザーアカウントにマネージドポリシーをアタッチします。`AWSDiscoveryContinuousExportFirehosePolicy` ポリシーを使用する場合、管理者はまず Firehose を信頼されたエンティティとして **AWSApplicationDiscoveryServiceFirehose** という名前のロールを作成し、次に次の手順に示すように`AWSDiscoveryContinuousExportFirehosePolicy`ポリシーをロールにアタッチする必要があります。

****AWSApplicationDiscoveryServiceFirehose** IAM ロールを作成するには**

1. IAM コンソールのナビゲーションペインで **[Roles]** (ロール) を選択します。

1. **[ロールの作成]** を選択します。

1. [**Kinesis**] を選択します。

1. ユースケースとして、[**Kinesis Firehose**] を選択します。

1. **[Next: Permissions]** (次のステップ: 許可) を選択します。

1. [**フィルタポリシー**] で、[**AWSDiscoveryContinuousExportFirehosePolicy**] を検索します。

1. [**AWSDiscoveryContinuousExportFirehosePolicy**] の横にあるボックスをオンにして、[**次へ: レビュー**] を選択します。

1. [**AWSApplicationDiscoveryServiceFirehose**] をロール名として入力し、[**ロールの作成**] を選択します。





## Application Discovery Service の AWS マネージドポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>



Application Discovery Service がこれらの変更の追跡を開始してからの Application Discovery Service の AWS マネージドポリシーの更新に関する詳細を表示します。このページへの変更に関する自動アラートについては、[のドキュメント履歴 AWS Application Discovery Service](doc-history.md) ページの RSS フィードを購読してください。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [AWSApplicationDiscoveryAgentlessCollectorAccess](#security-iam-awsmanpol-AWSApplicationDiscoveryAgentlessCollectorAccess) – エージェントレスコレクターの起動で利用可能になった新しいポリシー   |  Application Discovery Service は、Application Discovery Service に登録して通信し、他の AWS サービスと通信するためのアクセス権を Agentless Collector に付与`AWSApplicationDiscoveryAgentlessCollectorAccess`する新しい マネージドポリシーを追加しました。  | 2022 年 8 月 16 日 | 
|  Application Discovery Service が変更の追跡を開始しました  |  Application Discovery Service は AWS 、管理ポリシーの変更の追跡を開始しました。  | 2021 年 3 月 1 日 | 

# AWS Application Discovery Service アイデンティティベースのポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトで、IAM ユーザーとロールには Application Discovery Service リソースを作成または変更する許可がありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行する権限をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらの権限が必要な IAM ユーザーまたはグループにそのポリシーをアタッチする必要があります。

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「[JSON タブでのポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [Application Discovery Service へのフルアクセスの付与](#security_iam_id-based-policy-examples-ads-fullaccess)
+ [検出エージェントへのアクセスの許可](#security_iam_id-based-policy-examples-ads-agentaccess)
+ [エージェントデータ収集のアクセス許可の付与](#security_iam_id-based-policy-examples-ads-export-service)
+ [データ探索のためのアクセス許可の付与](#security_iam_id-based-policy-examples-ads-export-firehose)
+ [Migration Hub コンソールネットワーク図を使用するためのアクセス許可の付与](#security_iam_id-based-policy-examples-network-connection-graph)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、ユーザーのアカウントで誰かが Application Discovery Service リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## Application Discovery Service へのフルアクセスの付与
<a name="security_iam_id-based-policy-examples-ads-fullaccess"></a>

AWSApplicationDiscoveryServiceFullAccess マネージドポリシーは、Application Discovery Service API と Migration Hub API へのアクセス権を IAM ユーザーアカウントに付与します。

このポリシーがそのアカウントにアタッチされている IAM ユーザーは、Application Discovery Service の設定、エージェントの起動と停止、エージェントレス検出の開始と停止、および AWS Discovery Service データベースからのデータのクエリを行うことができます。このポリシーの詳細については、「[AWS の 管理ポリシー AWS Application Discovery Service](security-iam-awsmanpol.md)」を参照してください。

**Example AWSApplicationDiscoveryServiceFullAccess ポリシー**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "mgh:*",
                "discovery:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "iam:GetRole"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

## 検出エージェントへのアクセスの許可
<a name="security_iam_id-based-policy-examples-ads-agentaccess"></a>

AWSApplicationDiscoveryAgentAccess マネージドポリシーは、Application Discovery Service に登録して通信するためのアクセス権を Application Discovery Agent に付与します。このポリシーの詳細については、「[AWS の 管理ポリシー AWS Application Discovery Service](security-iam-awsmanpol.md)」を参照してください。

このポリシーは、その認証情報が Application Discovery Agent で使用されるすべてのユーザーにアタッチしてください。

このポリシーは、ユーザーに Arsenal へのアクセス権も付与します。Arsenal は、 によって管理およびホストされるエージェントサービスです AWS。Arsenal は、クラウド内で Application Discovery Service にデータを転送します。

**Example AWSApplicationDiscoveryAgentAccess Policy**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "arsenal:RegisterOnPremisesAgent"
            ],
            "Resource": "*"
        }
    ]
}
```

## エージェントデータ収集のアクセス許可の付与
<a name="security_iam_id-based-policy-examples-ads-export-service"></a>

ApplicationDiscoveryServiceContinuousExportServiceRolePolicy マネージドポリシーにより AWS Application Discovery Service 、 は Amazon Data Firehose ストリームを作成して、Application Discovery Service エージェントによって収集されたデータを変換し、 AWS アカウントの Amazon S3 バケットに配信できます。

さらに、このポリシーは、 という新しいデータベース`application_discovery_service_database`と、エージェントによって収集されたデータをマッピングするためのテーブルスキーマを持つ AWS Glue データカタログを作成します。

このポリシーの使用方法については、「[AWS の 管理ポリシー AWS Application Discovery Service](security-iam-awsmanpol.md)」を参照してください。

**Example ApplicationDiscoveryServiceContinuousExportServiceRolePolicy**    
****  

```
{
   "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "glue:CreateDatabase",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:UpdateTable",
                "firehose:CreateDeliveryStream",
                "firehose:DescribeDeliveryStream",
                "logs:CreateLogGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "firehose:DeleteDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch",
                "firehose:UpdateDestination"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:firehose:*:*:deliverystream/aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:PutBucketLogging",
                "s3:PutEncryptionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*/*"
        },
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutRetentionPolicy"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/firehose*"
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/service-role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        }
    ]        
}
```

## データ探索のためのアクセス許可の付与
<a name="security_iam_id-based-policy-examples-ads-export-firehose"></a>

Amazon Athena でデータ探索を使用するには、AWSDiscoveryContinuousExportFirehosePolicy ポリシーが必要です。これにより、Amazon Data Firehose は Application Discovery Service から Amazon S3 に収集されたデータを書き込むことができます。このポリシーの使用方法については、「[AWSApplicationDiscoveryServiceFirehose ロールの作成](security-iam-awsmanpol.md#security-iam-awsmanpol-create-firehose-role)」を参照してください。

**Example AWSDiscoveryContinuousExportFirehosePolicy**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetTableVersions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::aws-application-discovery-service-*",
                "arn:aws:s3:::aws-application-discovery-service-*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/firehose:log-stream:*"
            ]
        }
    ]
}
```

## Migration Hub コンソールネットワーク図を使用するためのアクセス許可の付与
<a name="security_iam_id-based-policy-examples-network-connection-graph"></a>

Application Discovery Service または Migration Hub へのアクセスを許可または拒否するアイデンティティベースのポリシーを作成するときに AWS Migration Hub コンソールネットワーク図へのアクセスを許可するには、ポリシーに `discovery:GetNetworkConnectionGraph`アクションを追加する必要がある場合があります。

新しいポリシーで `discovery:GetNetworkConnectionGraph`アクションを使用するか、ポリシーに以下の両方が当てはまる場合は古いポリシーを更新する必要があります。
+ このポリシーは、Application Discovery Service または Migration Hub へのアクセスを許可または拒否します。
+ このポリシーは、 `discovery:action-name`ではなく、 のようなより具体的な検出アクションを使用してアクセス許可を付与します`discovery:*`。

次の例は、IAM ポリシーで `discovery:GetNetworkConnectionGraph`アクションを使用する方法を示しています。

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["discovery:GetNetworkConnectionGraph"],
            "Resource": "*"
        }
    ]
}
```

Migration Hub ネットワーク図の詳細については、[「Migration Hub でのネットワーク接続の表示](https://docs.aws.amazon.com/migrationhub/latest/ug/network-diagram.html)」を参照してください。

# Application Discovery Service のサービスにリンクされたロールの使用
<a name="using-service-linked-roles"></a>

AWS Application Discovery Service は AWS Identity and Access Management (IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスリンクロールは、Application Discovery Service に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは Application Discovery Service によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

必要な許可を手動で追加する必要がないため、サービスリンクロールは Application Discovery Service のセットアップを容易にします。サービスリンクロールの許可を定義するのは Application Discovery Service で、別段の定義がない限り、Application Discovery Service のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールは、まずその関連リソースを削除しなければ削除できません。このため、リソースにアクセスする許可を不注意に削除することが不可能になり、Application Discovery Service リソースが保護されます。

**Topics**
+ [Application Discovery Service のサービスにリンクされたロールのアクセス許可](service-linked-role-permissions.md)
+ [Application Discovery Service のサービスにリンクされたロールの作成](create-service-linked-role.md)
+ [Application Discovery Service のサービスにリンクされたロールの削除](delete-service-linked-role.md)

サービスにリンクされたロールをサポートする他のサービスについては、「[IAM と連携するAWS サービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照して、**サービスにリンクされたロール**列が**はい**になっているサービスを見つけてください。サービスにリンクされた役割に関するドキュメントをサービスで表示するには[**はい**] リンクを選択してください。

# Application Discovery Service のサービスにリンクされたロールのアクセス許可
<a name="service-linked-role-permissions"></a>

Application Discovery Service は、**AWSServiceRoleForApplicationDiscoveryServiceContinuousExport** という名前のサービスにリンクされたロールを使用します。これにより、 が使用または管理する AWS サービスとリソースへのアクセスが可能になります AWS Application Discovery Service。

AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `continuousexport.discovery.amazonaws.com`

このロール許可ポリシーは、Application Discovery Service が以下のアクションを完了することを許可します。

glue  
 `CreateDatabase`   
 `UpdateDatabase`   
 `CreateTable`   
 `UpdateTable` 

firehose  
 `CreateDeliveryStream`   
 `DeleteDeliveryStream`   
 `DescribeDeliveryStream`   
 `PutRecord`   
 `PutRecordBatch`   
 `UpdateDestination` 

s3  
 `CreateBucket`   
 `ListBucket`   
 `GetObject` 

ログ  
 `CreateLogGroup`   
 `CreateLogStream`   
 `PutRetentionPolicy` 

iam  
 `PassRole` 

これは、上記のアクションが適用されるリソースを示す全ポリシーです。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "glue:CreateDatabase",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:UpdateTable",
                "firehose:CreateDeliveryStream",
                "firehose:DescribeDeliveryStream",
                "logs:CreateLogGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "firehose:DeleteDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch",
                "firehose:UpdateDestination"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:firehose:*:*:deliverystream/aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:PutBucketLogging",
                "s3:PutEncryptionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*/*"
        },
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutRetentionPolicy"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/firehose*"
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/service-role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        }
    ]
}
```

------

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するにはアクセス許可を設定する必要があります。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

# Application Discovery Service のサービスにリンクされたロールの作成
<a name="create-service-linked-role"></a>

サービスリンクロールを手動で作成する必要はありません。AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスにリンクされたロールは、継続的エクスポートが暗黙的に有効になっているときに自動的に作成されます。このロールは、a) 「データ収集の開始」を選択した後、または「Athena でのデータ探索」というラベルの付いたスライダーをクリックした後、または b) AWS CLI を使用して StartContinuousExport API を呼び出すときに、Data Collectors ページに表示されるダイアログボックスのオプションを確認します。

**重要**  
このサービスリンクロールは、このロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。詳細については、「[IAM アカウントに新しいロールが表示される](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)」を参照してください。

## Migration Hub コンソールからサービスにリンクされたロールを作成する
<a name="create-service-linked-role-service-console"></a>

Migration Hub コンソールを使用して、AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスリンクロールを作成することができます。

**サービスリンクロールを作成する (コンソール)**

1. ナビゲーションペインで、**[Data Collectors]** (データコレクタ) を選択します。

1. [**Agents**] (エージェント) タブを選択します。

1. **[Data exploration in Athena]** (Athena でのデータ探索) スライダーをオンに切り替えます。

1. 前のステップで作成したダイアログボックスで、関連するコストに同意するチェックボックスをオンにして、[**Continue (続行)**] または [**Enable (有効)**] を選択します。

## からサービスにリンクされたロールを作成する AWS CLI
<a name="create-service-linked-role-service-cli"></a>

から Application Discovery Service コマンドを使用して AWS Command Line Interface 、AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスにリンクされたロールを作成できます。

このサービスにリンクされたロールは、 AWS CLI から継続的なエクスポートを開始すると自動的に作成されます ( を最初に環境にインストール AWS CLI する必要があります）。

**から継続的なエクスポートを開始してサービスにリンクされたロール (CLI) を作成するには AWS CLI**

1. オペレーティングシステム (Linux、macOS、または Windows) AWS CLI に をインストールします。手順については、[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)を参照してください。

1. コマンドプロンプト (Windows) またはターミナル (Linux/macOS) を開きます。

   1. `aws configure` を入力して、[Enter] を押します。

   1.  AWS アクセスキー ID と AWS シークレットアクセスキーを入力します。

   1. デフォルトのリージョン名として「`us-west-2`」と入力します。

   1. デフォルトの出力形式として「`text`」と入力します。

1. 次のコマンドを入力します。

   ```
   aws discovery start-continuous-export
   ```

**[Discovery Service – Continuous Export]** ユースケースでは、IAM コンソールを使用してサービスリンクロールを作成することもできます。IAM CLI または IAM API で、`continuousexport.discovery.amazonaws.com` サービス名でサービスリンクロールを作成します。詳細については、「IAM ユーザーガイド**」の「[サービスにリンクされたロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

# Application Discovery Service のサービスにリンクされたロールの削除
<a name="delete-service-linked-role"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールをクリーンアップする必要があります。

## サービスにリンクされたロールのクリーンアップ
<a name="service-linked-role-review-before-delete"></a>

IAM を使用してサービスリンクロールを削除するには、最初にそのロールで使用されているリソースをすべて削除する必要があります。

**注記**  
リソースを削除しようとするときに Application Discovery Service がこのロールを使用している場合、削除が失敗する可能性があります。失敗した場合は、数分待ってから操作を再試行してください。

**Migration Hub コンソールから AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスリンクロールが使用する Application Discovery Service リソースを削除する**

1. ナビゲーションペインで、**[Data Collectors]** (データコレクタ) を選択します。

1. [**Agents**] (エージェント) タブを選択します。

1. **[Data exploration in Athena]** (Athena でのデータ探索) スライダーをオフに切り替えます。

**AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスにリンクされたロールによって使用されている Application Discovery Service リソースを から削除するには AWS CLI**

1. オペレーティングシステム (Linux、macOS、または Windows) AWS CLI に をインストールします。手順については、[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)を参照してください。

1. コマンドプロンプト (Windows) またはターミナル (Linux/macOS) を開きます。

   1. `aws configure` を入力して、[Enter] を押します。

   1.  AWS アクセスキー ID と AWS シークレットアクセスキーを入力します。

   1. デフォルトのリージョン名として「`us-west-2`」と入力します。

   1. デフォルトの出力形式として「`text`」と入力します。

1. 次のコマンドを入力します。

   ```
   aws discovery stop-continuous-export --export-id <export ID>
   ```

   1. 停止する継続的なエクスポートのエクスポート ID がわからない場合は、次のコマンドを入力して継続的なエクスポートの ID を確認します。

     ```
     aws discovery describe-continuous-exports
     ```

1. 以下のコマンドを入力し、返されるステータスが「INACTIVE」であることを検証して、Continuous Export が停止されたことを確認します。

   ```
   aws discovery describe-continuous-export
   ```

## サービスリンク役割の手動による削除
<a name="slr-manual-delete"></a>

IAM コンソール、IAM CLI、または IAM API を使用して、AWSServiceRoleForApplicationDiscoveryServiceContinuousExport サービスリンクロールを削除することができます。このサービスリンクロールを必要とする Discovery Service – Continuous Export 機能を使用する必要がなくなった場合は、そのロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。詳細については、*IAM ユーザーガイド*の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

**注記**  
削除する前に、まずサービスリンクロールをクリーンアップする必要があります。「[サービスにリンクされたロールのクリーンアップ](#service-linked-role-review-before-delete)」を参照してください。

 

 

# AWS Application Discovery Service Identity and Access のトラブルシューティング
<a name="security_iam_troubleshoot"></a>

以下の情報を使用して、Application Discovery Service と IAM の使用時に発生する可能性がある一般的な問題の診断と修正に役立てます。

**Topics**
+ [iam:PassRole を実行する権限がない](#security_iam_troubleshoot-passrole)

## iam:PassRole を実行する権限がない
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行する権限がないというエラーが表示された場合は、Application Discovery Service にロールを渡すことができるようにポリシーを更新する必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡すアクセス許可が必要です。

以下のエラー例は、`marymajor` という名前の IAM ユーザーがコンソールを使用して Application Discovery Service でアクションを実行しようする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与されたアクセス許可が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

# を使用した Application Discovery Service API コールのログ記録 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS Application Discovery Service は AWS CloudTrail、Application Discovery Service のユーザー、ロール、または AWS サービスによって実行されたアクションを記録するサービスである と統合されています。CloudTrail を使用して、トラブルシューティングと監査を目的としたアカウントアクティビティのロギングと継続的なモニタリングを行い、保持することができます。CloudTrail は、 AWS マネジメントコンソール、 AWS SDKs、コマンドラインツールを通じて実行されたアクションなど、 AWS アカウントアクティビティのイベント履歴を提供します。

CloudTrail は、Application Discovery Service に対するすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、Application Discovery Service コンソールからのコールと、Application Discovery Service API オペレーションへのコードコールが含まれます。

証跡を作成する場合は、Application Discovery Service のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。CloudTrail が収集した情報を使用して、Application Discovery Service に対して行われたリクエスト、リクエストが行われた IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細情報を確認できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。

## CloudTrail の Application Discovery Service 情報
<a name="ads-info-in-cloudtrail"></a>

CloudTrail は、 AWS アカウントの作成時にアカウントで有効になります。Application Discovery Service でアクティビティが発生すると、そのアクティビティはイベント**履歴**の他の AWS サービスイベントとともに CloudTrail イベントに記録されます。 AWS アカウントで最近のイベントを表示、検索、ダウンロードできます。詳細については、[CloudTrail イベント履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)を参照してください。

Application Discovery Service のイベントなど、 AWS アカウントのイベントの継続的な記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成すると、証跡はすべての AWS リージョンに適用されます。証跡は、 AWS パーティション内のすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集されたイベントデータをさらに分析して処理するように他の AWS サービスを設定できます。詳細については、次を参照してください: 
+ [証跡の作成のための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートするサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [CloudTrail 用 Amazon SNS 通知の構成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべての Application Discovery Service アクションは CloudTrail によってログに記録され、これらは [Application Discovery Service API リファレンス](https://docs.aws.amazon.com/application-discovery/latest/APIReference/)に記載されています。たとえば、`CreateTags`、`DescribeTags`、`GetDiscoverySummary` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ リクエストがルートまたは AWS Identity and Access Management (IAM) ユーザー認証情報を使用して行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity 要素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## Application Discovery Service ログファイルエントリについて
<a name="understanding-ads-entries"></a>

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは、任意の出典からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

以下の例は、`DescribeTags` アクションを示す CloudTrail ログエントリです。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAJBHMC4H6EKEXAMPLE:sample-user",
        "arn": "arn:aws:sts::444455556666:assumed-role/ReadOnly/sample-user",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDAJQABLZS4A3QDU576Q",
                "arn": "arn:aws:iam::444455556666:role/ReadOnly",
                "accountId": "444455556666",
                "userName": "sampleAdmin"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-05-05T15:19:03Z"
            }
        }
    },
    "eventTime": "2020-05-05T17:02:40Z",
    "eventSource": "discovery.amazonaws.com",
    "eventName": "DescribeTags",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "20.22.33.44",
    "userAgent": "Coral/Netty4",
    "requestParameters": {
        "maxResults": 0,
        "filters": [
            {
                "values": [
                    "d-server-0315rfdjreyqsq"
                ],
                "name": "configurationId"
            }
        ]
    },
    "responseElements": null,
    "requestID": "mgh-console-eb1cf315-e2b4-4696-93e5-b3a3b9346b4b",
    "eventID": "7b32b778-91c9-4c75-9cb0-6c852791b2eb",
    "eventType": "AwsApiCall",
    "recipientAccountId": "111122223333"
}
```