Amazon Keyspaces の AWS 認証情報を作成して設定する方法 - Amazon Keyspaces (Apache Cassandra 向け)

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

Amazon Keyspaces の AWS 認証情報を作成して設定する方法

AWS CLI、 AWS SDK、または Cassandra クライアントドライバーと SigV4 プラグインを使用してプログラムで Amazon Keyspaces にアクセスするには、アクセスキーを持つ IAM ユーザーまたはロールが必要です。 AWS プログラムで を使用する場合は、 がプログラムによる呼び出しで ID AWS を検証できるように AWS アクセスキーを指定します。アクセスキーは、アクセスキー ID (例えば、AKIAIOSFODNN7EXAMPLE) とシークレットアクセスキー (例えば、) で構成されますwJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY。このトピックでは、このプロセスで必要になる手順を説明します。

セキュリティのベストプラクティスでは、アクセス許可が制限された IAM ユーザーを作成し、代わりに IAM ロールを特定のタスクの実行に必要なアクセス許可に関連付けることをお勧めします。その後、IAM ユーザーは一時的に IAM ロールを引き受けて、必要なタスクを実行できます。例えば、Amazon Keyspaces コンソールを使用するアカウントの IAM ユーザーは、ロールに切り替えて、コンソールでロールのアクセス許可を一時的に使用できます。ユーザーは、元のアクセス権限を返却し、そのロールに割り当てられたアクセス権限を取得します。ユーザーがそのロールを終了すると、元のアクセス権限に戻ります。ユーザーがロールを引き受けるために使用する認証情報は一時的なものです。逆に、IAM ユーザーは長期的な認証情報を持っているため、ロールを引き受ける代わりにアクセス許可を直接割り当てられると、セキュリティ上のリスクが生じます。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。ロールの詳細については、IAM ユーザーガイドの「ロールの一般的なシナリオ: ユーザー、アプリケーション、サービス」を参照してください。

AWS CLI、 AWS SDK、または Cassandra クライアントドライバー用の Amazon Keyspaces SigV4 プラグインに必要な認証情報

IAM ユーザーまたはロールの認証には、次の認証情報が必要です。

AWS_ACCESS_KEY_ID

IAM ユーザーまたはロールに関連付けられた AWS アクセスキーを指定します。

プログラムによる Amazon Keyspaces への接続には、アクセスキー aws_access_key_id が必要です。

AWS_SECRET_ACCESS_KEY

アクセスキーに関連付けられるシークレットキーを指定します。これは、基本的にアクセスキーの「パスワード」です。

プログラムによる Amazon Keyspaces への接続には、aws_secret_access_key が必要です。

AWS_SESSION_TOKEN – オプション

AWS Security Token Service オペレーションから直接取得した一時的なセキュリティ認証情報を使用している場合に必要なセッショントークン値を指定します。詳細については、「一時認証情報を使用した IAM ロールと SigV4 プラグインによる Amazon Keyspaces への接続」を参照してください。

IAM ユーザーに接続する場合、aws_session_token は不要です。

AWS アカウントの Amazon Keyspaces にプログラムでアクセスするための IAM ユーザーの作成

AWS CLI、 AWS SDK、または SigV4 プラグインを使用して Amazon Keyspaces にプログラムでアクセスするための認証情報を取得するには、まず IAM ユーザーまたはロールを作成する必要があります。IAM ユーザーを作成して、IAM ユーザーによる Amazon Keyspaces へのプログラムアクセスを設定する手順を以下に示します。

  1. API オペレーションを使用して AWS Management Console、、 AWS CLI、Tools for Windows PowerShellでユーザー AWS を作成します。でユーザーを作成すると AWS Management Console、認証情報が自動的に作成されます。

  2. プログラムによりユーザーを作成する場合は、追加のステップでそのユーザーのアクセスキー (アクセスキー ID とシークレットアクセスキー) を作成する必要があります。

  3. Amazon Keyspaces へのアクセス許可をユーザーに付与します。

