

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

# Amazon Keyspaces の AWS 認証情報の作成と設定
<a name="access.credentials"></a>

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

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

**Topics**
+ [AWS CLI、 AWS SDK、または Cassandra クライアントドライバー用の Amazon Keyspaces SigV4 プラグインに必要な認証情報](SigV4_credentials.md)
+ [IAM ロールと SigV4 プラグインで Amazon Keyspaces に接続するための一時的な認証情報を作成する](temporary.credentials.IAM.md)
+ [AWS アカウントの Amazon Keyspaces にプログラムでアクセスするための IAM ユーザーを作成する](access.credentials.IAM.md)
+ [IAM ユーザーの新しいアクセスキーを作成する](create.keypair.md)
+ [プログラムによるアクセス用のアクセスキーを保存する](aws.credentials.manage.md)

# AWS CLI、 AWS SDK、または Cassandra クライアントドライバー用の Amazon Keyspaces SigV4 プラグインに必要な認証情報
<a name="SigV4_credentials"></a>

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 に接続するための一時的な認証情報を作成する](temporary.credentials.IAM.md)」を参照してください。  
IAM ユーザーに接続する場合、`aws_session_token` は不要です。

# IAM ロールと SigV4 プラグインで Amazon Keyspaces に接続するための一時的な認証情報を作成する
<a name="temporary.credentials.IAM"></a>

