

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

# 授予编程式访问权限
<a name="sdk-programmatic-access"></a>

您可以在本地计算机或其他 AWS 环境（例如 Amazon Elastic Compute Cloud 实例）上运行本指南中的 AWS CLI 和代码示例。要运行这些示例，您需要授予对示例使用的 AWS SDK 操作的访问权限。

**Topics**
+ [在本地计算机上运行代码](#programmatic-access-general)
+ [在 AWS 环境中运行代码](#sdk-aws-environments)

## 在本地计算机上运行代码
<a name="programmatic-access-general"></a>

要在本地计算机上运行代码，我们建议您使用短期凭证向用户授予对 AWS SDK 操作的访问权限。有关在本地计算机上运行 AWS CLI 和代码示例的具体信息，请参阅[在本地计算机上使用配置文件](#programmatic-access-rek-examples)。

如果用户想在 AWS 外部进行交互，则需要编程访问权限 AWS 管理控制台。授予编程访问权限的方式取决于正在访问的用户类型 AWS。

要向用户授予编程式访问权限，请选择以下选项之一。


****  

| 哪个用户需要编程式访问权限？ | 目的 | 方式 | 
| --- | --- | --- | 
| IAM | （推荐）使用控制台凭证作为临时凭证，签署对 AWS CLI AWS SDKs、或的编程请求 AWS APIs。 |  按照您希望使用的界面的说明进行操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/dg/sdk-programmatic-access.html)  | 
|  人力身份 （在 IAM Identity Center 中管理的用户）  | 使用临时证书签署向 AWS CLI AWS SDKs、或发出的编程请求 AWS APIs。 |  按照您希望使用的界面的说明进行操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/dg/sdk-programmatic-access.html)  | 
| IAM | 使用临时证书签署向 AWS CLI AWS SDKs、或发出的编程请求 AWS APIs。 | 按照 IAM 用户指南中的将[临时证书与 AWS 资源配合使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)中的说明进行操作。 | 
| IAM | （不推荐使用）使用长期凭证签署向 AWS CLI AWS SDKs、或发出的编程请求 AWS APIs。 |  按照您希望使用的界面的说明进行操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/dg/sdk-programmatic-access.html)  | 

### 在本地计算机上使用配置文件
<a name="programmatic-access-rek-examples"></a>

您可以使用您在中创建 AWS CLI 的短期证书运行本指南中的和代码示例[在本地计算机上运行代码](#programmatic-access-general)。为了获取凭证和其他设置信息，这些示例使用名为 `profile-name` 的配置文件。例如：

```
session = boto3.Session(profile_name="profile-name")
rekognition_client = session.client("rekognition")
```

个人资料所代表的用户必须有权调用 Rekognition SDK 操作以及示例所需的 AWS 其他 SDK 操作。

要创建适用于 AWS CLI 和代码示例的配置文件，请选择以下选项之一。确保您创建的配置文件的名称为 `profile-name`。
+ 由 IAM 管理的用户 — 按照[切换到 IAM 角色 (AWS CLI)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html) 部分的说明进行操作。
+ 员工身份（由管理的用户 AWS IAM Identity Center）— 按照[配置要使用的 AWS CLI 中的说明进行](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)操作 AWS IAM Identity Center。对于这些代码示例，我们建议使用集成式开发环境 (IDE)，该环境支持 AWS Toolkit，可通过 IAM Identity Center 实现身份验证。有关 Java 示例，请参阅[使用 Java 开始构建](https://aws.amazon.com/developer/language/java/)。有关 Python 示例，请参阅[使用 Python 开始构建](https://aws.amazon.com/developer/tools/#IDE_and_IDE_Toolkits)。有关更多信息，请参阅 [IAM Identity Center 凭证](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html)。

**注意**  
您可以使用代码获取短期凭证。有关更多信息，请参阅[切换到 IAM 角色 (AWS API)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_use_switch-role-api.html)。对于 IAM Identity Center，请按照[获取用于 CLI 访问的 IAM 角色凭证](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html)部分的说明操作，获取角色的短期凭证。

## 在 AWS 环境中运行代码
<a name="sdk-aws-environments"></a>

您不应使用用户凭据在 AWS 环境中签署 AWS SDK 调用，例如在 AWS Lambda 函数中运行的生产代码。相反，您应该配置一个角色来定义代码所需的权限。然后，将该角色附加到运行代码的环境。关于如何附加角色和提供可用的临时凭证，取决于运行代码的环境：
+ AWS Lambda 函数 — 使用 Lambda 在您的函数担任 Lambda 函数的执行角色时自动提供给您的函数的临时证书。这些凭证在 Lambda 环境变量中可用。您不需要指定配置文件。有关更多信息，请参阅 [Lambda 执行角色](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)。
+ Amazon EC2 — 使用 Amazon EC2 实例元数据端点凭证提供程序。该提供程序会使用您附加到 Amazon EC2 实例的 Amazon EC2 *实例配置文件*，自动为您生成和刷新凭证。有关更多信息，请参阅[使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。
+ Amazon Elastic Container Service — 使用 Container 凭证提供程序。Amazon ECS 会向元数据端点发送和刷新凭证。您指定的*任务 IAM 角色*会提供一项策略，用于管理您的应用程序所使用的凭证。有关更多信息，请参阅[与 AWS 服务交互](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)。

有关凭证提供程序的更多信息，请参阅[标准化凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)。