This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.統合
Red Hat Advanced Cluster Security for Kubernetes の統合
概要
第1章 イメージレジストリーとの統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、さまざまなイメージレジストリーと統合されているため、イメージを理解し、イメージの使用にセキュリティーポリシーを適用できます。
イメージレジストリーと統合すると、イメージの作成日や Dockerfile の詳細 (イメージレイヤーを含む) などの重要なイメージの詳細を表示できます。
RHACS をレジストリーと統合した後、デプロイメント前またはデプロイメント後にイメージをスキャンし、イメージコンポーネントを表示し、セキュリティーポリシーをイメージに適用できます。
イメージレジストリーと統合すると、RHACS はレジストリー内のすべてのイメージをスキャンしません。RHACS は、次の場合にのみイメージをスキャンします。
- デプロイメントでイメージを使用する
-
roxctlCLI を使用してイメージを確認します - 継続的インテグレーション (CI) システムを使用して、セキュリティーポリシーを適用します
RHACS は、次のような主要なイメージレジストリーと統合できます。
1.1. 自動設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes には、Docker Hub などの標準レジストリーとのデフォルトの統合が含まれています。また、イメージのプルシークレットなど、モニターされるクラスターにあるアーティファクトに基づいて、インテグレーションを自動的に設定することもできます。通常、レジストリー統合を手動で設定する必要はありません。
GCR レジストリーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes はレジストリー統合を自動的に作成しません。
1.2. Amazon ECR の統合 リンクのコピーリンクがクリップボードにコピーされました!
Amazon ECR 統合の場合、以下の条件が満たされると、Red Hat Advanced Cluster Security for Kubernetes は ECR レジストリー統合を自動的に生成します。
- クラスターのクラウドプロバイダーは AWS です。
- クラスターのノードには、インスタンス ID およびアクセス管理 (IAM) ロールの関連付けがあり、インスタンスメタデータサービスはノードで利用可能です。たとえば、Amazon Elastic Kubernetes Service (EKS) を使用してクラスターを管理する場合、このロールは EKS Node IAM ロールと呼ばれます。
- Instance IAM ロールには、デプロイする ECR レジストリーへのアクセス権限を付与する IAM ポリシーがあります。
上記の条件が満たされると、Red Hat Advanced Cluster Security for Kubernetes は ECR レジストリーからプルするデプロイメントをモニターし、それらの ECR 統合を自動的に生成します。これらのインテグレーションは、自動的に生成された後に編集できます。
1.3. イメージレジストリーを手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
GCR を使用している場合、イメージレジストリー統合を手動で作成する必要があります。
1.3.1. OpenShift Container Platform レジストリーの手動設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を OpenShift Container Platform のビルトインコンテナーイメージレジストリーと統合できます。
前提条件
- OpenShift Container Platform レジストリーでの認証にはユーザー名とパスワードが必要。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで、Generic Docker Registry を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Endpoint: レジストリーのアドレス。
- UsernameとPassword
- レジストリーへの接続時に TLS 証明書を使用していない場合は、Disable TLS certificate validation (insecure) を選択します。
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.2. Amazon Elastic Container Registry を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を使用して、Amazon Elastic Container Registry (ECR) の統合を手動で作成および変更できます。Amazon ECR からデプロイする場合、Amazon ECR レジストリーのインテグレーションは通常自動的に生成されます。ただし、デプロイメント外のイメージをスキャンするために、独自にインテグレーションを作成したい場合があります。自動生成されるインテグレーションのパラメーターを変更することもできます。たとえば、自動生成された Amazon ECR 統合で使用される認証方法を変更して、AssumeRole 認証またはその他の承認モデルを使用することができます。
自動生成される ECR 統合に加えた変更を消去するには、統合を削除し、Red Hat Advanced Cluster Security for Kubernetes は Amazon ECR からイメージをデプロイする際に自動生成されるパラメーターで新しい統合を作成します。
前提条件
-
Amazon Identity and Access Management (IAM) アクセスキー ID およびシークレットアクセスキーが必要です。または、
kiamやkube2iamなどのノードレベルの IAM プロキシーを使用することもできる。 - アクセスキーには、ECR への読み取りアクセス権が必要。詳細は、How do I create an AWS access key? を参照のこと。
Amazon Elastic Kubernetes Service (EKS) で Red Hat Advanced Cluster Security for Kubernetes を実行していて、別の Amazon アカウントの ECR と統合する場合は、最初に ECR でリポジトリーポリシーステートメントを設定する必要があります。Setting a repository policy statement の手順に従い、Actions で、Amazon ECR API オペレーションの次のスコープを選択する。
- ecr:BatchCheckLayerAvailability
- ecr:BatchGetImage
- ecr:DescribeImages
- ecr:GetDownloadUrlForLayer
- ecr:ListImages
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで Amazon ECR を選択します。
- New integration をクリックするか、自動生成されたインテグレーションのいずれかをクリックして開き、Edit をクリックします。
以下のフィールドの詳細を入力または変更します。
- Update stored credentials: アクセスキーやパスワードなどのクレデンシャルを更新せずにインテグレーションを変更する場合には、このボックスをクリアします。
- Integration name: インテグレーションの名前。
- Registry ID: レジストリーの ID。
- Endpoint: レジストリーのアドレス。このフィールドは、AssumeRole オプションが選択されている場合には有効ではありません。
-
Region: レジストリーのリージョン (例:
us-west-1)。
- IAM を使用している場合は、Use Container IAM role を選択します。それ以外の場合は、Use Container IAM role ボックスの選択を解除し、アクセス Access key ID および Secret access key を入力します。
AssumeRole 認証を使用している場合は、Use AssumeRole を選択し、以下のフィールドの詳細を入力します。
- AssumeRole ID: 引き受けるロールの ID。
- AssumeRole External ID (オプション): AssumeRole で外部 ID を使用している場合は、ここに入力できます。
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.2.1. Amazon ECR で assumerole を使用する リンクのコピーリンクがクリップボードにコピーされました!
AssumeRole を使用すると、各ユーザーのパーミッションを手動で設定しなくても、AWS リソースへのアクセスを許可できます。代わりに、必要な権限を持つロールを定義して、ユーザーにそのロールを引き受けるためのアクセス権が付与されるようにすることができます。AssumeRole を使用すると、よりきめ細かい権限を付与、取り消し、またはその他の方法で一般的に管理できます。
1.3.2.1.1. コンテナー IAM を使用した AssumeRole の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes で AssumeRole を使用する前に、まずそれを設定する必要があります。
手順
EKS クラスターの IAM OIDC プロバイダーを有効にします。
eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approve
$ eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approveCopy to Clipboard Copied! Toggle word wrap Toggle overflow - EKS クラスターの IAM ロールを作成し ます。
新しく作成したロールをサービスアカウントに関連付けます。
kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>
$ kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow セントラルを再起動して、変更を適用します。
kubectl -n stackrox delete pod -l app=central
$ kubectl -n stackrox delete pod -l app=centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、ロールが別のロールを引き受けることを許可するポリシーにロールを割り当てます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<assumerole-readonly>を引き受けたいロールに置き換えます。
引き受けるロールの信頼関係を更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<role-name>は、以前に作成した新しいロールと一致する必要があります。
1.3.2.1.2. コンテナー IAM を使用せずに AssumeRole を設定する リンクのコピーリンクがクリップボードにコピーされました!
コンテナー IAM なしで AssumeRole を使用するには、アクセスと秘密鍵を使用して、プログラムによるアクセス権を持つ AWS ユーザー として認証する必要があります。
手順
AssumeRole ユーザーが ECR レジストリーと同じアカウントにあるか、別のアカウントにあるかに応じて、次のいずれかを行う必要があります。
ロールを引き受けるユーザーが ECR レジストリーと同じアカウントにいる場合は、必要な権限で新しいロールを作成します。
注記ロールを作成するときに、必要に応じて任意の信頼できるエンティティーを選択できます。ただし、作成後に変更する必要があります。
または、ユーザーが ECR レジストリーとは異なるアカウントにいる場合は、ECR レジストリーにアクセスし、その信頼関係を定義するためのアクセス許可を提供する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<assumerole-readonly>を引き受けたいロールに置き換えます。
Principal フィールドの下にユーザー ARN を含めることにより、ロールの信頼関係を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3.2.1.3. RHACS での AssumeRole の設定 リンクのコピーリンクがクリップボードにコピーされました!
ECR で AssumeRole を設定した後、AssumeRole を使用して、Red Hat Advanced Cluster Security for Kubernetes を Amazon Elastic Container Registry (ECR) と統合できます。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで Amazon ECR を選択します。
- New Integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration Name: 統合の名前。
- Registry ID: レジストリーの ID。
-
Region: レジストリーのリージョン (例:
us-west-1)。
- IAM を使用している場合は、Use container IAM role を選択します。それ以外の場合は、Use custom IAM role ボックスの選択を解除し、Access key ID および Secret access key を入力します。
AssumeRole を使用している場合は、Use AssumeRole を選択し、以下のフィールドの詳細を入力します。
- AssumeRole ID: 引き受けるロールの ID。
- AssumeRole External ID (オプション): AssumeRole で外部 ID を使用している場合は、ここに入力できます。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.3. Google Container Registry を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を Google Container Registry (GCR) と統合できます。
前提条件
- サービスアカウントキーが必要です。
- 関連するサービスアカウントは、レジストリーにアクセスできる必要があります。ユーザーおよび他のプロジェクトに GCR へのアクセスを許可する方法は、Configuring access control を参照してください。
GCR Container Analysis を使用している場合は、サービスアカウントに次のロールも付与する必要があります。
- コンテナー分析ノートビューアー
- コンテナー分析発生状況ビューアー
- ストレージオブジェクトビューアー
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで、Google Container Registry を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Type: Registry を選択します。
- Registry Endpoint: レジストリーのアドレス。
- Project: Google Cloud プロジェクト名。
- Service account key (JSON) 認証に使用するサービスアカウントキー。
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.4. Google Artifact レジストリーを手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を Google Artifact Registry と統合できます。
前提条件
-
Artifact Registry Reader Identity and Access Management (IAM) ロール
roles/artifactregistry.readerでサービスアカウントキーが必要です。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで、Google Artifact Registry を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Registry endpoint: レジストリーのアドレス。
- Project: Google Cloud プロジェクト名。
- Service account key (JSON) 認証に使用するサービスアカウントキー。
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.5. Microsoft Azure Container Registry を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を Microsoft Azure と統合できます。
前提条件
- 認証には、ユーザー名とパスワードが必要です。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで Microsoft Azure Container Registry を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Endpoint: レジストリーのアドレス。
- UsernameとPassword
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.6. JFrog Artifactory を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を JFrog Artifactory と統合できます。
前提条件
- JFrog Artifactory で認証するには、ユーザー名とパスワードが必要。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで、JFrog Artifactory を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Endpoint: レジストリーのアドレス。
- UsernameとPassword
- レジストリーへの接続時に TLS 証明書を使用していない場合は、Disable TLS certificate validation (insecure) を選択します。
- レジストリーへの接続をテストせずに統合を作成する場合は、Create integration without testing を選択します。
- Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
1.3.7. Quay Container Registry を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) を Quay Container Registry と統合できます。次の方法を使用して、Quay と統合できます。
- Quay パブリックリポジトリー (レジストリー) との統合: この方法では認証は必要ありません。
- ロボットアカウントを使用した Quay プライベートレジストリーとの統合: この方法では、Quay で使用するロボットアカウントを作成する必要があります (推奨)。詳細は、Quay documentation を参照してください。
- Quay と統合して RHACS スキャナーではなく Quay スキャナーを使用する: この方法では API を使用し、認証に OAuth トークンが必要です。”Additional Resources” の ”Integrating with Quay Container Registry to scan images” を参照してください。
前提条件
- Quay プライベートレジストリーでの認証には、ロボットアカウントまたは OAuth トークン (非推奨) に関連付けられた資格情報が必要。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで Red Hat Quay.io を選択します。
- New integration をクリックします。
- Integration name を入力します。
Endpoint またはレジストリーのアドレスを入力します。
- Quay パブリックリポジトリーと統合する場合は、Type で Registry を選択し、次の手順に進みます。
Quay プライベートレジストリーと統合する場合は、Type で Registry を選択し、次のフィールドに情報を入力します。
-
Robot username: Quay ロボットアカウントを使用してレジストリーにアクセスしている場合は、ユーザー名を
<namespace>+<accountname>の形式で入力します。 - Robot password: Quay ロボットアカウントを使用してレジストリーにアクセスしている場合は、ロボットアカウントのユーザー名のパスワードを入力します。
- OAuth token: OAuth トークン (非推奨) を使用してレジストリーにアクセスしている場合は、このフィールドに入力します。
-
Robot username: Quay ロボットアカウントを使用してレジストリーにアクセスしている場合は、ユーザー名を
- オプション: レジストリーへの接続時に TLS 証明書を使用していない場合は、Disable TLS certificate validation (insecure) を選択します。
- オプション: テストを行わずにインテグレーションを作成するには、Create integration without testing を選択します。
- Save を選択します。
Quay インテグレーションを編集しているが資格情報を更新したくない場合は、Update stored credentials が選択されていないことを確認します。
第2章 CI システムとの統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、さまざまな継続的インテグレーション (CI) 製品と統合され、イメージをデプロイする前にビルド時およびデプロイ時のセキュリティールールを適用できます。
Red Hat Advanced Cluster Security for Kubernetes は、イメージがビルドされてレジストリーにプッシュされた後、CI パイプラインに統合されます。最初にイメージをプッシュすることで、開発者は、他の CI テストの失敗、リンター違反、またはその他の問題とともに、ポリシー違反に対処しながら、アーティファクトのテストを続行できます。
可能であれば、バージョン管理システムを設定して、Red Hat Advanced Cluster Security for Kubernetes チェックを含むビルドステージが失敗した場合にプルリクエストまたはマージリクエストがマージされないようにブロックする必要があります。
Red Hat Advanced Cluster Security for Kubernetes のインストールにアクセスして、イメージが設定したビルドフェーズポリシーに準拠しているかどうかを確認することにより、CI 製品との統合が機能します。ポリシー違反がある場合は、ポリシーの説明、論理的根拠、修正手順などの詳細なメッセージがコンソールログに表示されます。各ポリシーには、オプションの適用設定が含まれています。ビルドフェーズの適用のためにポリシーをマークした場合、そのポリシーに失敗すると、クライアントはゼロ以外のエラーコードで終了します。
Red Hat Advanced Cluster Security for Kubernetes を CI システムと統合するには、次の手順に従います。
- ビルドポリシーを設定する。
- レジストリー統合を設定する。
- Red Hat Advanced Cluster Security for Kubernetes インスタンスに アクセスを設定する。
- CI パイプラインと統合する。
2.1. ビルドポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド中に Red Hat Cluster Security for Kubernetes ポリシーを確認するには、最初に、コンテナーライフサイクルのビルドフェーズに適用されるポリシーを設定する必要があります。次に、ビルド中にイメージがプッシュされるレジストリーと統合する必要があります。
2.1.1. 既存のビルドフェーズポリシーを確認する リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、Red Hat Advanced Cluster Security for Kubernetes で設定した既存のビルドフェーズポリシーを確認します。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
-
グローバル検索を使用して、
Lifecycle Stage:Buildを検索します。
2.1.2. 新しいシステムポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのポリシーを使用することに加えて、Red Hat Advanced Cluster Security for Kubernetes でカスタムポリシーを作成することもできます。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- + New Policy をクリックします。
- ポリシーの Name を入力します。
- ポリシーの Severity レベルを選択します: クリティカル、高、中、または低。
Build、Deploy、または Runtime から、ポリシーが適用される Lifecycle Stages を選択します。複数のステージを選択できます。
注記CI システムと統合するための新しいポリシーを作成する場合は、ライフサイクルステージとして Build を選択します。
- ビルド時ポリシーは、CVE や Dockerfile 手順などのイメージフィールドに適用されます。
- デプロイ時のポリシーには、すべてのビルド時のポリシー基準を含めることができます。また、特権モードでの実行や Docker デーモンソケットのマウントなど、クラスター設定からのデータを取得することもできます。
- ランタイムポリシーには、すべてのビルド時とデプロイ時のポリシー基準、およびランタイム中のプロセス実行に関するデータを含めることができます。
- Description、Rationale、および Remediation フィールドにポリシーに関する情報を入力します。CI がビルドを検証すると、これらのフィールドのデータが表示されます。したがって、ポリシーを説明するすべての情報を含めてください。
- Categories ドロップダウンメニューからカテゴリーを選択します。
このポリシーの違反が発生したときにアラート通知を受信する通知ドロップダウンメニューから Notifications 機能を選択します。
注記アラート通知を受信するには、Red Hat Advanced Cluster Security for Kubernetes を Webhook、Jira、PagerDuty などの通知プロバイダーと統合する必要があります。通知機能は、通知プロバイダーを Red Hat Advanced Cluster Security for Kubernetes と統合した場合にのみ表示されます。
- 特定のクラスター、namespace、またはラベルに対してのみこのポリシーを有効にするには、Restrict to Scope を使用します。複数のスコープを追加したり、namespaces とラベルの RE2 構文で正規表現を使用したりすることもできます。
- Exclude by Scope を使用して、デプロイメント、クラスター、namespaces、およびラベルを除外します。このフィールドは、指定したエンティティーにポリシーが適用されないことを示します。複数のスコープを追加したり、namespaces とラベルの RE2 構文で正規表現を使用したりすることもできます。ただし、デプロイメントの選択に正規表現を使用することはできません。
除外されたイメージ (ビルドライフサイクルのみ) の場合、ポリシーの違反をトリガーしたくないすべてのイメージをリストから選択します。
注記除外されたイメージ (ビルドライフサイクルのみ) 設定は、継続的インテグレーションシステム (ビルドライフサイクルステージ) でイメージをチェックする場合にのみ適用されます。このポリシーを使用して、実行中のデプロイメント (デプロイライフサイクルステージ) またはランタイムアクティビティー (ランタイムライフサイクルステージ) をチェックする場合、効果はありません。
- Policy Criteria セクションで、ポリシーをトリガーする属性を設定します。
- パネルヘッダーで Next を選択します。
- 新しいポリシーパネルには、ポリシーを有効にした場合にトリガーされる違反のプレビューが表示されます。
- パネルヘッダーで Next を選択します。
ポリシーの適用動作を選択します。適用設定は、Lifecycle Stages オプションで選択したステージでのみ使用できます。ポリシーを適用して違反を報告するには、ON を選択します。違反のみを報告するには、OFF を選択します。
注記適用の振る舞いは、ライフサイクルの各ステージで異なります。
- Build ステージでは、イメージがポリシーの条件に一致すると、Red Hat Advanced Cluster Security for Kubernetes は CI ビルドに失敗します。
- Deploy ステージでは、Red Hat Advanced Cluster Security for Kubernetes は、ポリシーの条件に一致するデプロイの作成をブロックします。アドミッションコントローラーが適用されているクラスターでは、Kubernetes または OpenShift Container Platform サーバーがすべての非準拠のデプロイメントをブロックします。他のクラスターでは、Red Hat Advanced Cluster Security for Kubernetes が非準拠のデプロイメントを編集して、Pod がスケジュールされないようにします。
- Runtime ステージでは、Red Hat Advanced Cluster Security for Kubernetes はポリシーの条件に一致するすべての Pod を停止します。
警告ポリシーの適用は、実行中のアプリケーションまたは開発プロセスに影響を与える可能性があります。適用オプションを有効にする前に、すべての利害関係者に通知し、自動適用アクションに対応する方法を計画してください。
2.2. レジストリー統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
イメージをスキャンするには、ビルドパイプラインで使用しているイメージレジストリーへのアクセスを Red Hat Advanced Cluster Security for Kubernetes に提供する必要があります。
2.2.1. 既存のレジストリー統合を確認する リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、レジストリーとすでに統合されているかどうかを確認できます。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integration セクションで、強調表示された Registry タイルを探します。タイルには、そのタイルにすでに設定されているアイテムの数も表示されます。
レジストリータイルが強調表示されていない場合は、最初にイメージレジストリーと統合する必要があります。
2.3. アクセスの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes は、コマンドラインインターフェイス (CLI) roxctl を提供して、Red Hat Advanced Cluster Security for Kubernetes ポリシーをビルドパイプラインに簡単に統合できるようにします。roxctl CLI は、問題に関する詳細情報とその修正方法を出力して、開発者がコンテナーライフサイクルの初期ステージで高水準を維持できるようにします。
Red Hat Advanced Cluster Security for Kubernetes API サーバーに対して安全に認証するには、API トークンを作成する必要があります。
2.3.1. roxctl CLI を使用した認証 リンクのコピーリンクがクリップボードにコピーされました!
認証には、認証トークンまたは管理者パスワードを使用できます。Red Hat は、各トークンに特定のアクセス制御権限が割り当てられているため、実稼働環境で認証トークンを使用することが推奨されます。
次の手順を使用して、認証トークンを生成します。
手順
- RHACS ポータルに移動します。
- Platform Configuration → Integrations に移動します。
- Authentication Tokens カテゴリーまで下にスクロールし、API Token をクリックします。
- Generate Token をクリックします。
- トークンの名前を入力し、必要なレベルのアクセスを提供するロールを選択します (たとえば、Continuous Integration または Sensor Creator)。
Generate をクリックします。
重要生成されたトークンをコピーして安全に保存します。再度表示することはできません。
認証トークンを生成したら、それを ROX_API_TOKEN 変数としてエクスポートします。
export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>
トークンをファイルに保存して、-token-file オプションとともに使用することもできます。以下に例を示します。
roxctl central debug dump --token-file <token_file>
$ roxctl central debug dump --token-file <token_file>
-
-password(-p) オプションと--token-fileオプションの両方を同時に使用することはできません。 -
すでに
ROX_API_TOKEN変数を設定し、--token-fileオプションを指定している場合、roxctlCLI は指定されたトークンファイルを認証に使用します。 -
すでに
ROX_API_TOKEN変数を設定し、--passwordオプションを指定している場合、roxctlCLI は指定されたパスワードを認証に使用します。
2.3.2. バイナリーをダウンロードして roxctl CLI をインストール リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI をインストールして、コマンドラインインターフェイスから Red Hat Advanced Cluster Security for Kubernetes と対話できます。roxctl は、Linux、Windows、または macOS にインストールできます。
2.3.2.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Linux/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Linux/roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.2.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Darwin/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Darwin/roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.2.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
手順
roxctlCLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Windows/roxctl.exe
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. コンテナーから roxctl CLI の実行 リンクのコピーリンクがクリップボードにコピーされました!
roxctl クライアントは、Red Hat Advanced Cluster Security for Kubernetes roxctl イメージのデフォルトのエントリーポイントです。コンテナーイメージで roxctl クライアントを実行するには、以下を行います。
前提条件
- まず、RHACS ポータルから認証トークンを生成する必要があります。
手順
registry.redhat.ioレジストリーにログインします。docker login registry.redhat.io
$ docker login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI の最新のコンテナーイメージをプルします。docker pull registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3
$ docker pull registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
CLI をインストールした後、次のコマンドを使用して CLI を実行できます。
docker run -e ROX_API_TOKEN=$ROX_API_TOKEN \ -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 \ -e $ROX_CENTRAL_ADDRESS <command>
$ docker run -e ROX_API_TOKEN=$ROX_API_TOKEN \
-it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 \
-e $ROX_CENTRAL_ADDRESS <command>
検証
インストールした
roxctlのバージョンを確認します。docker run -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 version
$ docker run -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. CI パイプラインとの統合 リンクのコピーリンクがクリップボードにコピーされました!
これらの手順を完了したら、次のステップは CI パイプラインと統合することです。
各 CI システムでは、わずかに異なる設定が必要になる場合があります。
2.4.1. Jenkins の使用 リンクのコピーリンクがクリップボードにコピーされました!
StackRox Container Image Scanner Jenkins プラグインを使用して、Jenkins と統合します。このプラグインは、Jenkins フリースタイルプロジェクトとパイプラインの両方で使用できます。
2.4.2. CircleCI の使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を CircleCI と統合できます。
前提条件
-
Imageリソースのreadとwrite権限を持つトークンがある。 - Docker Hub アカウントのユーザー名とパスワードがある。
手順
- CircleCI にログインして、既存のプロジェクトを開くか、新しいプロジェクトを作成します。
- Project Settings をクリックします。
- Environment variables をクリックします。
変数の Add variable をクリックして、次の 3 つの環境変数を作成します。
- Name: STACKROX_CENTRAL_HOST - Central の DNS 名または IP アドレス。
- Name: ROX_API_TOKEN - Red Hat Advanced Cluster Security for Kubernetes にアクセスするための API トークン。
- Name: DOCKERHUB_PASSWORD - Docker Hub アカウントのパスワード。
- Name: DOCKERHUB_USER - Docker Hub アカウントのユーザー名。
-
CircleCI 設定ファイルがまだない場合は、選択したプロジェクトのローカルコードリポジトリーのルートディレクトリーに
.circleciというディレクトリーを作成します。 .circleciディレクトリーの次の行にconfig.yml設定ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記リポジトリーに CircleCI の
config.ymlファイルがすでにある場合は、既存の設定ファイルに指定された詳細を含む新しいジョブセクションを追加します。- 設定ファイルをリポジトリーにコミットした後、CircleCI ダッシュボードの Jobs キューに移動して、ビルドポリシーの適用を確認します。
第3章 PagerDuty との統合 リンクのコピーリンクがクリップボードにコピーされました!
PagerDuty を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から PagerDuty にアラートを転送できます。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を PagerDuty と統合するための高レベルのワークフローを表しています。
- PagerDuty に新しい API サービスを追加し、統合キーを取得します。
- 統合キーを使用して、Red Hat Advanced Cluster Security for Kubernetes で通知を設定します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
3.1. PagerDuty の設定 リンクのコピーリンクがクリップボードにコピーされました!
新しいサービスを作成し、統合キーを取得して、PagerDuty との統合を開始します。
手順
- Configuration → Services に移動します。
- Add Services を選択します。
- General Settings で、Name と Description を指定します。
- Integration Setting の Integration Type ドロップダウンメニューで Events v2 API を選択した状態で、Use our API Directly をクリックします。
- Incident Settings で、Escalation Policy を選択し、通知設定とインシデントタイムアウトを設定します。
- Incident Behavior と Alert Grouping のデフォルト設定を受け入れるか、必要に応じて設定します。
- Add Service をクリックします。
- Service Details ページで、Integration Key をメモします。
3.2. Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
統合キーを使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまで下にスクロールして、PagerDuty を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- PagerDuty integration key フィールドに統合キーを入力します。
-
Test (
checkmarkアイコン) をクリックして、PagerDuty との統合が機能していることを確認します。 -
Create (
saveアイコン) をクリックして、設定を作成します。
3.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、PagerDuty notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第4章 Slack との統合 リンクのコピーリンクがクリップボードにコピーされました!
Slack を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から Slack にアラートを転送できます。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を Slack と統合するための高レベルのワークフローを表しています。
- 新しい Slack アプリを作成し、受信 Webhook を有効にして、WebhookURL を取得します。
- Webhook URL を使用して、Slack を Red Hat Advanced Cluster Security for Kubernetes と統合します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
4.1. Slack の設定 リンクのコピーリンクがクリップボードにコピーされました!
新しい Slack アプリケーションを作成することから始めて、Webhook の URL を取得します。
前提条件
- Webhook を作成するには、管理者アカウントまたは権限を持つユーザーアカウントが必要。
手順
新しい Slack アプリケーションを作成します。
注記既存の Slack アプリケーションを使用する場合は、https://api.slack.com/apps にアクセスしてアプリケーションを選択してください。
- https://api.slack.com/apps/new に移動します。
- App Name を入力し、Development Slack Workspace を選択してアプリケーションをインストールします。
- Create App をクリックします。
- 設定ページの Basic Information セクションで、Incoming Webhooks を選択します (Add features and functionality の下)。
- Activate Incoming Webhooks トグルをオンにします。
- Add New Webhook to Workspace 選択します。
- アプリケーションが投稿する channel を選択し、Authorize を選択します。ページが更新され、アプリケーションの設定ページに戻ります。
- Webhook URLs for Your Workspace セクションにある Webhook URL をコピーします。
詳細は、Slack のドキュメントトピック Getting started with Incoming Webhooks 参照してください。
4.1.1. さまざまな Slack チャネルにアラートを送信する リンクのコピーリンクがクリップボードにコピーされました!
さまざまな Slack チャネルに通知を送信して、適切なチームに直接送信されるように、Red Hat Advanced Cluster Security for Kubernetes を設定できます。
手順
受信 Webhook を設定した後、デプロイメント YAML ファイルに次のようなアノテーションを追加します。
example.com/slack-webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
example.com/slack-webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXXCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Advanced Cluster Security for Kubernetes を設定するときは、Label/Annotation Key For Slack Webhook フィールドでアノテーションキー
example.com/slack-webhookを使用します。
設定が完了した後、デプロイメントに YAML ファイルで設定したアノテーションが含まれている場合、Red Hat Advanced Cluster Security for Kubernetes はそのアノテーションに指定した Webhook URL にアラートを送信します。それ以外の場合は、デフォルトの Webhook URL にアラートを送信します。
4.2. Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまで下にスクロールして、Slack を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- 生成された Webhook URL を Default Slack Webhook フィールドに入力します。
-
Test (
checkmarkアイコン) を選択して、Slack との統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。
4.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、Slack notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第5章 一般的な Webhook を使用した統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を使用すると、アラート通知を JSON メッセージとして任意の Webhook レシーバーに送信できます。違反が発生すると、Red Hat Advanced Cluster Security for Kubernetes は設定された URL に対して HTTP POST リクエストを行います。POST リクエストの本文には、アラートに関する JSON 形式の情報が含まれています。
次の例に示すように、Webhook POST リクエストの JSON データには、v1.Alert オブジェクトと設定したカスタムフィールドが含まれます。
複数の Webhook を作成できます。たとえば、すべての監査ログを受信するための 1 つの Webhook と、アラート通知のための別の Webhook を作成できます。
Red Hat Advanced Cluster Security for Kubernetes から任意の Webhook レシーバーにアラートを転送するには:
- アラートを受信するための Webhook URL を設定します。
- Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes で通知を設定します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
5.1. Webhook を使用した統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Generic Webhook を選択します。
- New integration をクリックします。
- Integration name の名前を入力します。
- Endpoint フィールドに Webhook の URL を入力します。
Webhook レシーバーが信頼できない証明書を使用している場合は、CA certificate フィールドに CA 証明書を入力します。それ以外の場合は、空白のままにします。
注記Webhook レシーバーが使用するサーバー証明書は、エンドポイント DNS 名に対して有効である必要があります。Skip TLS verification をクリックして、この検証を無視できます。Red Hat は、TLS 検証をオフにすることを推奨していません。TLS 検証がないと、意図しない受信者によってデータが傍受される可能性があります。
オプション: Enable audit logging をクリックして、Red Hat Advanced Cluster Security for Kubernetes で行われたすべての変更に関するアラートを受信します。
注記Red Hat は、アラートと監査ログに別々の Webhook を使用して、これらのメッセージを異なる方法で処理することを提案しています。
Webhook レシーバーで認証するには、次のいずれかの詳細を入力します。
- 基本 HTTP 認証の ユーザー名 と パスワード
-
カスタム ヘッダー、例:
Authorization: Bearer <access_token>
-
Extra fields を使用して、Red Hat Advanced Cluster Security for Kubernetes が送信する JSON オブジェクトに追加のキーと値のペアを含めます。たとえば、Webhook レシーバーが複数のソースからのオブジェクトを受け入れる場合、追加フィールドとして
"source": "rhacs"を追加し、この値でフィルター処理して、Red Hat Advanced Cluster Security for Kubernetes からのすべてのアラートを識別できます。 - Test を選択してテストメッセージを送信し、一般的な Webhook との統合が機能していることを確認します。
- Save を選択して設定を作成します。
5.2. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、webhook notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第6章 QRadar との統合 リンクのコピーリンクがクリップボードにコピーされました!
RHACS で汎用 Webhook 統合を設定することにより、QRadar にイベントを送信するように Red Hat Advanced Cluster Security for Kubernetes を設定できます。
以下のステップは、RHACS を QRadar と統合するための大まかなワークフローを表しています。
RHACS では:
汎用 Webhook を設定します。
注記RHACS で統合を設定するときは、Endpoint フィールドで、次の例をガイドとして使用します:
<URL to QRadar Box>:<Port of Integration>。- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
- QRadar がログソースを自動的に検出しない場合は、QRadar コンソールに RHACS ログソースを追加します。QRadar および RHACS の設定について詳しくは、Red Hat Advanced Cluster Security for Kubernetes IBM リソースを参照してください。
6.1. Webhook を使用した統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Generic Webhook を選択します。
- New integration をクリックします。
- Integration name の名前を入力します。
- Endpoint フィールドに Webhook の URL を入力します。
Webhook レシーバーが信頼できない証明書を使用している場合は、CA certificate フィールドに CA 証明書を入力します。それ以外の場合は、空白のままにします。
注記Webhook レシーバーが使用するサーバー証明書は、エンドポイント DNS 名に対して有効である必要があります。Skip TLS verification をクリックして、この検証を無視できます。Red Hat は、TLS 検証をオフにすることを推奨していません。TLS 検証がないと、意図しない受信者によってデータが傍受される可能性があります。
オプション: Enable audit logging をクリックして、Red Hat Advanced Cluster Security for Kubernetes で行われたすべての変更に関するアラートを受信します。
注記Red Hat は、アラートと監査ログに別々の Webhook を使用して、これらのメッセージを異なる方法で処理することを提案しています。
Webhook レシーバーで認証するには、次のいずれかの詳細を入力します。
- 基本 HTTP 認証の ユーザー名 と パスワード
-
カスタム ヘッダー、例:
Authorization: Bearer <access_token>
-
Extra fields を使用して、Red Hat Advanced Cluster Security for Kubernetes が送信する JSON オブジェクトに追加のキーと値のペアを含めます。たとえば、Webhook レシーバーが複数のソースからのオブジェクトを受け入れる場合、追加フィールドとして
"source": "rhacs"を追加し、この値でフィルター処理して、Red Hat Advanced Cluster Security for Kubernetes からのすべてのアラートを識別できます。 - Test を選択してテストメッセージを送信し、一般的な Webhook との統合が機能していることを確認します。
- Save を選択して設定を作成します。
6.2. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、webhook notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第7章 ServiceNow との統合 リンクのコピーリンクがクリップボードにコピーされました!
RHACS で汎用 Webhook 統合を設定することにより、イベントを ServiceNow に送信するように Red Hat Advanced Cluster Security for Kubernetes を設定できます。
次の手順は、RHACS を ServiceNow と統合するための高レベルのワークフローを表しています。
- ServiceNow で、RHACS で使用する REST API エンドポイントを設定します。ServiceNow 設定の手順を含む詳細については、Red Hat Advanced Cluster Security for Kubernetes と ServiceNow を統合する方法 を参照してください。
RHACS では:
- 汎用 Webhook を設定します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
7.1. Webhook を使用した統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Generic Webhook を選択します。
- New integration をクリックします。
- Integration name の名前を入力します。
- Endpoint フィールドに Webhook の URL を入力します。
Webhook レシーバーが信頼できない証明書を使用している場合は、CA certificate フィールドに CA 証明書を入力します。それ以外の場合は、空白のままにします。
注記Webhook レシーバーが使用するサーバー証明書は、エンドポイント DNS 名に対して有効である必要があります。Skip TLS verification をクリックして、この検証を無視できます。Red Hat は、TLS 検証をオフにすることを推奨していません。TLS 検証がないと、意図しない受信者によってデータが傍受される可能性があります。
オプション: Enable audit logging をクリックして、Red Hat Advanced Cluster Security for Kubernetes で行われたすべての変更に関するアラートを受信します。
注記Red Hat は、アラートと監査ログに別々の Webhook を使用して、これらのメッセージを異なる方法で処理することを提案しています。
Webhook レシーバーで認証するには、次のいずれかの詳細を入力します。
- 基本 HTTP 認証の ユーザー名 と パスワード
-
カスタム ヘッダー、例:
Authorization: Bearer <access_token>
-
Extra fields を使用して、Red Hat Advanced Cluster Security for Kubernetes が送信する JSON オブジェクトに追加のキーと値のペアを含めます。たとえば、Webhook レシーバーが複数のソースからのオブジェクトを受け入れる場合、追加フィールドとして
"source": "rhacs"を追加し、この値でフィルター処理して、Red Hat Advanced Cluster Security for Kubernetes からのすべてのアラートを識別できます。 - Test を選択してテストメッセージを送信し、一般的な Webhook との統合が機能していることを確認します。
- Save を選択して設定を作成します。
7.2. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、webhook notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第8章 Sumo Logic との統合 リンクのコピーリンクがクリップボードにコピーされました!
Sumo Logic を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から Sumo Logic にアラートを転送できます。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を Sumo Logic と統合するための高レベルのワークフローを表しています。
- Sumo Logic に新しいカスタムアプリケーションを追加し、HTTP ソースを設定して、HTTP URL を取得します。
- HTTP URL を使用して、Sumo Logic を Red Hat Advanced Cluster Security for Kubernetes と統合します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
8.1. Sumo Logic の設定 リンクのコピーリンクがクリップボードにコピーされました!
Setup Wizard を使用して、Streaming Data を設定し、HTTP URL を取得します。
手順
- Sumo Logic ホームページにログインし、Setup Wizard を選択します。
- カーソルを Set Up Streaming Data に移動し、Get Started を選択します。
- データ型の選択ページで、Your Custom App を選択します。
- コレクションの設定ページで、HTTP Source を選択します。
-
Source Category の名前 (たとえば、
rhacs) を入力し、Continue をクリックします。 - 生成された URL を Copy します。
8.2. Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
HTTP URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまで下にスクロールして、Sumo Logic を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- 生成された HTTP URL を HTTP Collector Source Address フィールドに入力します。
-
Test (
checkmarkアイコン) をクリックして、Sumo Logic との統合が機能していることをテストします。 -
Create (
saveアイコン) をクリックして、設定を作成します。
8.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、Sumo Logic notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
8.4. Sumo Logic でアラートを表示する リンクのコピーリンクがクリップボードにコピーされました!
Sumo Logic で Kubernetes の Red Hat からのアラートを表示できます。
- Sumo Logic ホームページにログインし、Log Search をクリックします。
-
検索ボックスに
_sourceCategory=rhacsと入力します。Sumo Logic の設定時に入力したものと同じ Source Category 名を使用してください。 - 時間を選択し、Start をクリックします。
第9章 Google Cloud Storage との統合 リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Storage (GCS) と統合して、データのバックアップを有効にすることができます。これらのバックアップは、インフラストラクチャーの災害やデータの破損が発生した場合のデータの復元に使用できます。GCS と統合した後、毎日または毎週のバックアップをスケジュールし、手動のオンデマンドバックアップを実行できます。
バックアップには、Red Hat Advanced Cluster Security for Kubernetes データベース全体が含まれます。これには、すべての設定、リソース、イベント、および証明書が含まれます。バックアップが安全に保存されていることを確認してください。
バージョン 3.0.53 以前の Red Hat Advanced Cluster Security for Kubernetes を使用している場合は、バックアップに証明書が含まれていません。
9.1. Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Storage (GCS) でデータバックアップを設定するには、Red Hat Advanced Cluster Security for Kubernetes に統合を作成します。
前提条件
- 既存の bucket。新しいバケットを作成するには、Google Cloud Storage の公式ドキュメントトピック Creating storage buckets を参照。
-
使用するストレージバケットに
Storage Object AdminIAM ロールを持つ service account。Google Cloud Storage の公式ドキュメントトピック Using Cloud IAM permissions を参照。 - 使用しているサービスアカウントの サービスアカウントキーファイル (JSON)。GoogleCloud の公式ドキュメントトピック Creating a service account と Creating service account keys を参照。
現在、Red Hat Advanced Cluster Security for Kubernetes は、Workload Identity を使用した GCS への認証をサポートしていない。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- External backups セクションまで下にスクロールして、Google Cloud Storage を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- Backups To Retain ボックスに、保持するバックアップの数を入力します。
- Schedule で、バックアップの頻度 (毎日または毎週) とバックアッププロセスを実行する時間を選択します。
- バックアップを保存する Bucket 名を入力します。
- Service Account JSON フィールドに、サービスアカウントのキーファイルのコンテンツを入力します。
-
Test (
checkmarkアイコン) を選択して、GCS との統合が機能していることを確認します。 -
Create (
saveアイコン) を選択して、設定を作成します。
設定が完了すると、Red Hat Advanced Cluster Security for Kubernetes は、指定されたスケジュールに従ってすべてのデータを自動的にバックアップします。
9.1.1. Google Cloud Storage でオンデマンドバックアップを実行する リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、Google Cloud Storage 上の Red Hat Advanced Cluster Security for Kubernetes の手動バックアップをトリガーします。
前提条件
- Red Hat Advanced Cluster Security for Kubernetes を Google Cloud Storage にすでに統合している必要があります。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- External backups セクションで、Google Cloud Storage をクリックします。
- バックアップを実行する GCS バケットの統合名を選択します。
- Trigger Backup をクリックします。
現在、Trigger Backup オプションを選択しても、通知はありません。ただし、Red Hat Advanced Cluster Security for Kubernetes は、バックグラウンドでバックアップタスクを開始します。
第10章 syslog プロトコルを使用した統合 リンクのコピーリンクがクリップボードにコピーされました!
Syslog は、データ保持とセキュリティー調査のために、アプリケーションが SIEM や syslog コレクターなどのセントラルの場所にメッセージを送信するために使用するイベントログプロトコルです。Red Hat Advanced Cluster Security for Kubernetes を使用すると、syslog プロトコルを使用してアラートと監査イベントを送信できます。
- syslog プロトコルを使用してイベントを転送するには、Red Hat Advanced Cluster Security for Kubernetes バージョン 3.0.52 以降が必要です。
- syslog 統合を使用する場合、Red Hat Advanced Cluster Security for Kubernetes は、設定した違反アラートとすべての監査イベントの両方を転送します。
- 現在、Red Hat Advanced Cluster Security for Kubernetes は CEF (共通イベント形式) のみをサポートしています。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を syslog イベントレシーバーと統合するための高レベルのワークフローを表しています。
- アラートを受信するように syslog イベントレシーバーを設定します。
- レシーバーのアドレスとポート番号を使用して、Red Hat Advanced Cluster Security for Kubernetes で通知を設定します。
設定後、Red Hat Advanced Cluster Security for Kubernetes は、設定された syslog レシーバーにすべての違反と監査イベントを自動的に送信します。
10.1. Red Hat Advanced Cluster Security for Kub との syslog 統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes で新しい syslog 統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Syslog を選択します。
- New Integration (add アイコン) をクリックします。
- Integration Name の名前を入力します。
-
Logging Facility の値を
local0からlocal7まで選択します。 - Receiver Host アドレスと Receiver Port 番号を入力します。
- TLS を使用している場合は、Use TLS トグルをオンにします。
- 信頼されていない証明書を使用している syslog レシーバーの場合は、Disable TLS Certificate Validation (Insecure) トグルをオンにします。それ以外の場合は、このトグルをオフのままにします。
-
Test (
checkmarkアイコン) を選択してテストメッセージを送信し、汎用 Webhook との統合が機能していることを確認します。 -
Create (
saveアイコン) を選択して、設定を作成します。
第11章 Amazon S3 との統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を Amazon S3 と統合して、データのバックアップを有効にすることができます。これらのバックアップは、インフラストラクチャーの災害やデータの破損が発生した場合のデータの復元に使用できます。Amazon S3 と統合した後、毎日または毎週のバックアップをスケジュールし、手動のオンデマンドバックアップを実行できます。
バックアップには、Red Hat Advanced Cluster Security for Kubernetes データベース全体が含まれます。これには、すべての設定、リソース、イベント、および証明書が含まれます。バックアップが安全に保存されていることを確認してください。
- バージョン 3.0.53 以前の Red Hat Advanced Cluster Security for Kubernetes を使用している場合は、バックアップに証明書が含まれていません。
- Amazon S3 がエアギャップ環境の一部である場合は、Red Hat Advanced Cluster Security for Kubernetes で AWS ルート CA を 信頼できる認証局 として追加する必要があります。
11.1. Red HatAdvanced Cluster Security for Kubernetes で Amazon S3 統合を設します。 リンクのコピーリンクがクリップボードにコピーされました!
Amazon S3 バックアップを設定するには、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
前提条件
- 既存の S3 バケット。必要な権限を持つ新しいバケットを作成するには、Amazon のドキュメントトピック Creating a bucket を参照。
-
S3 バケット、Access key ID、および Secret access key の
Read、write、およびdeleteの権限。 -
KIAM、kube2iam、または別のプロキシーを使用している場合は、
read、write、およびdeleteの権限を持つ IAM role。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- External backups セクションまで下にスクロールして、Amazon S3 を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- Backups To Retain ボックスに、保持するバックアップの数を入力します。
- Schedule で、バックアップの頻度を日次または週次として選択し、バックアッププロセスを実行する時間を選択します。
- バックアップを保存する Bucket 名を入力します。
- バックアップを特定のフォルダー構造に保存する場合は、必要に応じて Object Prefix を入力します。詳細については、Amazon のドキュメントトピック Working with object metadata を参照してください。
- 非公開の S3 インスタンスを使用している場合は、バケットの Endpoint を入力します。それ以外の場合は、空白のままにします。
- バケットの Region を入力します。
- Use Container IAM Role トグルをオンにするか、Access Key ID と Secret Access Key を入力します。
-
Test (
checkmarkアイコン) を選択して、AmazonS3 との統合が機能していることを確認します。 -
Create (
saveアイコン) を選択して、設定を作成します。
設定が完了すると、Red Hat Advanced Cluster Security for Kubernetes は、指定されたスケジュールに従ってすべてのデータを自動的にバックアップします。
11.2. Amazon S3 でのオンデマンドバックアップの実行 リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、Amazon S3 上の Red Hat Advanced Cluster Security for Kubernetes の手動バックアップをトリガーします。
前提条件
- Red Hat Advanced Cluster Security for Kubernetes を Amazon S3 にすでに統合している必要があります。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- External backups セクションで、AmazonS3 をクリックします。
- バックアップを実行する S3 バケットの統合名を選択します。
- Trigger Backup をクリックします。
現在、Trigger Backup オプションを選択しても、通知はありません。ただし、Red Hat Advanced Cluster Security for Kubernetes は、バックグラウンドでバックアップタスクを開始します。
第12章 Google Cloud Security コマンドセンターとの統合 リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Security Command Center (Cloud SCC) を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から Cloud SCC にアラートを転送できます。このガイドでは、Red Hat Advanced Cluster Security for Kubernetes を Cloud SCC と統合する方法について説明します。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を Cloud SCC と統合するための高レベルのワークフローを表しています。
- 新しいセキュリティーソースを Google Cloud に登録します。
- Red Hat Advanced Cluster Security for Kubernetes にソース ID とサービスアカウントキーを提供します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
12.1. GoogleCloud SCC の設定 リンクのコピーリンクがクリップボードにコピーされました!
まず、信頼できるクラウド SCC ソースとして Red Hat Advanced Cluster Security for Kubernetes を追加します。
手順
- Adding vulnerability and threat sources to Cloud Security Command Center ガイドに従い、Red Hat Advanced Cluster Security for Kubernetes を信頼できるクラウド SCC ソースとして追加します。Red HatAdvanced Cluster Security for Kubernetes の統合のために Google Cloud が作成する Source ID をメモしておきます。登録後にソース ID が表示されない場合は、Cloud SCC Security Sources page で確認できます。
- 前の手順で作成したサービスアカウント、または使用した既存のアカウントのキーを作成します。詳細については creating and managing service account keys Google Cloud のガイドを参照してください。
12.2. Google Cloud SCC と統合するための Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
Source ID と service account key を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい Google Cloud SCC 統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまで下にスクロールして、Google Cloud SCC を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
- Cloud SCC Source ID と Service Account Key (JSON) を入力します。
-
Create (
saveアイコン) を選択して、設定を作成します。
12.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、Google Cloud SCC notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
第13章 Splunk との統合 リンクのコピーリンクがクリップボードにコピーされました!
Splunk を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から Splunk にアラートを転送し、Splunk 内から脆弱性とコンプライアンスに関連するデータを表示できます。
ユースケースに応じて、次の方法を使用して、Red Hat Advanced Cluster Security for Kubernetes を Splunk と統合できます。
Splunk で HTTP イベントコレクターを使用する方法
- イベントコレクターオプションを使用して、アラートと監査ログデータを転送します
StackRox Kubernetes Security Platform アドオンを使用する方法
アドオンを使用して、脆弱性の検出とコンプライアンスのデータを Splunk に取り込みます
注記StackRox Kubernetes Security Platform アドオンは、Red Hat Advanced Cluster Security for Kubernetes バージョン 3.0.51.0 以降を使用している場合にのみ使用できます。
これらの統合オプションの一方または両方を使用して、Red Hat Advanced Cluster Security for Kubernetes を Splunk と統合できます。
13.1. HTTP イベントコレクターの使用 リンクのコピーリンクがクリップボードにコピーされました!
HTTP イベントコレクターを使用して、Red Hat Advanced Cluster Security for Kubernetes から Splunk にアラートを転送できます。
HTTP イベントコレクターを使用して Red Hat Cluster Security for Kubernetes を Splunk と統合するには、次の手順に従います。
- Splunk に新しい HTTP イベントコレクターを追加し、トークン値を取得します。
- トークン値を使用して、Red Hat Advanced Cluster Security for Kubernetes で通知を設定します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
13.1.1. Splunk に HTTP イベントコレクターを追加する リンクのコピーリンクがクリップボードにコピーされました!
Splunk インスタンスの新しい HTTP イベントコレクターを追加し、トークンを取得します。
手順
- Splunk ダッシュボードで、Settings → Add Data に移動します。
- Monitor をクリックします。
- Add Data ページで、HTTP Event Collector をクリックします。
- イベントコレクターの Name を入力し、Next > をクリックします。
- デフォルトの Input Settings を受け入れて、Review > をクリックします。
- イベントコレクターのプロパティーを確認し、Submit > をクリックします。
- イベントコレクターの Token Value をコピーします。このトークン値は、Red Hat Advanced Cluster Security for Kubernetes で Splunk との統合を設定するために必要です。
13.1.1.1. HTTP イベントコレクターの有効化 リンクのコピーリンクがクリップボードにコピーされました!
イベントを受信する前に、HTTP イベントコレクタートークンを有効にする必要があります。
手順
- Splunk ダッシュボードで、Settings → Data inputs に移動します。
- HTTP Event Collector をクリックします。
- Global Settings をクリックします。
- 開いたダイアログで、Enabled をクリックし、Save をクリックします。
13.1.2. Red Hat Advanced Cluster Security for Kubernetes での Splunk 統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
トークン値を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい Splunk 統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Splunk を選択します。
-
New Integration (
addアイコン) をクリックします。 - Integration Name の名前を入力します。
-
SplunkURL を HTTP Event Collector URL フィールドに入力します。HTTPS の場合は
443、HTTP の場合は80でない場合は、ポート番号を指定する必要があります。また、URL の最後に URL パス/services/collector/eventを追加する必要があります。たとえば、https://<splunk-server-path>:8088/services/collector/eventです。 HTTP Event Collector Token フィールドにトークンを入力します。
注記Red Hat Advanced Cluster Security for Kubernetes バージョン 3.0.57 以降を使用している場合は Source Type for Alert イベントと Source Type for Audit イベントのソースタイプを指定できます。
-
Test (
checkmarkアイコン) を選択してテストメッセージを送信し、Splunk との統合が機能していることを確認します。 -
Create (
saveアイコン) を選択して、設定を作成します。
13.1.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、Splunk notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
13.2. StackRox Kubernetes Security Platform アドオンの使用 リンクのコピーリンクがクリップボードにコピーされました!
StackRox Kubernetes Security Platform アドオンを使用して、脆弱性の検出とコンプライアンスに関連するデータを Red Hat Advanced Cluster Security for Kubernetes から Splunk に転送できます。
まず、Red Hat Advanced Cluster Security for Kubernetes のすべてのリソースに対する読み取り権限を持つ API トークンを生成し、そのトークンを使用してアドオンをインストールおよび設定します。
13.2.1. Splunk アドオンのインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
StackRox Kubernetes Security Platform アドオンを Splunk インスタンスからインストールできます。
前提条件
-
Red Hat Advanced Cluster Security for Kubernetes のすべてのリソースに対する
read権限を持つ API トークンがある。Analyst システムロールを割り当てて、このレベルのアクセスを許可できます。Analyst ロールには、すべてのリソースに対する read 権限がある。
手順
- StackRox Kubernetes Security Platform アドオンを Splunkbase からダウンロードします。
- Splunk インスタンスの Splunk ホームページに移動します。
- Apps → Manage Apps に移動します。
- Install app from file を選択します。
- Upload app ポップアップボックスで、Choose File を選択し、StackRox Kubernetes Security Platform アドオンファイルを選択します。
- アップロード をクリックします。
- Restart Splunk をクリックし、再起動することを確認します。
- Splunk が再起動したら、Apps メニューから StackRox を選択します。
- Create New Input をクリックします。
- StackRox Compliance を選択してコンプライアンスデータをプルするか、StackRox Vulnerability Management を選択して脆弱性データを Splunk にプルします。
- 入力の Name を入力します。
- Red Hat Advanced Cluster Security for Kubernetes からデータをプルする Interval を選択します。たとえば、14400 秒ごと。
- データの送信先となる Splunk Index を選択します。
- Central Endpoint には、セントラルインスタンスの IP アドレスまたは名前を入力します。
- アドオン用に生成した API token を入力します。
- Add をクリックします。
第14章 イメージ脆弱性スキャナーとの統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、さまざまな脆弱性スキャナーと統合して、コンテナーイメージをインポートし、脆弱性を監視できるようにします。Red Hat Advanced Cluster Security for Kubernetes を設定して、次のような多くのオープンソースおよび商用コンテナーのイメージ脆弱性スキャナーからイメージの脆弱性データを取得できます。
これらの製品のいずれかを DevOps ワークフローで使用している場合は、RHACS ポータルを使用して RHACS との接続を設定できます。統合されると、イメージの脆弱性は RHACS ポータルに表示され、簡単にトリアージできます。
14.1. CoreOS Clair との統合 リンクのコピーリンクがクリップボードにコピーされました!
イメージの脆弱性を静的に分析するために、Red Hat Advanced Cluster Security for Kubernetes を CoreOS Clair と統合できます。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで、CoreOS Clair を選択します。
- New integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration name: インテグレーションの名前。
- Endpoint: スキャナーのアドレス。
- オプション: レジストリーへの接続時に TLS 証明書を使用していない場合は、Disable TLS certificate validation (insecure) を選択します。
- オプション: Test を選択して、選択したレジストリーとの統合が機能していることをテストします。
- Save を選択します。
14.2. Google Container Registry との統合 リンクのコピーリンクがクリップボードにコピーされました!
コンテナー分析と脆弱性スキャンのために、Red Hat Advanced Cluster Security for Kubernetes を Google Container Registry (GCR) と統合できます。
前提条件
- Google Container Registry のサービスアカウントキーが必要。
- 関連付けられたサービスアカウントは、レジストリーにアクセスできる。ユーザーおよび他のプロジェクトに GCR へのアクセスを許可する方法は、Configuring access control を参照してください。
GCR Container Analysis を使用している場合は、サービスアカウントに次のロールを付与しています。
- コンテナー分析ノートビューアー
- コンテナー分析発生状況ビューアー
- ストレージオブジェクトビューアー
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
Image Integrations セクションで、Google Container Registry を選択します。
Configure image integration ボックスが開きます。
- New Integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration Name: 統合の名前。
- Types: Scanner を選択します。
- Registry Endpoint: レジストリーのアドレス。
- Project: Google Cloud プロジェクト名。
- Service Account Key (JSON) 認証用のサービスアカウントキー。
-
Test (
checkmarkアイコン) を選択して、選択したレジストリーとの統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。
14.3. イメージをスキャンするための Quay Container Registry との統合 リンクのコピーリンクがクリップボードにコピーされました!
イメージをスキャンするために、Red Hat Advanced Cluster Security for Kubernetes を Quay Container Registry と統合できます。
前提条件
- イメージをスキャンするには、Quay Container Registry で認証するための OAuth トークンが必要です。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Image Integrations セクションで Red Hat Quay.io を選択します。
- New integration をクリックします。
- Integration name を入力します。
Type で、Scanner を選択します。(レジストリーとも統合する場合は、Scanner + Registry を選択します。) 以下のフィールドに情報を入力します。
- Endpoint: レジストリーのアドレスを入力します。
- OAuth token: RHACS が API を使用して認証するために使用する OAuth トークンを入力します。
-
オプション: Robot username: Scanner + Registry を設定しており、Quay ロボットアカウントを使用してレジストリーにアクセスしている場合は、
<namespace>+<accountname>の形式でユーザー名を入力します。 - オプション: Robot password: Scanner + Registry を設定していて、Quay ロボットアカウントを使用してレジストリーにアクセスしている場合は、ロボットアカウントのユーザー名のパスワードを入力します。
- オプション: レジストリーへの接続時に TLS 証明書を使用していない場合は、Disable TLS certificate validation (insecure) を選択します。
- オプション: テストを行わずにインテグレーションを作成するには、Create integration without testing を選択します。
- Save を選択します。
Quay インテグレーションを編集しているが資格情報を更新したくない場合は、Update stored credentials が選択されていないことを確認します。
第15章 Jira との統合 リンクのコピーリンクがクリップボードにコピーされました!
Jira を使用している場合は、Red Hat Advanced Cluster Security for Kubernetes から Jira にアラートを転送できます。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes を Jira と統合するための高レベルのワークフローを表しています。
- Jira でユーザーを設定します。
- Jira の URL、ユーザー名、パスワードを使用して、Jira を Red Hat Advanced Cluster Security for Kubernetes と統合します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
15.1. Jira の設定 リンクのコピーリンクがクリップボードにコピーされました!
新しいユーザーを作成することから始め、適切なロールと権限を割り当てます。
前提条件
- 統合するプロジェクトで課題を作成および編集するための権限を持つ Jira アカウントが必要。
手順
問題を作成するプロジェクトにアクセスできるユーザーを Jira に作成します。
- 新しいユーザーを作成するには、Jira ドキュメントトピックの Create, edit, or remove a user を参照してください。
ユーザーにプロジェクトのロールとアプリケーションへのアクセスを許可するには、Jira ドキュメントトピックの Assign users to groups, project roles, and applications を参照してください。
注記Jira Software Cloud を使用している場合は、ユーザーを作成した後、ユーザーのトークンを作成する必要があります。
- https://id.atlassian.com/manage/api-tokens にアクセスして、新しいトークンを生成します。
- Kubernetes の Red Hat Cluster Security を設定するときは、トークンをパスワードとして使用してください。
15.2. Red Hat Advanced Cluster Security for Kubernetes の設定 リンクのコピーリンクがクリップボードにコピーされました!
Jira サーバーの URL とユーザーのクレデンシャルを使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションまでスクロールダウンし、Jira Software を選択します。
- New Integration をクリックします。
- Integration Name の名前を入力します。
- Username ボックスと Password or API Token ボックスにユーザーのクレデンシャルを入力します。
- Issue Type に、有効な Jira Issue Type (Task、Sub-task、Bug など) を入力します。
- Jira URL ボックスに Jira サーバーの URL を入力します。
- 問題を作成するプロジェクトのキーを Default Project ボックスに入力します。
- Annotation Key For Project ボックスを使用して、さまざまな Jira プロジェクトで課題を作成します。
- Jira プロジェクトでカスタムプライオリティーを使用する場合は、Priority Mapping トグルを使用してカスタムプライオリティーを設定します。
JIRA プロジェクトで必須のカスタムフィールドを使用する場合は、Default Fields JSON (Necessary If Required Fields) ボックスに JSON 値として入力します。以下に例を示します。
{ "customfield_10004": 3, "customfield_20005": "Alerts", }{ "customfield_10004": 3, "customfield_20005": "Alerts", }Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Test (
checkmarkアイコン) を選択して、Jira との統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。
15.2.1. さまざまな Jira プロジェクトで問題を作成する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を設定して、さまざまな Jira プロジェクトで問題を作成し、適切なチームに直接移動できるようにすることができます。
前提条件
- アラートを送信する各プロジェクトにアクセスできるアカウントが必要。
手順
デプロイ YAML ファイルに次のようなアノテーションを追加します。
jira/project-key: <jira_project_key>
jira/project-key: <jira_project_key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Advanced Cluster Security for KubernetesCluster Security を設定するときは、Annotation Key For Project フィールドでアノテーションキー
jira/project-keyを使用します。
設定が完了した後、デプロイメントの YAML ファイルにアノテーションが含まれている場合、Red Hat Advanced Cluster Security for Kubernetes はそのアノテーションに指定されたプロジェクトにアラートを送信します。それ以外の場合は、アラートがデフォルトのプロジェクトに送信されます。
15.2.2. Jira でのカスタムプライオリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Jira プロジェクトでカスタムプライオリティーを使用している場合は、Red Hat Advanced Cluster Security for Kubernetes でそれらを設定できます。
手順
- Red Hat Advanced Cluster Security for Kubernetes で Jira 統合を設定しているときに、Priority Mapping トグルをオンにします。Red Hat Advanced Cluster Security for Kubernetes は JIRA プロジェクトスキーマを取得し、CRITICAL_SEVERITY、HIGH_SEVERITY、MEDIUM_SEVERITY、および LOW_SEVERITY フィールドの値を自動入力します。
- JIRA プロジェクト設定に基づいて、プライオリティーの値を確認または更新します。
-
Test (
checkmarkアイコン) を選択して、Jira との統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。
エラーが発生した場合は、Jira 統合のトラブルシューティング セクションの手順に従います。
15.3. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、Jira notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。
15.4. Jira 統合のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Jira プロジェクトでカスタムプライオリティーまたは必須のカスタムフィールドを使用している場合、Red Hat Advanced Cluster Security for Kubernetes を Jira Software と統合しようとするとエラーが発生する可能性があります。このエラーは、重大度と優先度フィールドの値が一致していないことが原因である可能性があります。
JIRA プロジェクトのカスタムプライオリティーの値がわからない場合は、roxctl CLI を使用して JIRA 統合のデバッグログを有効にします。
手順
JIRA プロジェクトからカスタムプライオリティーの値を取得するには、次のコマンドを実行して、JIRA 統合のデバッグログをオンにします。
roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Debug --modules notifiers/jira
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Debug --modules notifiers/jiraCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 指示に従って、Jira 統合用の Red Hat Advanced Cluster Security for Kubernetes を設定します。統合をテストすると、統合テストが失敗した場合でも、生成されたログには JIRA プロジェクトスキーマとカスタムプライオリティーが含まれます。
デバッグ情報を圧縮された
.zipファイルとして保存するには、次のコマンドを実行します。roxctl -e "$ROX_CENTRAL_ADDRESS" central debug dump
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
.zipファイルを解凍して、JIRA プロジェクトで使用されているカスタムプライオリティーの値を取得します。 デバッグログをオフにするには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Info
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level InfoCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Jira 統合のために Red Hat Advanced Cluster Security for Kubernetes を再度設定し、プライオリティーの値を使用してカスタムプライオリティーを設定します。
第16章 メールとの統合 リンクのコピーリンクがクリップボードにコピーされました!
ポリシー違反に関するアラートを標準の電子メールプロバイダーに送信するように Red Hat Advanced Cluster Security for Kubernetes (RHACS) を設定します。
RHACS から標準の電子メールプロバイダーにアラートを転送することにより、通知方法として電子メールを使用できます。RHACS プラットフォームから電子メールアドレスにアラートを転送するには、Default Recipient フィールドを使用して標準の集中型チームに電子メールを送信するか、デプロイメントアノテーションを使用して通知の対象者を指定します。
アノテーションキーを使用して、デプロイメントまたは namespace に関連付けられているポリシー違反について通知するオーディエンスを定義できます。デプロイメントにアノテーションがある場合、アノテーションの値がデフォルト値をオーバーライドします。namespace にアノテーションがある場合、namespace の値がデフォルト値を上書きします。
- デプロイメントにアノテーションキーと定義されたオーディエンスがある場合、キーによって定義されたオーディエンスに電子メールが送信されます。
- デプロイメントにアノテーションキーがない場合、namespace でアノテーションキーがチェックされ、定義されたオーディエンスに電子メールが送信されます。
- アノテーションキーが存在しない場合、統合で定義されているデフォルトの受信者に電子メールが送信されます。
16.1. メールプラグインの設定 リンクのコピーリンクがクリップボードにコピーされました!
RHACS 通知機能は、インテグレーションで指定された受信者に電子メールを送信したり、アノテーションを使用して受信者を決定したりできます。
アノテーションを使用して電子メールの受信者を動的に判別するには:
デプロイメント YAML ファイルに次の例のようなアノテーションを追加します。ここで、
emailは、電子メール統合で指定するAnnotation keyです。annotations: email: <email_address>
annotations: email: <email_address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
RHACS を設定するときは、Annotation key for recipient フィールドでアノテーションキーの
emailを使用します。
デプロイメントまたは namespace の注釈を作成できます。
アノテーションを使用してデプロイメントまたは namespace を設定した場合、RHACS プラットフォームはアノテーションで指定された電子メールにアラートを送信します。それ以外の場合は、デフォルトの受信者にアラートを送信します。
手順
- Platform Configuration → Integrations に移動します。
- Notifier Integrations セクションで、Email を選択します。
- New Integration を選択します。
- Integration Name フィールドに、電子メール統合の名前を入力します。
-
Email server フィールドに、電子メールサーバーのアドレスを入力します。電子メールサーバーアドレスには、完全修飾ドメイン名 (FQDN) とポート番号が含まれます。たとえば、
smtp.example.com:465。 オプション: 認証されていない SMTP を使用している場合は、Enable unauthenticated SMTP を選択します。これは安全ではなく、推奨されませんが、インテグレーションによっては必要になる場合があります。たとえば、認証を必要としない通知に内部サーバーを使用する場合、このオプションを有効にする必要がある場合があります。
注記認証を使用して認証されていない SMTP を有効にする既存の電子メールインテグレーションを変更することはできません。既存のインテグレーションを削除し、Enable unauthenticated SMTP を選択して新しいインテグレーションを作成する必要があります。
- 認証に使用するサービスアカウントのユーザー名とパスワードを入力します。
-
オプション: 電子メール通知の
FROMヘッダーに表示する名前を From フィールドに入力します。たとえば、Security Alertsなどです。 -
電子メール通知の
SENDERヘッダーに表示する電子メールアドレスを Sender フィールドに指定します。 - Default recipient フィールドに、通知を受信する電子メールアドレスを指定します。
- オプション: Annotation key for recipient にアノテーションキーを入力します。アノテーションを提供し、デプロイメントまたは namespace にこの値のキーがある場合、通知はアノテーションの電子メールアドレスに送信されます。それ以外の場合、通知は Default Recipient フィールドで指定された電子メールに送信されます。
オプション: Disable TLS certificate validation (insecure) を選択して、TLS を使用せずに電子メールを送信します。StartTLS を使用していない限り、TLS を無効にしないでください。
注記電子メール通知には TLS を使用します。TLS がないと、すべての電子メールは暗号化されずに送信されます。
オプション: StartTLS を使用するには、Use STARTTLS (Requires TLS To Be Disabled) ドロップダウンメニューで Login または Plain を選択します。
重要StartTLS を使用すると、セッションの暗号化が確立される前に、クレデンシャルがプレーンテキストで電子メールサーバーに渡されます。
-
login パラメーターを指定した StartTLS は、
base64でエンコードされた文字列で認証クレデンシャルを送信します。 - Plain パラメーターを指定した StartTLS は、認証クレデンシャルをプレーンテキストでメールリレーに送信します。
-
login パラメーターを指定した StartTLS は、
16.2. ポリシー通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
システムポリシーのアラート通知を有効にします。
手順
- RHACS ポータルで、Platform Configuration → Policies に移動します。
- アラートの送信先となるポリシーを 1 つ以上選択します。
- Bulk actions で Enable notification を選択します。
Enable notification ウィンドウで、電子メール notifier を選択します。
注記他の統合を設定していない場合、システムは通知機能が設定されていないメッセージが表示します。
- Enable をクリックします。
- Red Hat Advanced Cluster Security for Kubernetes は、オプトインベースで通知を送信します。通知を受信するには、最初に通知機能をポリシーに割り当てる必要があります。
- 通知は、特定のアラートに対して 1 回だけ送信されます。ポリシーに通知機能を割り当てた場合、違反によって新しいアラートが生成されない限り、通知は受信されません。
Red Hat Advanced Cluster Security for Kubernetes は、次のシナリオに対して新しいアラートを作成します。
- ポリシー違反は、デプロイメントで初めて発生します。
- ランタイムフェーズのポリシー違反は、そのデプロイメントのポリシーに対する以前のランタイムアラートを解決した後のデプロイメントで発生します。