Workload Identity Federation (WIF) 長期間有効なキーの代わりに短期間有効なトークンを使用して、New RelicがGCPメトリクスにアクセスできるようにします。独自のGCPプロジェクトでサービスアカウントを作成および管理するため、New Relicが静的な認証情報を保存することはありません。
このガイドでは、New Relic UIを使用した手動セットアップについて説明します。インフラストラクチャのコード化を希望する場合は、Terraformによる自動化をご覧ください。
ヒント
すでにサービスアカウントに接続されているプロジェクトがありますか?それらと並行してWIFを使用して新しいプロジェクトを追加します — どちらの方法も同じNew Relicアカウントで機能します。このガイドに従って、WIFベースの接続を追加してください。
要件
インテグレーションの要件は次のとおりです:
要件 | 詳細 |
|---|---|
New Relicアカウント | 管理者権限を持つNew Relicアカウントが必要です。New Relicアカウントをまだお持ちでない場合は、New Relicアカウントを新たに作成します。 |
GCP API | GCPプロジェクトのAPI & Services Libraryで、IAM、Security Token Service、Service Account Credentials、Stackdriver Monitoring、Assetの5つのAPIを有効にします。リンクを含む完全なリストについては、必要なGCP APIを有効にするをご覧ください。 |
GCPの権限 | サービスアカウント、ワークロードIDプール、およびIAMバインディングを作成する権限が必要です — 通常はOwnerまたはIAM Adminのロールです。 |
サービスアカウント | Viewer、Service Usage Consumer、Cloud Asset Viewer、およびFolder Viewerのロールを持つサービスアカウントを作成します。New Relicは、このアカウントになりすましてメトリクスを読み取ります。セットアップ手順については、サービスアカウントの作成または選択をご覧ください。 |
ワークロードIdentityプール | New Relicを信頼するように構成されたOIDCプロバイダーを持つWIFプール。セットアップウィザードが作成手順を案内します。セットアップ手順については、ワークロードIDプールの作成からプロバイダー属性の構成までを参照してください。 |
重要
セキュリティやコンプライアンス要件のため、アカウントまたはデータがFedRAMPの対象となる場合、New Relic GCPインテグレーションを使用できません。FedRAMP規制の対象となるアカウントでこの機能を使用することは厳格に禁止されています。
GCPを手動でインテグレーションする
New Relicでインテグレーションを開始します。
New Relic のInfrastructure > Google Cloud Platformに移動します。
Add a GCP account(または、これが初めてのインテグレーションの場合はプライマリアクションボタン)を選択します。
使用する New Relic アカウントを選択します。
Select instrumentation methodの下で、 Workload Identity Federationを選択します。
Choose setup methodの下で、 Manually integrate your GCP project or folderを選択します。
必要なGCP APIを有効にしてください。
GCPプロジェクトでこれら5つのAPIを有効にしてください。これらにより、New Relicは認証を行ってデータを収集できるようになります:
- IAM API: サービスアカウントアクセスの管理
- Security Token Service API: WIF認証中にトークンを交換します
- Service Account Credentials API: 短期間のアクセストークンを生成します
- Stackdriver Monitoring API: GCPクラウドモニタリングからメトリクスを読み取ります
- Asset API: リソースとメタデータを検出します
- Cloud Resource Manager API: フォルダの
displayNameを取得
5つすべてが有効になったらチェックボックスを確認し、Continueを選択します。
サービスアカウントを作成または選択する
GCPプロジェクトで、New Relicが偽装するサービスアカウントを作成します:
GCPコンソールで、IAM & Admin > Service Accountsに移動します。
新しいサービスアカウントを作成するか、既存のサービスアカウントを使用します。
サービスアカウントに以下のロールを割り当てます:
Viewer
Service Usage Consumer
Cloud Asset Viewer
- Folder Viewer (フォルダレベルで設定されたインテグレーションにのみ必須)
Saveを選択します。
重要
1つの接続を通じてフォルダ内のすべてのプロジェクトをモニターするには、単一のプロジェクトではなく、フォルダにこれらのロールを付与します。フォルダレベルでのインテグレーションをご覧ください。
ワークロード Identity プールを作成
ワークロードIDプールは、信頼できる外部ID(New Relicなど)のコンテナです。
- GCPコンソールで、IAM & Admin > Workload Identity Federationに移動します。
- Get Started(またはCreate Pool)を選択します。
- プール名と説明を入力し、プールを有効にします。
- Continueを選択します。
プールにOIDCプロバイダーを追加
これにより、New Relicによって署名されたトークンを信頼するようにGCPに指示します。
Select a providerの下で、 OpenID Connect (OIDC)を選択します。
New Relic UIからGCPコンソールにこれらの値をコピーします:
- Provider pool name: New Relicのセットアップ画面に表示されます。
- Issuer URL: New Relicのセットアップ画面に表示されます(例:
https://oidc.newrelic.com/r/gcp-cmp)。
Allowed audiencesでそれを選択し、デフォルトのオーディエンスは未選択のままにします。
New Relic UIからAudience URLをコピーします。
Continueを選択します。
プロバイダー属性の設定
属性マッピングは、New Relicのトークンを読み取る方法をGCPに指示します。次の2つのマッピングを追加します:
| Google属性 | OIDC属性 |
|---|---|
google.subject | assertion.sub |
attribute.nr_account_id | assertion.nr_account_id |
New Relic UIには、アカウントIDが事前に入力されて表示されます。それをGCPの条件フィールドにコピーします。
重要
属性条件により、お使いのNew Relicアカウントのみがこのプールを使用できるようになります。これがないと、任意のNew RelicアカウントがGCPプロジェクトにアクセスする可能性があります。
プールへのアクセスを許可
New Relicが権限を借用できるように、IDプールをサービスアカウントに接続します:
プールの詳細で、Grant Accessを選択します。
Grant access using service account impersonationを有効にします。
「サービスアカウントの作成または選択」ステップで作成したサービスアカウントを選択してください。
Add principalsの下で、 Principal with accessを選択します。
New RelicのアカウントIDの値を使用して、ID属性
nr_account_idを追加します。Saveを選択します。
設定ファイルのダウンロードとアップロード
この手順では、GCPのセットアップをNew Relicにリンクします:
GCPコンソールのプールのConnected Service Accountsセクションで、サービスアカウントを選択します。
次のパラメーターを設定します:
- Service Provider: 作成したプロバイダーを選択します。
- OIDC ID Token Path:選択
/ - Format Type: JSON
Download Configを選択してJSONファイルを取得します。
New Relicのセットアップ画面に戻り、このJSONファイルをアップロードします。
New Relicはテスト認証を使用して設定を検証します。成功すると、Connection succeededメッセージが表示されます。
重要
アップロード後、Continueを選択する前にブラウザのタブを閉じないでください。そうした場合、進行状況が失われます。
プロジェクトとサービスを選択します
接続が確認された後:
New Relicは、サービスアカウントがアクセスできるGCPプロジェクトを一覧表示します。
プロジェクトを展開して、利用可能なサービスを表示します。
モニターするサービスを選択します。
データの収集を開始するには、Instrumentを選択します。
サービスは2つのカテゴリに分類されます:
Full entity support — メトリクス、エンティティエクスプローラー内のエンティティ、およびダッシュボード。
Metrics only — New Relicはメトリクスを収集しますが、エンティティは作成しません。
フォルダーレベルでインテグレーションする
Workload Identity Federationを使用すると、単一のプロジェクトまたはプロジェクトのフォルダー全体をインテグレーションできます。GCPでは、フォルダーレベルでIAMロールを付与すると、そのフォルダー内のすべてのプロジェクトがそれを継承します。したがって、1つのプロジェクトではなくフォルダーにサービスアカウントのロールを付与すると、New Relicは単一の接続を通じてそのフォルダー内のすべてのプロジェクトをモニターできます。
これを行うには、サービスアカウントの作成または選択で、単一のプロジェクトではなくフォルダーに対して、サービスアカウントにViewer、Service Usage Consumer、Cloud Asset Viewer、およびFolder Viewerのロールを付与します。プロジェクトとサービスの選択に進むと、New Relicはそのフォルダー内のすべてのプロジェクトを一覧表示するため、モニターするプロジェクトを選択できます。
あなたのGCPデータを見る
セットアップが完了すると、New Relic は定期的なポーリング間隔で GCP データの監視を開始し、数分後にデータが New Relic UI に表示されます。データの表示、クエリ、探索の方法 — ダッシュボード、アラート、エンティティなど — については、GCP データの表示とクエリをご覧ください。
複数のGoogleプロジェクトをリンク
単一のWIF設定により、サービスアカウントが権限を持つGCPプロジェクトへのアクセスが付与されます。セットアップ中、New Relicはアクセス可能なすべてのプロジェクトを一覧表示するため、モニターするプロジェクトを選択できます。
後で追加のGCPプロジェクトをモニターするには:
- 新しいプロジェクトが同じGCP組織内にあり、サービスアカウントがすでにアクセス権を持っている場合は、Infrastructure > GCP > Manage servicesに移動して追加します。
- 新しいプロジェクトで異なるサービスアカウントまたはIDプールが必要な場合は、セットアップを繰り返して新しいWIF接続を作成してください。
サービスの管理
セットアップ後、プロジェクトごとにモニターされるサービスを変更できます:
- one.newrelic.com > All capabilities > Infrastructure > GCPに移動します。
- アカウントの横にあるManage servicesを選択します。
- プロジェクトごとにサービスのオン/オフを切り替えます。
- 変更を保存します。
GCPインテグレーションの無効化またはリンク解除
個別のサービスを無効にするか、GCPプロジェクトをNew Relicから完全に切断することができます。
1つ以上のGCPサービスを無効にする
- Infrastructure > GCP > Manage servicesに移動します。
- 無効にする各サービスのチェックボックスをオフにします。
- 変更を保存します。
GCPアカウントを完全に切断します。
- Infrastructure > GCP > Manage servicesに移動します。
- Unlink this accountを選択します。
- 変更を保存します。
New Relicでのリンク解除後、GCP側でクリーンアップを行います:
- GCPコンソールを開き、IAM & Admin > Workload Identity Federationに移動します。
- New Relic用に作成したIDプールを削除するか、そこからOIDCプロバイダーを削除します。
- サービスアカウントがNew Relic専用に作成された場合は、必要に応じて削除してください。