アクセサーアカウントを使用しメンバーからマスターディスカバリーへ<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } 目次 概要テストに使用する AWS コンソール構成 ユースケース - 1:認証情報による検出 ステップ 1: アクセサーアカウント設定 : (Account-A)ステップ 2: マスターアカウント構成 : (Account-B)ステップ 3: メンバーアカウント構成 : (Account-C)ステップ 4:「ディスカバリーマネージャー」を使用してすべてのメンバーを検出するマスターアカウントのディスカバリースケジュールを作成する ユースケース - 2:認証情報を使用しない検出 (認証情報なしの検出) ステップ 1: アクセサーアカウント構成 : (Account-A)ステップ - 2:マスターアカウント構成:(Account-B)ステップ - 3:メンバーアカウント構成:(Account-C)ステップ 4:「ディスカバリーマネージャー」を使用してすべてのメンバーを検出するマスターアカウントのディスカバリースケジュールを作成する 概要 AWS Organization Discovery は、組織が複数の AWS アカウントにわたるリソースを検出して管理するのに役立ちます。この KB 記事では、AWS コンソールと ServiceNow インスタンスでの認証情報がある場合とない場合の AWS 組織ディスカバリーのユースケースと構成例について説明します。ServiceNow AWS 組織ディスカバリーは、 マスターとメンバーはデフォルトの「OrganizationAccountAccessRole」との信頼関係を持ちますが、組織ディスカバリーでは、メンバーアカウントはサブスクリプションとリソースディスカバリーにマスター認証情報を使用します。マスターとメンバーには CustomRole との信頼関係がありますが、組織の検出では、メンバーアカウントはサブスクリプションとリソース検出にマスター認証情報を使用します。マスターとメンバーには CustomRole との信頼関係がありますが、組織の検出では、メンバーアカウントはマスターとメンバー向けのサブスクリプションとリソース検出に一時的な認証情報を使用します。 この記事では、AWS コンソールと ServiceNow インスタンスのユースケースと設定例について説明します ユースケース 1. 認証情報による検出 2. 認証情報を使用しない検出 (認証情報なしの検出) テストに使用する AWS コンソール構成 S.No. アカウント タイプ アカウント ID 作成されたロール 1. Account-A アクセサーアカウント 2306 で終了 MemberRole 2. Account-B マスターアカウント 8211 で終了 MasterRole 3. Account-C メンバーアカウント 2944 で終了 MemberRole ユースケース - 1:認証情報による検出 シナリオ:まず、Account-A を使用して Account-B を検出します。次に、Account-B (内部的には Account-A) を使用して Account-C を検出します 認証情報のあるアクセサーアカウントを使用して AWS メンバーからマスターへのクラウドディスカバリーを実行するには、以下の手順に従う必要があります。 ステップ 1: アクセサーアカウント設定 : (Account-A) AWS 側の構成 AWS コンソールでアクセサーアカウントにログインします。EC2 インスタンスを起動します。 インスタンス側の構成 EC2 インスタンスで MID サーバーを設定し、インスタンスに接続します。 アクセサーアカウント認証情報のエントリを認証情報テーブル (aws_credentials) に作成します サービスアカウントテーブル (cmdb_ci_cloud_service_account) にアクセサーアカウントのエントリを作成します。また、親アカウントが存在する場合はそのエントリも作成します。 親アカウントフィールドがある場合は、それに入力します。 現在のシナリオでは、アクセサーアカウントにはマスターアカウントである親があります。マスターアカウント構成については、ステップ - 2.2.1 で詳しく説明します。 関連リンクの [データセンターを検出] をクリックします。正常に完了した場合は、次のステップに進みます。そうでない場合は、構成を再確認してください。 ステップ 2: マスターアカウント構成 : (Account-B) AWS 側の構成 AWS コンソールでマスターアカウントにログインします。IAM ロールを作成し、次のように権限と信頼関係を付与します マスターポリシーによって、ロール (マスターロール) に任意のアカウント (*) のロール (メンバーロール) を受け取る権限を与えます インスタンス側の構成 サービスアカウントテーブルのマスターアカウント構成は次のとおりです マスターアカウントで作成されたロールの AWS クロス想定ロールパラメーターテーブルにエントリを追加します。 関連リンクの [データセンターを検出] をクリックします。検出が成功した場合は、準備完了です。 ステップ 3: メンバーアカウント構成 : (Account-C) AWS コンソールでマスターアカウントにログインします。次に示すように IAM ロールが必要です。これは、マスターアカウントで作成されたポリシーで使用されたものと同じ ARN です。 サービスアカウントテーブル (cmdb_ci_cloud_service_account) にメンバーアカウント (Account-C) のエントリを作成します AWS 組織想定ロールパラメーターテーブルのメンバーアカウント (Account-C) に作成された想定ロールのエントリを追加します。 Paris パッチ 5 より前のインスタンスを使用している場合は、[AWS 組織想定ロールパラメーター] テーブルの [アクセスロール名] フィールドに完全な ARN を追加してください。カスタムロールを使用している場合にのみ、このテーブルにエントリを追加する必要があります。「OrganizationAccountAccessRole」を使用している場合は、エントリを追加しないでください。 関連リンクの [データセンターを検出] をクリックします。検出が成功した場合は、準備完了です。 ステップ-4: 「ディスカバリーマネージャー」を使用してすべてのメンバーを検出するマスターアカウントのディスカバリースケジュールを作成します ユースケース - 2:認証情報を使用しない検出 (認証情報なしの検出) 資格情報なしのアクセサーアカウントを使用して AWS メンバーからマスターへのクラウドディスカバリーを実行するために、Service-now では「一時的なクラウドディスカバリー認証情報の AWS ロールを受け取る」というコンセプトを実装しています。 ステップ 1: アクセサーアカウント構成 : (Account-A) AWS 側の構成 AWS コンソールでアクセサーアカウント (Account-A) にログインします。EC2 インスタンスを起動し、IAM ロールをアタッチします。例:「MemberRole」。 IAM ロールの構成は次のとおりです:(MemberRole) ReadOnlyAccess ポリシーを作成し、新しく作成した IAM ロールにアタッチします。 IAM ロールの構成が完了したら、EC2 インスタンスに MID サーバーをセットアップし、それに Service-now インスタンスを指定します。 インスタンス側の構成 service-now インスタンスで、MID サーバー設定パラメーターに「mid.aws.instance_profile_name」を追加します。この設定パラメーターの値は、EC2 インスタンスにアタッチされた IAM ロールです (完全な ARN ではなく、ロール名のみです)。 サービスアカウントテーブルの [親アカウント] フィールドには、親アカウントのアカウント ID が含まれている必要があります。サービスアカウントテーブル (cmdb_ci_cloud_service_account) にアクセサーアカウント (アカウント-A) のエントリを作成します。また、親アカウントが存在する場合はそのエントリも作成します。 関連リンクの [データセンターを検出] をクリックします。正常に完了した場合は、次のステップに進みます。そうでない場合は、構成を再確認してください。 ステップ - 2:マスターアカウント構成:(Account-B) AWS 側の構成: AWS コンソールでマスターアカウントにログインします。次に示すように IAM ロールが必要です。これは、アクセサーアカウントで作成されたポリシーで使用されたものと同じ ARN です。 インスタンス側の構成: サービスアカウント (cmdb_ci_cloud_service_account) テーブルのマスターアカウント構成は次のとおりです マスターアカウントで作成されたロールの AWS クロス想定ロールパラメーター (cloud_service_account_aws_cross_assume_role_params) テーブルにエントリを追加します。 関連リンクの [データセンターを検出] をクリックします。検出が成功した場合は、準備完了です。 ステップ - 3:メンバーアカウント構成:(Account-C) ユースケース 1 のステップ 3 を参照してください ステップ 4:「ディスカバリーマネージャー」を使用してすべてのメンバーを検出するマスターアカウントのディスカバリースケジュールを作成する ユースケース 1 のステップ 4 を参照してください