ユーザーの作成に必要なアクセス許可の詳細については、「Permissions required to access IAM resources (IAM リソースへのアクセスに必要な許可)」を参照してください。

IAM ユーザーの作成 (コンソール)

を使用して IAM ユーザー AWS Management Console を作成できます。

プログラムアクセス権がある IAM ユーザーを作成するには (コンソール)
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. ナビゲーションペインで [Users] (ユーザー)、[Add user] (ユーザーを追加する) の順に選択します。

  3. 新しいユーザーのユーザー名を入力します。これは のサインイン名です AWS。

    注記

    ユーザー名は、最大 64 文字の英数字、プラス記号 (+)、等号 (=)、カンマ (,)、ピリオド (.)、アットマーク (@)、アンダースコア (_)、ハイフン (-) を組み合わせて指定します。名前はアカウント内で一意である必要があります。大文字と小文字は区別されません。例えば、TESTUSER というユーザーと testuser というユーザーを作成することはできません。

  4. 新しいユーザーのアクセスキーを作成するには、[アクセスキー - プログラムによるアクセス] を選択します。[Final (最終)] ページに到達すると、アクセスキーの表示やダウンロードができます。

    [Next: Permissions (次へ: 許可)] を選択します。

  5. [アクセス許可を設定] ページで、[既存のポリシーを直接添付] を選択して、新しいユーザーにアクセス許可を割り当てます。

    このオプションは、アカウントで利用可能な AWS 管理ポリシーとカスタマー管理ポリシーのリストを表示します。検索フィールドに keyspaces を入力して、Amazon Keyspaces に関連するポリシーのみを表示できます。

    Amazon Keyspaces の場合、利用可能なマネージドポリシーは AmazonKeyspacesFullAccessAmazonKeyspacesReadOnlyAccess です。各ポリシーの詳細については、「Amazon Keyspaces の AWS 管理ポリシー」を参照してください。

    テスト目的および接続チュートリアルに従うには、新しい IAM ユーザーのAmazonKeyspacesReadOnlyAccessポリシーを選択します。注意:ベストプラクティスとして、最小権限の原則に従い、特定のリソースへのアクセスを制限し、必要なアクションのみを許可するカスタムポリシーを作成することをお勧めします。IAM ポリシーと Amazon Keyspaces サンプルポリシーの詳細については、「Amazon Keyspaces のアイデンティティベースポリシー」を参照してください。カスタムアクセス許可ポリシーを作成したら、ポリシーをロールにアタッチし、ユーザーに適切なロールを一時的に引き受けさせます。

    [Next: Tags (次へ: タグ)] を選択します。

  6. [タグを追加 (オプション)] ページでは、ユーザーのタグを追加するか、[次へ:確認] を選択できます。

  7. [レビュー] ページで、この時点までに行ったすべての選択を確認できます。続行する準備ができたら、[Create user (ユーザーの作成)] を選択します。

  8. ユーザーのアクセスキー (アクセスキー ID とシークレットアクセスキー) を表示するには、パスワードとアクセスキーの横にある [Show (表示)] を選択します。アクセスキーを保存するには、[Download .csv (.csv のダウンロード)] を選択し、安全な場所にファイルを保存します。

    重要

    シークレットアクセスキーの表示またはダウンロードを実行できるのはこの時点だけです。ユーザーが SigV4 プラグインを使用できるようにするには、あらかじめこの情報を提供しておく必要があります。ユーザーの新しいアクセスキー ID とシークレットアクセスキーは、安全な場所に保存してください。このステップを行った後に、シークレットキーに再度アクセスすることはできません。

IAM ユーザーの作成 (AWS CLI)

を使用して AWS CLI IAM ユーザーを作成できます。

