GetContextKeysForCustomPolicy 搭配 使用 CLI - AWS Identity and Access Management

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

GetContextKeysForCustomPolicy 搭配 使用 CLI

下列程式碼範例示範如何使用 GetContextKeysForCustomPolicy

CLI
AWS CLI

範例 1:列出由一或多個自訂JSON政策所參考的內容索引鍵,該政策提供做為命令列上的參數

下列get-context-keys-for-custom-policy命令會剖析每個提供的政策,並列出這些政策所使用的內容索引鍵。使用此命令來識別您必須提供的內容索引鍵值,才能成功使用政策模擬器命令 simulate-custom-policysimulate-custom-policy。您也可以使用 get-context-keys-for-custom-policy命令來擷取IAM使用者或角色關聯的所有政策所使用的內容索引鍵清單。以 file:// 開頭的參數值指示命令讀取檔案,並使用 內容作為 參數的值,而非檔案名稱本身。

aws iam get-context-keys-for-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}'

輸出:

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

範例 2:列出以檔案輸入形式提供的一或多個自訂JSON政策所參考的內容索引鍵

下列get-context-keys-for-custom-policy命令與上一個範例相同,但政策是在檔案中提供,而不是作為 參數。由於 命令預期會出現字串JSON清單,而不是JSON結構清單,因此檔案必須如下所示,但您可以將其摺疊為一個。

[ "Policy1", "Policy2" ]

例如,包含上一個範例政策的檔案必須如下所示。您必須在政策字串前面加上反斜線 '',以逸出政策字串中的每個內嵌雙引號。

[ "{\"Version\": \"2012-10-17\", \"Statement\": {\"Effect\": \"Allow\", \"Action\": \"dynamodb:*\", \"Resource\": \"arn:aws:dynamodb:us-west-2:128716708097:table/${aws:username}\", \"Condition\": {\"DateGreaterThan\": {\"aws:CurrentTime\": \"2015-08-16T12:00:00Z\"}}}}" ]

然後,此檔案可以提交至下列命令。

aws iam get-context-keys-for-custom-policy \ --policy-input-list file://policyfile.json

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南 中的使用IAM政策模擬器 (AWS CLI 和 AWS API)

PowerShell
適用於 的工具 PowerShell

範例 1:此範例會擷取所提供政策 json.In 順序中存在的所有內容索引鍵,以提供多個政策,您可以將這些政策作為逗號分隔的值清單提供。

$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-IAMContextKeysForCustomPolicy -PolicyInputList $policy1,$policy2

如需開發人員指南和程式碼範例的完整清單 AWS SDK,請參閱 將此服務與 搭配使用 AWS SDK。本主題也包含有關入門的資訊,以及先前SDK版本的詳細資訊。