CLI GetContextKeysForCustomPolicyで使用する - AWS SDKコードの例

Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CLI GetContextKeysForCustomPolicyで使用する

以下のコード例は、GetContextKeysForCustomPolicy の使用方法を示しています。

CLI
AWS CLI

例 1: コマンドラインでパラメータとして提供される 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: ファイル入力として提供される 1 つ以上のカスタム JSON ポリシーによって参照されるコンテキストキーを一覧表示するには

次の get-context-keys-for-custom-policy コマンドは前の例と同じですが、ポリシーがパラメータとしてではなくファイルで提供される点が異なります。コマンドは JSON 構造のリストではなく文字列の JSON リストを想定しているため、ファイルを 1 つに折りたたむことはできますが、ファイルは次のように構造化する必要があります。

[ "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" ] }

詳細については、IAM ユーザーガイドの「Word Policy Simulator (AWS CLI and AWS API) の使用」を参照してください。 AWS IAM

PowerShell
ツール for PowerShell

例 1: この例では、提供されたポリシー JSON に含まれるすべてのコンテキストキーを取得します。複数のポリシーを指定するには、値のカンマ区切りリストとして指定できます。

$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
  • API の詳細については、「コマンドレットリファレンス」のGetContextKeysForCustomPolicy」を参照してください。 AWS Tools for PowerShell