This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.1.2.2. Amazon Elastic Container Registry を手動で設定する
Red Hat Advanced Cluster Security for Kubernetes を Amazon Elastic Container Registry (ECR) と統合できます。
前提条件
-
アクセスキー 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 Elastic Container Registry を選択します。
Configure image integration ボックスが開きます。
- New Integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration Name: 統合の名前。
- Types: Registry を選択します。
- Registry ID: レジストリーの ID。
- Endpoint (Optional): レジストリーのアドレス。
- Region: レジストリーのリージョン。
- Use Container IAM Role: IAM を使用している場合は、トグルをオンにします。
- アクセスキー ID (IAM を使用しない場合に必要) と シークレットアクセスキー (IAM を使用しない場合に必要): IAM を使用していない場合はアクセスキーとシークレット。
-
Test (
checkmarkアイコン) を選択して、選択したレジストリーとの統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。
1.2.2.1. Amazon ECR で assumerole を使用する リンクのコピーリンクがクリップボードにコピーされました!
AssumeRole を使用すると、各ユーザーのパーミッションを手動で設定しなくても、AWS リソースへのアクセスを許可できます。代わりに、必要な権限を持つロールを定義すると、ユーザーにそのロールを引き受けるためのアクセス権が付与されます。AssumeRole を使用すると、よりきめ細かい権限を付与、取り消し、またはその他の方法で一般的に管理できます。
1.2.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.2.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.2.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 Elastic Container Registry を選択します。
Configure image integration ボックスが開きます。
- New Integration をクリックします。
以下のフィールドに詳細を記入します。
- Integration Name: 統合の名前。
- Registry ID: レジストリーの ID。
- Region: レジストリーのリージョン。
コンテナー IAM を使用して AssumeRole を設定した場合は、Use container IAM role オプションをオンのままにします。それ以外の場合は、Use custom IAM role チェックボックスをオフにして、次のフィールドに詳細を入力します。
- Access key ID: ロールのアクセスキー ID。
- Secret access key: ロールのシークレットアクセスキー。
- Use AssumeRole チェックボックスを選択します。
以下のフィールドに詳細を記入します。
- AssumeRole ID: 引き受けるロールの ID。
- AssumeRole External ID (オプション): AssumeRole で外部 ID を使用している場合は、ここに入力できます。
-
Test (
checkmarkアイコン) を選択して、選択したレジストリーとの統合が機能していることをテストします。 -
Create (
saveアイコン) を選択して、設定を作成します。