管理 IAM 用户的访问密钥
注意
如果您发现此页面是因为您正在寻找有关 Product Advertising API 的信息以在您的网站上销售亚马逊产品,请参阅 Product Advertising API 5.0 文档
访问密钥是 IAM 用户或 Amazon Web Services 账户根用户 的长期凭证。您可以使用访问密钥签署对 Amazon CLI 或 Amazon API 的编程请求(直接或使用 Amazon 开发工具包)。有关更多信息,请参阅 Amazon Web Services 一般参考中的签名 Amazon API 请求。
重要
作为最佳实践,请使用临时安全凭证(IAM 角色)而非创建访问密钥等长期凭证,请勿创建 Amazon Web Services 账户根用户 访问密钥。我们不建议您为根用户生成访问密钥,因为它们允许完全访问您的所有 Amazon Web Services 资源,包括您的账单信息。有关更多信息,请参阅《Amazon Account Management 参考指南》中的 Amazon Web Services 账户 最佳实践。
访问密钥包含两部分:访问密钥 ID(例如 AKIAIOSFODNN7EXAMPLE
)和秘密访问密钥(例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
)。您必须同时使用访问密钥 ID 和秘密访问密钥对请求执行身份验证。
如果您仍需要使用长期访问密钥,则可创建、修改、查看或轮换您的访问密钥(访问密钥 ID 和秘密访问密钥)。您最多可拥有两个访问密钥。要遵循最佳实践,请定期轮换访问密钥。有关更多信息,请参阅轮换访问密钥。
当您创建访问密钥对时,将访问密钥 ID 和秘密访问密钥保存在一个安全位置。秘密访问密钥仅在您创建它时可用。如果您丢失了秘密访问密钥,则必须删除访问密钥并创建新的访问密钥。有关更多信息,请参阅 重置您丢失或遗忘的 Amazon 密码或访问密钥。
重要
安全管理您的访问密钥。请不要向未经授权方提供访问密钥,即便是为了帮助找到您的账户标识符也不行。如果您这样做,可能会向某人提供对您的账户的永久访问权限。
所需权限
注意
iam:TagUser
是用于添加和编辑访问密钥描述的可选权限。有关更多信息,请参阅标记 IAM 用户。
要为您自己的 IAM 用户创建访问密钥,您必须具有以下策略中的权限:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:GetUser", "iam:ListAccessKeys", "iam:TagUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }
要为您自己的 IAM 用户轮换访问密钥,您必须具有以下策略中的权限:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:GetAccessKeyLastUsed", "iam:GetUser", "iam:ListAccessKeys", "iam:UpdateAccessKey", "iam:TagUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }
管理访问密钥(控制台)
您可以使用 Amazon Web Services Management Console 管理 IAM 用户的访问密钥。
创建、修改或删除您自己的 IAM 用户访问密钥(控制台)
-
使用 Amazon 账户 ID 或账户别名、您的 IAM 用户名和密码登录到 IAM 控制台
。 注意
为方便起见,Amazon登录页面使用浏览器 Cookie 记住您的 IAM 用户名和账户信息。如果您之前以其他用户身份登录,请选择页面底部的 Sign-in to a different account(登录到其他账户)以返回主登录页面。在此处,您可以输入要重新导向到您账户 IAM 用户登录页面的 Amazon 账户 ID 或账户别名。
要获取 Amazon Web Services 账户 ID,请联系管理员。
-
在右上角的导航栏中,选择您的用户名,然后选择 Security credentials(安全凭证)。
请执行下列操作之一:
创建访问密钥
-
在 Access keys(访问密钥)部分中,选择 Create access key(创建访问密钥)。如果您已经有两个访问密钥,则此按钮将被停用,您必须先删除一个访问密钥,然后才能创建新的访问密钥。
-
在 Access key best practices & alternatives(访问密钥最佳实践和替代方法)页面上,请选择您的用例以了解可帮助您避免创建长期访问密钥的其他选项。如果您确定您的用例仍然需要访问密钥,请选择 Other(其他),然后选择 Next(下一步)。
-
(可选)为访问密钥设置描述标记值。这会为您的 IAM 用户添加标签键/值对。这可帮助您稍后标识和轮换访问密钥。标签密钥设置为访问密钥 ID。标签值设置为您指定的访问密钥描述。完成后,选择 Create access key(创建访问密钥)。
-
在 Retrieve access keys(检索访问密钥)页面上,选择 Show(显示)来显示用户的秘密访问密钥的值,或选择 Download .csv file(下载 .csv 文件)。这是您保存秘密访问密钥的唯一机会。将秘密访问密钥保存在安全位置后,请选择 Done(完成)。
停用访问密钥
-
在 Access keys(访问密钥)部分中,找到要停用的密钥,选择 Actions(操作),然后选择 Deactivate(停用)。当系统提示您确认时,请选择 Deactivate (停用)。已停用的访问密钥仍会计入您的两个访问密钥限制。
激活访问密钥
-
在 Access keys(访问密钥)部分中,找到要激活的密钥,选择 Actions(操作),然后选择 Activate(激活)。
删除不再需要的访问密钥
-
在 Access keys(访问密钥)部分中,找到要删除的密钥,选择 Actions(操作),然后选择 Delete(删除)。按照对话框中的说明先 Deactivate(停用),然后确认删除。我们建议您在永久删除访问密钥之前验证该访问密钥是否已不再使用。
创建、修改或删除其他 IAM 用户的访问密钥(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
选择要管理其访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。
-
在 Access keys (访问密钥) 部分中,执行以下任意操作:
-
要创建访问密钥,请选择创建访问密钥。如果按钮已停用,则必须先删除现有密钥中的一个,然后才能创建新密钥。在 Access key best practices & alternatives(访问密钥最佳实践和替代方法)页面上,查看最佳实践和替代方法。选择您的用例以了解可帮助您避免创建长期访问密钥的其他选项。如果您确定您的用例仍然需要访问密钥,请选择 Other(其他),然后选择 Next(下一步)。在 Retrieve access keys(检索访问密钥)页面上,选择 Show(显示)来显示用户的秘密访问密钥的值。要将访问密钥 ID 和秘密访问密钥以
.csv
文件形式保存计算机上的安全位置,请选择 Download .csv file(下载 .csv 文件)按钮。为用户创建访问密钥时,默认情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。 -
要停用活动的访问密钥,请选择 Actions(操作),然后选择 Deactivate(停用)。
-
要激活非活动访问密钥,请选择 Actions(操作),然后选择 Activate(激活)。
-
要删除您的访问密钥,请选择 Actions(操作),然后选择 Delete(删除)。按照对话框中的说明先 Deactivate(停用),然后确认删除。Amazon 建议在执行此操作之前,先停用该密钥并测试它是否已不再使用。使用 Amazon Web Services Management Console 时,必须先停用密钥,然后才能删除它。
-
列出 IAM 用户的访问密钥(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
选择预期用户的名称,然后选择安全凭证选项卡。在 Access keys(访问密钥)部分,您将看到用户的访问密钥和显示的各个密钥的状态。
注意
只有用户的访问密钥 ID 是可见的。秘密访问密钥只能在创建密钥时检索到。
列出多个 IAM 用户的访问密钥 ID(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
如有必要,可通过完成以下步骤来将 Access key ID 列添加到用户表中:
-
在最右侧的表上方,选择设置图标 (
)。
-
在 Manage columns (管理列) 中,选择访问密钥 ID。
-
选择 Close 返回到用户列表。
-
-
访问密钥 ID 列显示各个访问密钥 ID,后跟其状态;例如,23478207027842073230762374023 (活动) 或 22093740239670237024843420327 (不活动)。
您可以利用该信息查看和复制具有一个或两个访问密钥的用户的访问密钥。对于没有访问密钥的用户,该列显示 None。
注意
只有用户的访问密钥 ID 和状态是可见的。秘密访问密钥只能在创建密钥时检索到。
查找哪个 IAM 用户拥有特定的访问密钥(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
在搜索框中,键入或粘贴要查找的用户的访问密钥 ID。
-
如有必要,可通过完成以下步骤来将 Access key ID 列添加到用户表中:
-
在最右侧的表上方,选择设置图标 (
)。
-
在 Manage columns (管理列) 中,选择访问密钥 ID。
-
选择 Close 返回用户列表,并确认筛选出的用户拥有指定的访问密钥。
-
管理访问密钥 (Amazon CLI)
要从 Amazon CLI 管理 IAM 用户的访问密钥,请运行以下命令。
-
创建访问密钥:
aws iam create-access-key
-
停用或激活访问密钥:
aws iam update-access-key
-
列出用户访问密钥的步骤:
aws iam list-access-keys
-
确定最近使用访问密钥的时间:
aws iam get-access-key-last-used
-
删除访问密钥:
aws iam delete-access-key
管理访问密钥 (Amazon API)
要从 Amazon API 管理 IAM 用户的访问密钥,请调用以下操作。
-
创建访问密钥:
CreateAccessKey
-
停用或激活访问密钥:
UpdateAccessKey
-
列出用户访问密钥的步骤:
ListAccessKeys
-
确定最近使用访问密钥的时间:
GetAccessKeyLastUsed
-
删除访问密钥:
DeleteAccessKey
轮换访问密钥
建议您定期轮换(更改)IAM 用户访问密钥,这是最佳安全做法。定期轮换长期凭证有助于您熟悉该流程。这在您遇到必须轮换凭证的情况(例如员工离开公司时)下非常有用。如果您的管理员向您授予了必要的权限,则您可轮换自己的访问密钥。
有关如何向用户授予权限以轮换他们自己的访问密钥的详细信息,请参阅Amazon:允许 IAM 用户在“My Security Credentials”(我的安全凭证)页面上管理自己的密码、访问密钥和 SSH 公有密钥。您还可以将密码策略应用于您的账户,以要求所有 IAM 用户定期轮换其密码。您可以选择这些用户必须执行此操作的频率。有关更多信息,请参阅为 IAM 用户设置账户密码策略。
重要
当您创建 Amazon Web Services 账户时,最初使用的是一个对账户中所有 Amazon Web Services和资源拥有完全访问权限的登录身份。此身份称为 Amazon Web Services 账户根用户,使用您创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议您不要使用根用户执行日常任务。保护好根用户凭证,并使用这些凭证来执行仅根用户可以执行的任务。有关要求您以根用户身份登录的任务的完整列表,请参阅 Amazon Account Management 参考指南中的需要根用户凭证的任务。因为 Amazon Web Services 账户根用户 凭证是长期凭证,因此我们建议您也对其进行定期轮换。此账户密码策略不适用于根用户凭证。IAM 用户无法管理 Amazon Web Services 账户根用户 凭证。您必须使用根用户凭证来更改根用户凭证。
轮换 IAM 用户访问密钥(控制台)
您可以从 Amazon Web Services Management Console 轮换访问密钥。
在不中断应用程序的情况下轮换 IAM 用户的访问密钥(控制台)
-
当第一个访问密钥仍处于活动状态时,创建第二个访问密钥。
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
选择预期用户的名称,然后选择安全凭证选项卡。
-
在 Access keys(访问密钥)部分中,选择 Create access key(创建访问密钥)。在 Access key best practices & alternatives(访问密钥最佳实践和替代方法)页面上,选择 Other(其他),然后选择 Next(下一步)。
-
(可选)设置访问密钥的描述标签值,以向 IAM 用户添加标签键/值对。这可帮助您稍后标识和轮换访问密钥。标签密钥设置为访问密钥 ID。标签值设置为您指定的访问密钥描述。完成后,选择 Create access key(创建访问密钥)。
-
在 Retrieve access keys(检索访问密钥)页面上,选择 Show(显示)来显示用户的秘密访问密钥的值,或选择 Download .csv file(下载 .csv 文件)。这是您保存秘密访问密钥的唯一机会。将秘密访问密钥保存在安全位置后,请选择 Done(完成)。
为用户创建访问密钥时,默认情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。此时,用户拥有两个访问密钥。
-
更新所有应用程序和工具以使用新的访问密钥。
-
通过查看最早的访问密钥的 Last used(上次使用)信息来确定第一个访问密钥是否仍在使用。一种方法是等待几天,然后检查旧访问密钥是否被使用,然后再继续。
-
即使 Last used(上次使用)信息指示旧密钥从未使用过,我们还是建议您不要立即删除第一个访问密钥。相反,选择 Actions(操作),然后选择 Deactivate(停用)以停用第一个访问密钥。
-
仅使用新的访问密钥,以确认您的应用程序可以正常工作。此时,任何仍在使用初始访问密钥的应用程序和工具将停止工作,因为它们不再具有对 Amazon 资源的访问权限。如果您发现此类应用程序或工具,可以选择重新激活第一个访问密钥。然后返回到 步骤 3 并更新此应用程序以使用新的密钥。
-
在等待一段时间以确保所有应用程序和工具均已更新后,可以删除第一个访问密钥:
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
选择预期用户的名称,然后选择安全凭证选项卡。
-
在要删除的访问密钥的 Access keys(访问密钥)部分中,选择 Actions(操作),然后选择 Delete(删除)。按照对话框中的说明先 Deactivate(停用),然后确认删除。
确定访问密钥何时需要轮换(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
-
如有必要,可通过完成以下步骤来将 Access key age 列添加到用户表中:
-
在最右侧的表上方,选择设置图标 (
)。
-
在 Manage columns (管理列) 中,选择 Access key age (访问密钥使用期限)。
-
选择 Close 返回到用户列表。
-
-
Access key age 列显示最早的活动访问密钥自创建至今经过的天数。您可以利用该信息查找需要轮换访问密钥的用户。对于没有访问密钥的用户,该列显示 None。
轮换访问密钥 (Amazon CLI)
您可以从 Amazon Command Line Interface 轮换访问密钥。
在不中断应用程序的情况下轮换访问密钥 (Amazon CLI)
-
当第一个访问密钥仍处于活动状态时,创建第二个访问密钥,后者在默认情况下将处于活动状态。运行以下命令:
-
此时,用户拥有两个访问密钥。
-
-
更新所有应用程序和工具以使用新的访问密钥。
-
通过使用以下命令,确定第一个访问密钥是否仍在使用:
一种方法是等待几天,然后检查旧访问密钥是否被使用,然后再继续。
-
即使步骤 步骤 3 指示旧密钥未被使用,我们也建议您不要立即删除第一个访问密钥。而是通过以下命令,将第一个访问密钥的状态更改为
Inactive
: -
仅使用新的访问密钥,以确认您的应用程序可以正常工作。此时,任何仍在使用初始访问密钥的应用程序和工具将停止工作,因为它们不再具有对 Amazon 资源的访问权限。如果您发现此类应用程序或工具,可将其状态切换回
Active
以重新激活第一个访问密钥。然后返回到步骤 步骤 2 并更新此应用程序以使用新的密钥。 -
在等待一段时间以确保所有应用程序和工具均已更新后,您可以通过以下命令删除第一个访问密钥:
有关更多信息,请参阅下列内容:
-
如何轮换 IAM 用户的访问密钥
。Amazon 安全博客上的这篇文章介绍了更多有关密钥轮换的信息。 -
IAM 中的安全最佳实践. 本页介绍有助于保护您的 Amazon 资源的一般建议。
轮换访问密钥 (Amazon API)
您可以使用 Amazon API 轮换访问密钥。
在不中断应用程序的情况下轮换访问密钥 (Amazon API)
-
当第一个访问密钥仍处于活动状态时,创建第二个访问密钥,后者在默认情况下将处于活动状态。调用以下操作:
-
此时,用户拥有两个访问密钥。
-
-
更新所有应用程序和工具以使用新的访问密钥。
-
通过调用以下操作,确定第一个访问密钥是否仍在使用:
一种方法是等待几天,然后检查旧访问密钥是否被使用,然后再继续。
-
即使步骤 步骤 3 指示旧密钥未被使用,我们也建议您不要立即删除第一个访问密钥。而是调用以下操作,将第一个访问密钥的状态更改为
Inactive
: -
仅使用新的访问密钥,以确认您的应用程序可以正常工作。此时,任何仍在使用初始访问密钥的应用程序和工具将停止工作,因为它们不再具有对 Amazon 资源的访问权限。如果您发现此类应用程序或工具,可将其状态切换回
Active
以重新激活第一个访问密钥。然后返回到步骤 步骤 2 并更新此应用程序以使用新的密钥。 -
在等待一段时间以确保所有应用程序和工具均已更新后,您可以通过调用以下操作,删除第一个访问密钥:
有关更多信息,请参阅下列内容:
-
如何轮换 IAM 用户的访问密钥
。Amazon 安全博客上的这篇文章介绍了更多有关密钥轮换的信息。 -
IAM 中的安全最佳实践. 本页介绍有助于保护您的 Amazon 资源的一般建议。
审计访问密钥
您可以在代码中查看 Amazon 访问密钥,以确定密钥是否来自于您拥有的账户。您可以使用 aws sts
get-access-key-info
Amazon CLI 命令或 GetAccessKeyInfo
Amazon API 操作传递访问密钥 ID。
Amazon CLI 和 Amazon API 操作返回访问密钥所属的 Amazon Web Services 账户 的 ID。以 AKIA
开头的访问密钥 ID 是 IAM 用户或 Amazon Web Services 账户根用户 的长期凭证。以 ASIA
开头的访问密钥 ID 是使用 Amazon STS 操作创建的临时凭证。如果响应中的账户属于您,则您可以根用户的身份登录并查看您的根用户访问密钥。然后,您可以提取凭证报告以了解哪个 IAM 用户拥有这些密钥。要了解谁请求了 ASIA
访问密钥的临时凭证,请查看 CloudTrail 日志中的 Amazon STS 事件。
为了安全起见,您可以查看 Amazon CloudTrail 日志以了解已在 Amazon 中执行操作的人员。您可以在角色信任策略中使用 sts:SourceIdentity
条件键,以要求用户在代入角色时指定身份。例如,您可以要求 IAM 用户指定自己的用户名作为其源身份。这可以帮助您确定哪个用户在 Amazon 中执行了具体的操作。有关更多信息,请参阅sts:SourceIdentity。
该操作不指示访问密钥的状态。密钥可能处于活动状态、非活动状态或已删除状态 非活动密钥可能没有执行操作的权限。提供删除的访问密钥可能会返回“密钥不存在”错误。