プログラムアクセス権がある IAM ユーザーを作成するには (AWS CLI)
  1. 次の AWS CLI コードでユーザーを作成します。

  2. ユーザーにプログラムアクセス権を付与します。これにはアクセスキーが必要です。アクセスキーは、次の方法で生成できます。

    • AWS CLI: aws iam create-access-key

    • Tools for Windows PowerShell: New-IAMAccessKey

    • IAM API: CreateAccessKey

      重要

      シークレットアクセスキーの表示またはダウンロードを実行できるのはこの時点だけです。ユーザーが SigV4 プラグインを使用できるようにするには、あらかじめこの情報を提供しておく必要があります。ユーザーの新しいアクセスキー ID とシークレットアクセスキーは、安全な場所に保存してください。このステップを行った後に、シークレットキーに再度アクセスすることはできません。

  3. ユーザーのアクセス許可を定義する AmazonKeyspacesReadOnlyAccess ポリシーをユーザーにアタッチします。注意: ベストプラクティスとして、ユーザーのアクセス許可の管理は、ユーザーをグループに追加してグループにポリシーをアタッチすることで (ユーザーに直接アタッチするのではなく) 行うことをお勧めします。

IAM ユーザーの新しいアクセスキーの作成

IAM ユーザーをすでに作成している場合は、いつでも新しいアクセスキーを作成できます。アクセスキーの更新方法など、キー管理の詳細については、「IAM ユーザーのアクセスキーの管理」を参照してください。

IAM ユーザーのアクセスキーを作成するには (コンソール)
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. ナビゲーションペインで [Users (ユーザー)] を選択します。

  3. アクセスキーを作成するユーザーの名前を選択します。

  4. ユーザーの [Summary (概要)] ページで、[Security credentials (セキュリティ認証情報)] タブをクリックします。

  5. [Access keys (アクセスキー)] セクションで、[Create access key (アクセスキーを作成)] を選択します。

    新しいアクセスキーのペアを表示するには、[Show (表示)] を選択します。認証情報は以下のようになります:

    • アクセスキーID:AKIAIOSFODNN7EXAMPLE

    • シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

    注記

    このダイアログボックスを閉じた後で、シークレットアクセスキーに再度アクセスすることはできません。

  6. キーペアをダウンロードするには、[Download .csv file.csv (.csv ファイルのダウンロード)] を選択します。このキーは安全な場所に保存してください。

  7. .csv ファイルをダウンロードしたら、[Close (閉じる)] を選択します。

アクセスキーを作成すると、キーペアはデフォルトで有効になり、すぐにキーペアを使用できるようになります。

IAM ユーザーのアクセスキーを管理する方法

ベストプラクティスとして、アクセスキーをコードに直接埋め込まないことをお勧めします。 AWS SDKs と AWS コマンドラインツールを使用すると、既知の場所にアクセスキーを配置できるため、コードに保持する必要はありません。次のいずれかの場所にアクセスキーを置きます。

  • 環境変数 – マルチテナントシステムでは、システム環境変数ではなくユーザー環境変数を選択します。

  • CLI 認証情報ファイル – コマンド aws configure を実行すると、credentials ファイルと config ファイルが更新されます。credentials ファイルは、Linux、macOS、Unix では ~/.aws/credentials に、Windows では C:\Users\USERNAME\.aws\credentials にあります。このファイルには、default プロファイルと任意の名前付きプロファイルの認証情報の詳細が含まれています。

  • CLI 設定ファイル - コマンド aws configure を実行すると、credentials ファイルと config ファイルが更新されます。config ファイルは、Linux、macOS、Unix では ~/.aws/config に、Windows では C:\Users\USERNAME\.aws\config にあります。このファイルには、 デフォルトプロファイルとあらゆる名前付きプロファイルの設定が含まれています。

アクセスキーを環境変数として保存することは、Apache Cassandra 用の 4.x DataStax Java ドライバーと SigV4 認証プラグインを使用して Amazon Keyspaces に接続するための S tep-by-step チュートリアル の必須の前提条件です。クライアントでは、デフォルトの認証情報プロバイダーチェーンを使用して認証情報が検索されます。環境変数として保存されたアクセスキーは、設定ファイルなどの他のすべての場所よりも優先されます。詳細については、「Configuration settings and precedence (設定と優先順位)」を参照してください。

次の例では、デフォルトのユーザーの環境変数を設定する方法を示します。

Linux, macOS, or Unix
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>

