Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ステップ 1: Amazon EKS クラスターを設定し、IAM アクセス許可を設定する

フォーカスモード
ステップ 1: Amazon EKS クラスターを設定し、IAM アクセス許可を設定する - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EKS クラスターを設定し、Amazon EKS サービスアカウントから Amazon Keyspaces テーブルへの接続を許可するために必要な IAM リソースを作成する
  1. Amazon EKS クラスターの OpenID Connect (OIDC) プロバイダーを作成します。これは、サービスアカウントで IAM ロールを使用するために必要です。OIDC プロバイダーの詳細とその作成方法については、「Amazon EKS ユーザーガイド」の「クラスターの IAM OIDC プロバイダーを作成する」を参照してください。

    1. 次のコマンドを使用して、クラスターの IAM OIDC ID プロバイダーを作成します。この例では、クラスター名を my-eks-cluster としています。クラスターの名前が異なる場合は、以降のすべてのコマンドで名前を変更してください。

      eksctl utils associate-iam-oidc-provider --cluster my-eks-cluster --approve
    2. 次のコマンドを使用して、OIDC ID プロバイダーが IAM に登録されていることを確認します。

      aws iam list-open-id-connect-providers --region aws-region

      出力は次のようになります。OIDC の Amazon リソースネーム (ARN) を書き留めておいてください。次の手順でサービスアカウントの信頼ポリシーを作成する際に必要になります。

      { "OpenIDConnectProviderList": [ .. { "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" } ] }
  2. Amazon EKS クラスター用のサービスアカウントを作成します。サービスアカウントで、ポッドで実行されるプロセス用のアイデンティティを用意できます。ポッドは、最小かつ最もシンプルな Kubernetes オブジェクトであり、コンテナ化されたアプリケーションをデプロイするために使用できます。次に、リソースへのアクセス許可を取得するためにサービスアカウントが引き受けることができる IAM ロールを作成します。サービスアカウントが引き受け可能な IAM ロールで AWS サービスへのアクセスが許可されている場合、そのサービスアカウントを使用するように設定されたポッドからそのサービスにアクセスできます。

    1. サービスアカウント用の新しい名前空間を作成します。名前空間を使用して、このチュートリアル用に作成したクラスターリソースを分離することができます。次のコマンドを使用して、新しい名前空間を作成できます。

      kubectl create namespace my-eks-namespace
    2. カスタムの名前空間を使用するには、その名前空間を Fargate プロファイルに関連付ける必要があります。次のコードは、この例です。

      eksctl create fargateprofile \ --cluster my-eks-cluster \ --name my-fargate-profile \ --namespace my-eks-namespace \ --labels *=*
    3. 次のコマンドを使用して、Amazon EKS クラスターの名前空間 my-eks-namespacemy-eks-serviceaccount という名前のサービスアカウントを作成します。

      cat >my-serviceaccount.yaml <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: my-eks-serviceaccount namespace: my-eks-namespace EOF kubectl apply -f my-serviceaccount.yaml
    4. 次のコマンドを実行して、先ほど作成したサービスアカウントを信頼するように IAM ロールに指示する信頼ポリシーファイルを作成します。この信頼関係が確立されていないと、プリンシパルでロールを引き受けることができません。ファイルで以下の編集を行います。

      • Principal として、IAM が list-open-id-connect-providers コマンドに返した ARN を入力します。ARN には、アカウント番号とリージョンが含まれています。

      • condition ステートメントで、AWS リージョン と OIDC ID を置き換えます。

      • サービスアカウントの名前と名前空間が正しいことを確認します。

      次の手順で IAM ロールを作成するときに、この信頼ポリシーファイルをアタッチする必要があります。

      cat >trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] } EOF

      オプション: StringEquals または StringLike の条件に複数のエントリを追加して、複数のサービスアカウントや名前空間にロールの引き受けを許可することができます。サービスアカウントが別の AWS アカウントで IAM ロールを引き受けることを許可するには、「Amazon EKS ユーザーガイド」の「クロスアカウントの IAM アクセス許可」を参照してください。

  3. Amazon EKS サービスアカウントが引き受ける IAM ロールを my-iam-role という名前で作成します。直前の手順で作成した信頼ポリシーファイルをロールにアタッチします。信頼ポリシーには、IAM ロールが信頼できるサービスアカウントと OIDC プロバイダーが指定されています。

    aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust-relationship.json --description "EKS service account role"
  4. アクセスポリシーをアタッチして、IAM ロールのアクセス許可を Amazon Keyspaces に割り当てます。

    1. アクセスポリシーをアタッチして、IAM ロールが特定の Amazon Keyspaces リソースに対して実行できるアクションを定義します。このチュートリアルでは、アプリケーションから Amazon Keyspaces テーブルにデータを書き込むため、AWS マネージドポリシーである AmazonKeyspacesFullAccess を使用します。ただし、ベストプラクティスとしては、最小特権の原則を実装したカスタムのアクセスポリシーを作成することをお勧めします。詳細については、「Amazon Keyspaces と の連携方法 IAM」を参照してください。

      aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess

      次のステートメントを使用して、ポリシーが IAM ロールに正しくアタッチされたことを確認します。

      aws iam list-attached-role-policies --role-name my-iam-role

      出力は次のようになります。

      { "AttachedPolicies": [ { "PolicyName": "AmazonKeyspacesFullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess" } ] }
    2. サービスアカウントに、引き受け可能な IAM ロールの Amazon リソースネーム (ARN) を注釈として追加します。ロールの ARN にアカウント ID を反映してください。

      kubectl annotate serviceaccount -n my-eks-namespace my-eks-serviceaccount eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/my-iam-role
  5. IAM ロールとサービスアカウントが正しく設定されていることを確認します。

    1. 次のステートメントを使用して、IAM ロールの信頼ポリシーが正しく設定されていることを確認します。

      aws iam get-role --role-name my-iam-role --query Role.AssumeRolePolicyDocument

      出力は次のようになります。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount" } } } ] }
    2. Amazon EKS サービスアカウントに IAM ロールの注釈が追加されていることを確認します。

      kubectl describe serviceaccount my-eks-serviceaccount -n my-eks-namespace

      出力は次のようになります。

      Name: my-eks-serviceaccount Namespace:my-eks-namespace Labels: <none> Annotations: eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/my-iam-role Image pull secrets: <none> Mountable secrets: <none> Tokens: <none> [...]

Amazon EKS サービスアカウントと IAM ロールを作成し、必要な関係とアクセス許可を設定したら、ステップ 2: アプリケーションを設定する に進んでください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.