Amazon Keyspaces にプログラムによってアクセスする場合に推奨される方法は、[一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)を使用して SigV4 プラグインで認証することです。多くの場合、期限のない長期のアクセスキー (IAM ユーザーのアクセスキーなど) は必要ありません。その代わり、IAM ロールを作成して一時的なセキュリティ認証情報を生成することができます。一時的なセキュリティ認証情報は、アクセスキー ID とシークレットアクセスキーで構成されていますが、認証情報がいつ無効になるかを示すセキュリティトークンも含んでいます。長期アクセスキーの代わりに IAM ロールを使用する方法の詳細については、[「IAM ロールへの切り替え (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html)」を参照してください。

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

**Amazon Keyspaces に読み取り専用アクセスを付与する IAM ロールを作成します。**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

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

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

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

1. 「**名前、レビュー、作成**」ページで、ロールの名前を入力し、「**信頼できるエンティティを選択**」 と「**権限を追加**」セクションを確認します。このページでは、ロールにオプションでタグを追加することもできます。終了したら、[**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 用 DataStax Java ドライバーと SigV4 認証プラグインを使用して Amazon Keyspaces に接続する](using_python_driver.md#python_SigV4)」を参照してください。

`AssumeRole`、`GetFederationToken`、およびその他の API オペレーションを呼び出す方法の詳細については、「[AWS Security Token Service API リファリファレンス](https://docs.aws.amazon.com/STS/latest/APIReference/)」を参照してください。結果から一時的なセキュリティ認証情報とセッショントークンを取得する方法の詳細については、お使いの SDK のドキュメントを参照してください。すべての AWS SDKs のドキュメントは、**SDKs とツールキット**セクションのメイン[AWS ドキュメントページ](https://aws.amazon.com/documentation)にあります。

# AWS アカウントの Amazon Keyspaces にプログラムでアクセスするための IAM ユーザーを作成する
<a name="access.credentials.IAM"></a>

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

1. 、 AWS マネジメントコンソール、 AWS CLI Tools for Windows PowerShell、または AWS API オペレーションを使用してユーザーを作成します。でユーザーを作成すると AWS マネジメントコンソール、認証情報が自動的に作成されます。

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

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

IAM ユーザーの作成に必要なアクセス許可の詳細については、「[他の IAM リソースへのにアクセスするのに必要なアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html)」を参照してください。

------
#### [ Console ]

**プログラムによってアクセスするための IAM ユーザーを作成する (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

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

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

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

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

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

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

   Amazon Keyspaces の場合、利用可能なマネージドポリシーは `AmazonKeyspacesFullAccess` と `AmazonKeyspacesReadOnlyAccess` です。各ポリシーの詳細については、「[AWS Amazon Keyspaces の マネージドポリシー](security-iam-awsmanpol.md)」を参照してください。

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

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

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

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

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

------
#### [ CLI ]

**プログラムによってアクセスするための IAM ユーザーを作成する (AWS CLI)**

1. 次の AWS CLI コードを使用してユーザーを作成します。
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

1. ユーザーにプログラムアクセス権を付与します。これにはアクセスキーが必要です。アクセスキーは、次の方法で生成できます。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)
   + [https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html) Tools for Windows PowerShell
   + IAM API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)
**重要**  
シークレットアクセスキーの表示またはダウンロードを実行できるのはこの時点だけです。ユーザーが SigV4 プラグインを使用できるようにするには、あらかじめこの情報を提供しておく必要があります。ユーザーの新しいアクセスキー ID とシークレットアクセスキーは、安全な場所に保存してください。このステップを行った後に、シークレットキーに再度アクセスすることはできません。

1. ユーザーのアクセス許可を定義する `AmazonKeyspacesReadOnlyAccess` ポリシーをユーザーにアタッチします。**注意:** ベストプラクティスとして、ユーザーのアクセス許可の管理は、ユーザーをグループに追加してグループにポリシーをアタッチすることで (ユーザーに直接アタッチするのではなく) 行うことをお勧めします。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)

------

# IAM ユーザーの新しいアクセスキーを作成する
<a name="create.keypair"></a>

IAM ユーザーをすでに作成している場合は、いつでも新しいアクセスキーを作成できます。アクセスキーの更新方法など、キー管理の詳細については、「[IAM ユーザーのアクセスキーの管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)」を参照してください。

**IAM ユーザーのアクセスキーを作成するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

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

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

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

1. **「アクセスキー**」セクションの**「アクセスキーのベストプラクティスと代替方法」で、ユースケース「その他**」を選択します。 ******次へ**をクリックし、必要に応じてオプション情報を入力し、**アクセスキーの作成**を選択します。

   新しいアクセスキーのペアを表示するには、[**Show (表示)**] を選択します。認証情報は以下のようになります:
   + アクセスキーID: AKIAIOSFODNN7EXAMPLE
   + シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
**注記**  
このダイアログボックスを閉じた後で、シークレットアクセスキーに再度アクセスすることはできません。

   作成したキーペアについては、次のベストプラクティスを考慮してください。
   + アクセスキーをプレーンテキスト、コードリポジトリ、またはコードに保存しないでください。
   + 不要になったアクセスキーを無効化または削除します。
   + 最小特権のアクセス許可を有効にします。
   + アクセスキーを定期的にローテーションします。

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

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

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

# プログラムによるアクセス用のアクセスキーを保存する
<a name="aws.credentials.manage"></a>

ベストプラクティスとして、アクセスキーをコードに直接埋め込まないことをお勧めします。 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 に接続するためのステップバイステップのチュートリアル](using_java_driver.md#java_tutorial.SigV4)」の前提条件です。これにはデフォルトが含まれることに注意してください AWS リージョン。クライアントでは、デフォルトの認証情報プロバイダーチェーンを使用して認証情報が検索されます。環境変数として保存されたアクセスキーは、設定ファイルなどの他のすべての場所よりも優先されます。詳細については、「[Configuration settings and precedence (設定と優先順位)](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-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>
$ export AWS_DEFAULT_REGION=us-east-1
```

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

------
#### [ 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>
C:\> setx AWS_DEFAULT_REGION us-east-1
```

`[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。[https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/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>"
PS C:\> $Env:AWS_DEFAULT_REGION="us-east-1"
```

前の例に示すように PowerShell プロンプトで環境変数を設定した場合は、現在のセッションの期間だけ値が保存されます。PowerShell およびコマンドプロンプトセッション間で環境変数を永続的に設定するには、[**コントロールパネル**] の [**システム**] アプリケーションを使用して変数を保存します。または、変数を PowerShell プロファイルに追加すると、その変数を今後のすべての PowerShell セッションに設定できます。環境変数の保存やそれをセッション間で永続的に維持する詳細については、[「PowerShell documentation」](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables)(PowerShell ドキュメント) を参照してください。

------