与 AWS SDK或GetContextKeysForPrincipalPolicy一起使用 CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

与 AWS SDK或GetContextKeysForPrincipalPolicy一起使用 CLI

以下代码示例演示如何使用 GetContextKeysForPrincipalPolicy

CLI
AWS CLI

列出与IAM委托人关联的所有策略所引用的上下文密钥

以下 get-context-keys-for-principal-policy 命令检索附加到用户 saanvi 及其所属任何组的所有策略。然后,该命令会解析每个策略并列出这些策略使用的上下文键。使用此命令来确定必须提供哪些上下文键值才能成功使用 simulate-custom-policysimulate-principal-policy 命令。您还可以使用get-context-keys-for-custom-policy命令检索任意JSON策略使用的上下文密钥列表。

aws iam get-context-keys-for-principal-policy \ --policy-source-arn arn:aws:iam::123456789012:user/saanvi

输出:

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

有关更多信息,请参阅《AWS IAM用户指南》中的 “使用IAM策略模拟器”(AWS CLI和 AWS API)

PowerShell
用于 PowerShell

示例 1:此示例获取所提供的策略 json 中存在的所有上下文密钥以及附加到IAM实体(用户/角色等)的策略。For-PolicyInputList 您可以将多个值列表作为逗号分隔的值提供。

$policy1 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' $policy2 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/"}}' Get-IAMContextKeysForPrincipalPolicy -PolicyInputList $policy1,$policy2 -PolicySourceArn arn:aws:iam::852640994763:user/TestUser