環境変数を設定すると、シェルセッションの終了時まで、または変数に別の値を設定するまで、使用する値が変更されます。変数をシェルのスタートアップスクリプトで設定することで、変数をこれからのセッションで永続的にすることができます。

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>

set を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。setx を使用して環境変数を設定すると、現在のコマンドプロンプトセッションおよびコマンド実行後に作成するすべてのコマンドプロンプトセッションで使用する値が変更されます。これは、コマンド実行時にすでに実行されている他のコマンドシェルには影響を及ぼしません

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"

前の例に示すように PowerShell 、プロンプトで環境変数を設定すると、現在のセッションの期間のみ値が保存されます。環境変数設定をすべての PowerShell および コマンドプロンプトセッションで永続化するには、コントロールパネルシステムアプリケーションを使用して保存します。または、 変数を PowerShell プロファイルに追加することで、以降のすべての PowerShell セッションに 変数を設定できます。環境変数の保存またはセッション間での永続化の詳細については、 PowerShell ドキュメントを参照してください。

一時認証情報を使用した IAM ロールと SigV4 プラグインによる Amazon Keyspaces への接続

セキュリティを強化するために、一時認証情報を使用して SigV4 プラグインで認証を行ってください。多くの場合、期限のない長期のアクセスキー (IAM ユーザーのアクセスキーなど) は必要ありません。その代わり、IAM ロールを作成して一時的なセキュリティ認証情報を生成することができます。一時的なセキュリティ認証情報は、アクセスキー ID とシークレットアクセスキーで構成されていますが、認証情報がいつ無効になるかを示すセキュリティトークンも含んでいます。長期アクセスキーの代わりに IAM ロールを使用する方法の詳細については、「IAM ロールへの切り替え (AWS API)」を参照してください。

一時認証情報を使用するには、まず IAM ロールを作成しておく必要があります。

Amazon Keyspaces に読み取り専用アクセスを付与する IAM ロールを作成します。
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. ナビゲーションペインで [Roles (ロール)]、[Create role (ロールを作成)] の順に選択します。

  3. [ロールを作成] ページの [信頼されたエンティティのタイプを選択] で、[AWS サービス)] を選択します。[Choose a use case (ユースケースを選択)] で [Amazon EC2] を選択し、[Next (次へ)] を選択します。

  4. アクセス権限を追加」ページの「アクセス権限ポリシー」で、ポリシーリストからAmazon Keyspaces 読み取り専用アクセス」を選択し、「次へ」を選択します。

  5. 名前、レビュー、作成」ページで、ロールの名前を入力し、「信頼できるエンティティを選択」 と「権限を追加」セクションを確認します。このページでは、ロールにオプションでタグを追加することもできます。終了したら、[Create role (ロールを作成)] を選択します。この名前は Amazon EC2 インスタンスを起動するときに必要になるため、覚えておいてください。

コードで一時的なセキュリティ認証情報を使用するには、 などの AWS Security Token Service API をプログラムで呼び出しAssumeRole、前のステップで作成した IAM ロールから、結果として得られる認証情報とセッショントークンを抽出します。次に、これらの値を への後続の呼び出しの認証情報として使用します AWS。以下の例で、一時的なセキュリティ認証情報を使用する方法に関する疑似コードを示します。

assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); cassandraRequest = CreateAmazoncassandraClient(tempCredentials);

Python ドライバを使用して Amazon Keyspaces にアクセスするために一時的な認証情報を実装する例については、「Apache Cassandra 用の Python ドライバーと SigV4 認証プラグインを使用して DataStax Amazon Keyspaces に接続する」を参照してください。

AssumeRoleGetFederationToken、およびその他の API オペレーションを呼び出す方法の詳細については、「AWS Security Token Service API リファリファレンス」を参照してください。結果から一時的なセキュリティ認証情報とセッショントークンを取得する方法の詳細については、お使いの SDK のドキュメントを参照してください。すべての AWS SDKs「 SDK とツールキット」セクションの「メインAWS ドキュメントページ」にあります。 SDKs