1.2.2. Amazon Elastic Container Registry を手動で設定する


Red Hat Advanced Cluster Security for Kubernetes を Amazon Elastic Container Registry (ECR) と統合できます。

前提条件

  • アクセスキー ID とシークレットアクセスキーが必要です。または、kiamkube2iam などのノードレベルの 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

手順

  1. RHACS ポータルで、Platform Configuration Integrations に移動します。
  2. Image Integrations セクションで、Amazon Elastic Container Registry を選択します。

    Configure image integration ボックスが開きます。

  3. New Integration をクリックします。
  4. 以下のフィールドに詳細を記入します。

    1. Integration Name: 統合の名前。
    2. Types: Registry を選択します。
    3. Registry ID: レジストリーの ID。
    4. Endpoint (Optional): レジストリーのアドレス。
    5. Region: レジストリーのリージョン。
    6. Use Container IAM Role: IAM を使用している場合は、トグルをオンにします。
    7. アクセスキー ID (IAM を使用しない場合に必要)シークレットアクセスキー (IAM を使用しない場合に必要): IAM を使用していない場合はアクセスキーとシークレット。
  5. Test (checkmark アイコン) を選択して、選択したレジストリーとの統合が機能していることをテストします。
  6. 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 を使用する前に、まずそれを設定する必要があります。

手順

  1. EKS クラスターの IAM OIDC プロバイダーを有効にします。

    $ eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approve
    Copy to Clipboard Toggle word wrap
  2. EKS クラスターの IAM ロールを作成し ます。
  3. 新しく作成したロールをサービスアカウントに関連付けます。

    $ kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>
    Copy to Clipboard Toggle word wrap
  4. セントラルを再起動して、変更を適用します。

    $ kubectl -n stackrox delete pod -l app=central
    Copy to Clipboard Toggle word wrap
  5. 必要に応じて、ロールが別のロールを引き受けることを許可するポリシーにロールを割り当てます。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
    1
    
            }
        ]
    }
    Copy to Clipboard Toggle word wrap
    1
    <assumerole-readonly> を引き受けたいロールに置き換えます。
  6. 引き受けるロールの信頼関係を更新します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:role/<role-name>" 
    1
    
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
    1
    <role-name> は、以前に作成した新しいロールと一致する必要があります。
1.2.2.1.2. コンテナー IAM を使用せずに AssumeRole を設定する

コンテナー IAM なしで AssumeRole を使用するには、アクセスと秘密鍵を使用して、プログラムによるアクセス権を持つ AWS ユーザー として認証する必要があります。

手順

  1. AssumeRole ユーザーが ECR レジストリーと同じアカウントにあるか、別のアカウントにあるかに応じて、次のいずれかを行う必要があります。

    • ロールを引き受けるユーザーが ECR レジストリーと同じアカウントにいる場合は、必要な権限で新しいロールを作成します。

      注記

      ロールを作成するときに、必要に応じて任意の信頼できるエンティティーを選択できます。ただし、作成後に変更する必要があります。

    • または、ユーザーが ECR レジストリーとは異なるアカウントにいる場合は、ECR レジストリーにアクセスし、その信頼関係を定義するためのアクセス許可を提供する必要があります。

      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
      1
      
              }
          ]
      }
      Copy to Clipboard Toggle word wrap
      1
      <assumerole-readonly> を引き受けたいロールに置き換えます。
  2. Principal フィールドの下にユーザー ARN を含めることにより、ロールの信頼関係を設定します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:user/<role-name>"
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
1.2.2.1.3. RHACS での AssumeRole の設定

ECR で AssumeRole を設定した後、AssumeRole を使用して、Red Hat Advanced Cluster Security for Kubernetes を Amazon Elastic Container Registry (ECR) と統合できます。

手順

  1. RHACS ポータルで、Platform Configuration Integrations に移動します。
  2. Image Integrations セクションで、Amazon Elastic Container Registry を選択します。

    Configure image integration ボックスが開きます。

  3. New Integration をクリックします。
  4. 以下のフィールドに詳細を記入します。

    1. Integration Name: 統合の名前。
    2. Registry ID: レジストリーの ID。
    3. Region: レジストリーのリージョン。
  5. コンテナー IAM を使用して AssumeRole を設定した場合は、Use container IAM role オプションをオンのままにします。それ以外の場合は、Use custom IAM role チェックボックスをオフにして、次のフィールドに詳細を入力します。

    1. Access key ID: ロールのアクセスキー ID。
    2. Secret access key: ロールのシークレットアクセスキー。
  6. Use AssumeRole チェックボックスを選択します。
  7. 以下のフィールドに詳細を記入します。

    1. AssumeRole ID: 引き受けるロールの ID。
    2. AssumeRole External ID (オプション): AssumeRole で外部 ID を使用している場合は、ここに入力できます。
  8. Test (checkmark アイコン) を選択して、選択したレジストリーとの統合が機能していることをテストします。
  9. Create (save アイコン) を選択して、設定を作成します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る