

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 在**建立角色**頁面的**選取信任實體類型**下，選擇**AWS 服務**。在**選擇使用案例**下，選擇 **Amazon EC2**，然後選擇**下一步**。

1. 在**新增許可**頁面的**許可政策**下，從政策清單中選擇 **Amazon Keyspaces 唯讀存取**，然後選擇**下一步**。

1. 在**名稱、檢閱和建立**頁面上，輸入角色的名稱，然後檢閱**選取信任的實體**和**新增許可**區段。您也可以在此頁面上為角色新增選用標籤。完成後，請選取**建立角色**。請記住此名稱，因為您在啟動 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 Python 驅動程式和 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 **SDKs 和工具組**區段的主要文件頁面上找到所有 AWS SDKs 的文件。 [AWS](https://aws.amazon.com/documentation)