

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 的身份验证和访问权限 AWS Toolkit for Visual Studio Code
<a name="establish-credentials"></a>

您无需进行身份验证 AWS 即可开始使用 AWS Toolkit for Visual Studio Code。但是，大多数 AWS 资源都是通过 AWS 账户管理的。要访问所有 AWS Toolkit for Visual Studio Code 服务和功能，您需要使用 AWS 构建器 ID 或 IAM 凭证进行身份验证。 AWS IAM Identity Center

以下主题包含每个凭证类型的更多详细信息。

有关如何 AWS Toolkit for Visual Studio Code 使用现有凭据连接 AWS 的详细信息，请参阅本用户指南中的[连接 AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html)主题。

**Topics**
+ [AWS IAM 身份中心](sso-credentials.md)
+ [AWS IAM 证书](setup-credentials.md)
+ [面向开发人员的 AWS Builder ID](builder-id.md)
+ [使用外部凭证流程](external-credential-process.md)
+ [更新防火墙和网关以允许访问](endpoints.md)

# AWS IAM 身份中心
<a name="sso-credentials"></a>

AWS IAM Identity Center 是管理 AWS 账户身份验证的推荐最佳实践。

有关如何为软件开发套件设置 IAM 身份中心 (SDKs) 的详细说明，请参阅*AWS SDKs 和工具参考指南*[的 IAM 身份中心身份验证](https://docs.aws.amazon.com//sdkref/latest/guide/access-sso.html)部分。

有关如何进行身份验证以及如何将 AWS 工具包与现有 IAM Identity Center 证书关联的详细信息，请参阅本用户指南中的 [Connect](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html) to AWS主题。

# AWS IAM 证书
<a name="setup-credentials"></a>



AWS 通过本地存储的访问密钥对您的 AWS 账户进行 IAM 凭证身份验证。

有关如何进行身份验证以及如何将 AWS 工具包与现有 AWS IAM 证书关联的详细信息，请参阅本用户指南中的 [Connect](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html) to AWS主题。

以下各节介绍如何设置 IAM 证书，以便通过您的 AWS 账户进行身份验证 AWS Toolkit for Visual Studio Code。

**重要**  
在设置 IAM 凭证以使用您的 AWS 账户进行身份验证之前，请注意：  
如果您已经通过其他 AWS 服务（例如 AWS CLI）设置了 IAM 证书，则 AWS Toolkit for Visual Studio Code 会自动检测这些证书并在 VS Code 中提供这些证书。
AWS 建议使用 IAM 身份中心身份验证。有关 AWS IAM 最佳实践的更多信息，请参阅 Identity and A *ccess Managem AWS en* t 用户指南[的 “IAM 中的安全最佳实践](https://docs.aws.amazon.com//IAM/latest/UserGuide/best-practices.html)” 部分。
为了避免安全风险，在开发专用软件或处理真实数据时，请勿使用 IAM 用户进行身份验证，改为使用与身份提供商的联合身份验证，例如《AWS IAM Identity Center 用户指南》**中的 [What is IAM Identity Center?](https://docs.aws.amazon.com//singlesignon/latest/userguide/what-is.html)

## 创建 IAM 用户
<a name="setup-credentials-iam"></a>

在将设置为使用 AWS 账户 AWS Toolkit for Visual Studio Code 进行身份验证之前，您需要在和*工具参考指南的[使用长期证书进行身份验证](https://docs.aws.amazon.com//sdkref/latest/guide/access-iam-users.html)主题中完成**步骤 1：创建您的 IAM 用户AWS **SDKs 和***步骤 2：获取访问密钥**。

**注意**  
**第 3 步：更新共享凭据文件AWS ***SDKs 和《工具参考指南》*是可选的。  
如果您完成了步骤 3，则 AWS Toolkit for Visual Studio Code 会在以下[从中创建共享凭证文件 AWS Toolkit for Visual Studio Code](#setup-credentials-about-files)位置自动检测您的凭据。  
如果您尚未完成步骤 3，则将 AWS Toolkit for Visual Studio Code 引导您完成创建的过程，`credentials file`如下[从中创建共享凭证文件 AWS Toolkit for Visual Studio Code](#setup-credentials-about-files)所述。

## 从中创建共享凭证文件 AWS Toolkit for Visual Studio Code
<a name="setup-credentials-about-files"></a>

您的*共享配置文件*和*共享凭据文件*存储您 AWS 账户的配置和凭据信息。有关共享配置和凭证的更多信息，请参阅《AWS Command Line Interface 用户指南》**中的[配置设置存储在何处？](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-where)

**通过创建共享凭证文件 AWS Toolkit for Visual Studio Code**

1. 按下 **Shift\$1Command\$1P**（对于 Windows，按 **Ctrl\$1Shift\$1P**）打开命令面板。

1. 在搜索字段中输入 **AWS: Add a New Connection**。

1. 选择 **AWS: Add a New Connection** 以打开 **AWS Toolkit 登录**面板。

1. 在 **AWS Toolkit 登录**面板中，选择 **IAM 凭证**，然后选择**继续**按钮继续。

1. 在提供的字段中输入您 AWS 账户的**Profile Name****Access Key**、和**Secret Key**，然后选择 “**继续**” 按钮将配置文件添加到您的配置文件中，并将 Toolkit 与您的 AWS 帐户关联起来。

1. 完成身份验证并建立连接后，Toolkit **AWS Explorer** 将会更新以显示您的 AWS 服务和资源。

**注意**  
在此示例中，假设*[Profile\$1Name]*其中包含语法错误并导致身份验证失败。  

```
[Profile_Name]
xaws_access_key_id= AKIAI44QH8DHBEXAMPLE
xaws_secret_access_key= wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```
以下是为响应身份验证尝试失败而生成的日志消息示例。  

```
2022-11-02 22:01:54 [ERROR]: Profile [Profile_Name] is not a valid Credential Profile: not supported by the Toolkit
2022-11-02 22:01:54 [WARN]: Shared Credentials Profile [Profile_Name] is not valid. It will not be used by the toolkit.
```

## 添加额外的凭证配置文件
<a name="add-credential-profiles"></a>

您可以向配置文件中添加多个凭证。为此，请打开**命令面板**并选择 **AWS Toolkit 创建凭证配置文件**。这将打开凭证文件。在此页面上，您可以在第一个配置文件下方添加一个新的配置文件，如以下示例所示：

```
# Amazon Web Services Credentials File used by AWS CLI, SDKs, and tools
# This file was created by the AWS Toolkit for Visual Studio Code extension.
#
# Your AWS credentials are represented by access keys associated with IAM users.
# For information about how to create and manage AWS access keys for a user, see:
# https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
#
# This credential file can store multiple access keys by placing each one in a
# named "profile". For information about how to change the access keys in a 
# profile or to add a new profile with a different access key, see:
# https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html 
#
[Profile1_Name]
# The access key and secret key pair identify your account and grant access to AWS.
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
# Treat your secret key like a password. Never share your secret key with anyone. Do 
# not post it in online forums, or store it in a source control system. If your secret 
# key is ever disclosed, immediately use IAM to delete the access key and secret key
# and create a new key pair. Then, update this file with the replacement key details.
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[Profile2_Name]
aws_access_key_id = AKIAI44QH8DHBEXAMPLE
aws_secret_access_key = je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
```

# 面向开发人员的 AWS Builder ID
<a name="builder-id"></a>

AWS Builder ID 对某些 AWS 服务来说，是额外的可选或必需 AWS 账户。有关 AWS 构建者 ID 身份验证方法的详细信息，请参阅《AWS 登录用户指南》**中的[使用 AWS 构建者 ID 登录](https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html)主题。

有关如何使用现有 AWS 构建者 ID 进行身份验证并连接 AWS Toolkit 的详细信息，请参阅本用户指南中的[连接到 AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html) 主题。

# 使用外部凭证流程
<a name="external-credential-process"></a>

您可以通过修改您的， AWS Toolkit for Visual Studio Code 为不直接支持的 AWS凭证流程进行配置。`shared config file`

修改您的证书流程`shared config file`对 AWS Toolkit for Visual Studio Code 和来说都是一样的。 AWS Command Line Interface有关如何设置外部凭证的详细信息，请参阅《AWS Command Line Interface 用户指南》**中的[使用外部流程获取凭证](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sourcing-external.html)主题。

# 更新防火墙和网关以允许访问
<a name="endpoints"></a>

如果您使用 Web 内容筛选解决方案筛选对特定 AWS 域或 URL 终端节点的访问，则必须允许列出以下终端节点才能访问通过和 AWS Toolkit for Visual Studio Code Amazon Q 提供的所有服务和功能。

## AWS Toolkit for Visual Studio Code 端点
<a name="w2aac13c19b5"></a>

以下是需要允许列出的 AWS Toolkit for Visual Studio Code 特定端点和参考文献的列表。

### 端点
<a name="w2aac13c19b5b5"></a>

```
https://idetoolkits.amazonwebservices.com/endpoints.json
```

### 托管文件
<a name="w2aac13c19b5b7"></a>

```
https://idetoolkits-hostedfiles.amazonaws.com/Notifications/VSCode/startup/1.x.json
https://idetoolkits-hostedfiles.amazonaws.com/Notifications/VSCode/emergency/1.x.json
```

### 架构支持
<a name="w2aac13c19b5b9"></a>

```
https://raw.githubusercontent.com/aws/serverless-application-model/main/samtranslator/schema/schema.json
https://api.github.com/repos/devfile/api/releases/latest
https://raw.githubusercontent.com/devfile/api/${devfileSchemaVersion}/schemas/latest/devfile.json
```

### cSharpSam调试安装脚本
<a name="w2aac13c19b5c11"></a>

```
https://aka.ms/getvsdbgps1
https://aka.ms/getvsdbgsh
```

## Amazon Q 插件端点
<a name="w2aac13c19b7"></a>

以下是需要纳入允许列表的特定于 Amazon Q 插件的端点和引用的列表。

```
https://idetoolkits-hostedfiles.amazonaws.com/*    (Plugin for configs)
https://idetoolkits.amazonwebservices.com/*   (Plugin for endpoints)
https://aws-toolkit-language-servers.amazonaws.com/*  (Language Server Process)
https://client-telemetry.us-east-1.amazonaws.com/ (Telemetry)                
https://cognito-identity.us-east-1.amazonaws.com    (Telemetry)
https://aws-language-servers.us-east-1.amazonaws.com (Language Server Process)
```

## Amazon Q 开发者版端点
<a name="w2aac13c19b9"></a>

以下是需要纳入允许列表的特定于 Amazon Q 开发者版的端点和引用的列表。

```
https://codewhisperer.us-east-1.amazonaws.com (Inline,Chat, QSDA,...)
https://q.us-east-1.amazonaws.com (Inline,Chat, QSDA....)
https://desktop-release.codewhisperer.us-east-1.amazonaws.com/ (Download url for CLI.)
https://specs.q.us-east-1.amazonaws.com (Url for autocomplete specs used by CLI)
* aws-language-servers.us-east-1.amazonaws.com (Local Workspace context)
```

## Amazon Q 代码转换端点
<a name="w2aac13c19c11"></a>

以下是需要纳入允许列表的特定于 Amazon Q 代码转换的端点和引用的列表。

```
https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security_iam_manage-access-with-policies.html
```

## 身份验证端点
<a name="w2aac13c19c15"></a>

以下是需要纳入允许列表的身份验证端点和引用的列表。

```
[Directory ID or alias].awsapps.com 
* oidc.[Region].amazonaws.com
*.sso.[Region].amazonaws.com
*.sso-portal.[Region].amazonaws.com
*.aws.dev
*.awsstatic.com
*.console.aws.a2z.com
*.sso.amazonaws.com
```

## 身份端点
<a name="w2aac13c19c17"></a>

以下列表包含特定于身份的端点，例如 AWS IAM Identity Center 和 AWS 生成器 ID。

### AWS IAM Identity Center
<a name="w2aac13c19c17b5"></a>

有关 IAM Identity Center 所需端点的详细信息，请参阅《AWS IAM Identity Center用户指南》**中的[启用 IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html) 主题。

### 企业 IAM Identity Center
<a name="w2aac13c19c17b7"></a>

```
https://[Center director id].awsapps.com/start (should be permitted to initiate auth)
https://us-east-1.signin.aws (for facilitating authentication, assuming IAM Identity Center is in IAD)
https://oidc.(us-east-1).amazonaws.com
https://log.sso-portal.eu-west-1.amazonaws.com.
https://portal.sso.eu-west-1.amazonaws.com
```

### AWS 生成器 ID
<a name="w2aac13c19c17b9"></a>

```
https://view.awsapps.com/start (must be blocked to disable individual tier) 
https://codewhisperer.us-east-1.amazonaws.com and q.us-east-1.amazonaws.com (should be permitted)
```

## 遥测
<a name="w2aac13c19c19"></a>

以下是需要纳入允许列表的特定于遥测的端点。

```
https://telemetry.aws-language-servers.us-east-1.amazonaws.com/
https://client-telemetry.us-east-1.amazonaws.com
```

## 引用
<a name="w2aac13c19c21"></a>

以下是端点引用的列表。

```
idetoolkits-hostedfiles.amazonaws.com.
cognito-identity.us-east-1.amazonaws.com.
amazonwebservices.gallery.vsassets.io.
eu-west-1.prod.pr.analytics.console.aws.a2z.com.
prod.pa.cdn.uis.awsstatic.com.
portal.sso.eu-west-1.amazonaws.com.
log.sso-portal.eu-west-1.amazonaws.com.
prod.assets.shortbread.aws.dev.
prod.tools.shortbread.aws.dev.
prod.log.shortbread.aws.dev.
a.b.cdn.console.awsstatic.com.
assets.sso-portal.eu-west-1.amazonaws.com.
oidc.eu-west-1.amazonaws.com.
aws-toolkit-language-servers.amazonaws.com.
aws-language-servers.us-east-1.amazonaws.com.
idetoolkits.amazonwebservices.com.
```