Gunakan GetContextKeysForCustomPolicy dengan CLI - AWS Contoh Kode SDK

Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc. GitHub

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan GetContextKeysForCustomPolicy dengan CLI

Contoh kode berikut menunjukkan cara menggunakanGetContextKeysForCustomPolicy.

CLI
AWS CLI

Contoh 1: Untuk mencantumkan kunci konteks yang direferensikan oleh satu atau beberapa kebijakan JSON kustom yang disediakan sebagai parameter pada baris perintah

get-context-keys-for-custom-policyPerintah berikut mem-parsing setiap kebijakan yang disediakan dan mencantumkan kunci konteks yang digunakan oleh kebijakan tersebut. Gunakan perintah ini untuk mengidentifikasi nilai kunci konteks mana yang harus Anda berikan agar berhasil menggunakan perintah simulator kebijakan simulate-custom-policy dansimulate-custom-policy. Anda juga dapat mengambil daftar kunci konteks yang digunakan oleh semua kebijakan yang terkait oleh pengguna IAM atau peran dengan menggunakan perintah. get-context-keys-for-custom-policy Nilai parameter yang dimulai dengan file:// menginstruksikan perintah untuk membaca file dan menggunakan konten sebagai nilai untuk parameter, bukan nama file itu sendiri.

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"}}}}'

Output:

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

Contoh 2: Untuk mencantumkan kunci konteks yang direferensikan oleh satu atau beberapa kebijakan JSON kustom yang disediakan sebagai input file

get-context-keys-for-custom-policyPerintah berikut ini sama dengan contoh sebelumnya, kecuali bahwa kebijakan disediakan dalam file, bukan sebagai parameter. Karena perintah mengharapkan daftar string JSON, dan bukan daftar struktur JSON, file harus terstruktur sebagai berikut, meskipun Anda dapat menciutkannya menjadi satu.

[ "Policy1", "Policy2" ]

Jadi misalnya, file yang berisi kebijakan dari contoh sebelumnya harus terlihat seperti berikut. Anda harus menghindari setiap kutipan ganda yang disematkan di dalam string kebijakan dengan mendahuluinya dengan garis miring terbalikā€.

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

File ini kemudian dapat dikirimkan ke perintah berikut.

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

Output:

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

Untuk informasi selengkapnya, lihat Menggunakan IAM Policy Simulator (AWS CLI AWS dan API) di Panduan Pengguna AWS IAM.

PowerShell
Alat untuk PowerShell

Contoh 1: Contoh ini mengambil semua kunci konteks yang ada dalam kebijakan yang disediakan JSON.Untuk memberikan beberapa kebijakan yang dapat Anda berikan sebagai daftar nilai yang dipisahkan koma.

$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