Bagaimana AWS X-Ray bekerja dengan IAM - AWS X-Ray

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

Bagaimana AWS X-Ray bekerja dengan IAM

Sebelum Anda menggunakan IAM untuk mengelola akses ke X-Ray, Anda harus memahami fitur IAM apa yang tersedia untuk digunakan dengan X-Ray. Untuk mendapatkan tampilan tingkat tinggi tentang cara Layanan AWS kerja X-Ray dan lainnya dengan IAM, lihat Layanan AWS That Work with IAM di Panduan Pengguna IAM.

Anda dapat menggunakan AWS Identity and Access Management (IAM) untuk memberikan izin X-Ray kepada pengguna dan menghitung sumber daya di akun Anda. IAM mengontrol akses ke layanan X-Ray di tingkat API untuk menerapkan izin secara seragam, terlepas dari klien mana (konsol, AWS SDK,) yang digunakan pengguna Anda. AWS CLI

Untuk menggunakan konsol X-Ray untuk melihat peta dan segmen jejak, Anda hanya perlu izin baca. Untuk mengaktifkan akses konsol, tambahkan AWSXrayReadOnlyAccess kebijakan terkelola untuk pengguna IAM Anda.

Untuk pengembangan dan pengujian lokal, buat peran IAM dengan izin baca dan tulis. Asumsikan peran dan simpan kredensi sementara untuk peran tersebut. Anda dapat menggunakan kredensil ini dengan daemon X-Ray, the AWS CLI, dan SDK. AWS Lihat menggunakan kredensil keamanan sementara dengan AWS CLI untuk informasi selengkapnya.

Untuk menerapkan aplikasi yang diinstrumentasi AWS, buat peran IAM dengan izin tulis dan tetapkan ke sumber daya yang menjalankan aplikasi Anda. AWSXRayDaemonWriteAccesstermasuk izin untuk mengunggah jejak, dan beberapa izin baca juga untuk mendukung penggunaan aturan pengambilan sampel.

Kebijakan baca dan tulis tidak termasuk izin untuk mengonfigurasipengaturan kunci enkripsi dan aturan pengambilan sampel. Gunakan AWSXrayFullAccess untuk mengakses pengaturan ini, atau menambahkan API konfigurasi dalam kebijakan kustom. Untuk enkripsi dan dekripsi dengan kunci yang dikelola pelanggan yang Anda buat, Anda juga perlu izin untuk menggunakan kunci.

Kebijakan berbasis identitas X-Ray

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan apakah tindakan dan sumber daya diizinkan atau ditolak, serta persyaratan terkait diizinkan atau ditolaknya tindakan tersebut. X-Ray mendukung tindakan, sumber daya, dan kunci syarat tertentu. Untuk mempelajari semua elemen yang Anda gunakan dalam kebijakan JSON, lihat Referensi Elemen Kebijakan JSON IAM dalam Panduan Pengguna IAM.

Tindakan

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, pengguna utama mana yang dapat melakukan tindakan pada sumber daya apa, dan dalam kondisi apa.

Elemen Action dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan operasi AWS API terkait. Ada beberapa pengecualian, misalnya tindakan hanya izin yang tidak memiliki operasi API yang cocok. Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Menyertakan tindakan dalam suatu kebijakan untuk memberikan izin melakukan operasi terkait.

Tindakan kebijakan di X-Ray menggunakan prefiks berikut sebelum tindakan: xray:. Misalnya, untuk memberikan izin kepada seseorang untuk mengambil detail sumber daya grup dengan operasi API GetGroup X-Ray, Anda mencantumkan tindakan xray:GetGroup dalam kebijakan mereka. Pernyataan kebijakan harus memuat elemen Action atau NotAction. X-Ray menentukan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

"Action": [ "xray:action1", "xray:action2"

Anda dapat menentukan beberapa tindakan menggunakan wildcard (*). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata Get, sertakan tindakan berikut:

"Action": "xray:Get*"

Untuk melihat daftar tindakan X-Ray, lihat Tindakan yang Ditentukan oleh AWS X-Ray dalam Panduan Pengguna IAM.

Sumber daya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, pengguna utama mana yang dapat melakukan tindakan pada sumber daya apa, dan dalam kondisi apa.

Elemen kebijakan JSON Resource menentukan objek atau beberapa objek yang menjadi target penerapan tindakan. Pernyataan harus menyertakan elemen Resource atau NotResource. Praktik terbaiknya, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin tingkat sumber daya, misalnya operasi pencantuman, gunakan karakter wildcart (*) untuk menunjukkan bahwa pernyataan tersebut berlaku bagi semua sumber daya.

"Resource": "*"

Anda dapat mengontrol akses ke sumber daya dengan menggunakan kebijakan IAM. Untuk tindakan yang mendukung sumber daya tingkat izin, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang diberlakukan oleh kebijakan tersebut.

Semua tindakan X-Ray dapat digunakan dalam kebijakan IAM untuk memberikan atau menolak izin pengguna untuk menggunakan tindakan tersebut. Namun, tidak semua tindakan X-Ray mendukung izin tingkat sumber daya, yang memungkinkan Anda untuk menentukan sumber daya tempat tindakan dapat dilakukan.

Untuk tindakan yang tidak mendukung izin tingkat sumber daya, Anda harus menggunakan "*" sebagai sumber daya.

Tindakan X-Ray berikut mendukung izin tingkat sumber daya:

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

Berikut ini adalah contoh kebijakan izin berbasis identitas untuk tindakan CreateGroup. Contoh ini menunjukkan penggunaan ARN yang berkaitan dengan nama Grup local-users dengan ID unik sebagai wildcard. ID unik terbuat ketika grup dibuat, sehingga tidak dapat diprediksi di kebijakan sebelumnya. Saat menggunakan GetGroup, UpdateGroup, atau DeleteGroup, Anda dapat menentukan ini sebagai wildcard atau ARN yang tepat, termasuk ID.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateGroup" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:group/local-users/*" ] } ] }

Berikut ini adalah contoh kebijakan izin berbasis identitas untuk tindakan CreateSamplingRule.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateSamplingRule" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep" ] } ] }
catatan

ARN dari aturan pengambilan sampel ditentukan berdasarkan namanya. Tidak seperti grup ARN, aturan pengambilan sampel tidak memiliki ID unik yang dibuat.

Untuk melihat daftar tipe sumber daya X-Ray dan ARN mereka, lihat Sumber Daya yang Ditentukan oleh AWS X-Ray dalam Panduan Pengguna IAM. Untuk mempelajari tindakan mana yang dapat menentukan ARN setiap sumber daya, lihat Tindakan yang Ditentukan oleh AWS X-Ray.

Kunci syarat

X-Ray tidak menyediakan kunci syarat khusus layanan, tetapi mendukung penggunaan beberapa kunci syarat global. Untuk melihat semua kunci kondisi AWS global, lihat Kunci Konteks Kondisi AWS Global di Panduan Pengguna IAM.

Contoh-contoh

Untuk melihat contoh kebijakan berbasis identitas X-Ray, lihat AWS X-Ray contoh kebijakan berbasis identitas.

Kebijakan berbasis sumber daya X-Ray

X-Ray mendukung kebijakan berbasis sumber daya untuk Layanan AWS integrasi saat ini dan masa depan, seperti penelusuran aktif Amazon SNS. Kebijakan berbasis sumber daya X-Ray dapat diperbarui oleh AWS Management Console s lain, atau melalui SDK AWS atau CLI. Misalnya, konsol Amazon SNS mencoba mengonfigurasi kebijakan berbasis sumber daya secara otomatis untuk mengirim jejak ke X-Ray. Dokumen kebijakan berikut memberikan contoh konfigurasi kebijakan berbasis sumber daya X-Ray secara manual.

contoh Contoh kebijakan berbasis sumber daya X-Ray untuk penelusuran aktif Amazon SNS

Contoh dokumen kebijakan ini menentukan izin yang diperlukan Amazon SNS untuk mengirim data jejak ke X-Ray:

{ Version: "2012-10-17", Statement: [ { Sid: "SNSAccess", Effect: Allow, Principal: { Service: "sns.amazonaws.com", }, Action: [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], Resource: "*", Condition: { StringEquals: { "aws:SourceAccount": "account-id" }, StringLike: { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }

Gunakan CLI untuk membuat kebijakan berbasis sumber daya yang memberikan izin Amazon SNS untuk mengirim data jejak ke X-Ray:

aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'

Untuk menggunakan contoh ini, ganti partition, region, account-id, dan topic-namedengan AWS partisi tertentu, wilayah, ID akun, dan nama topik Amazon SNS. Untuk memberikan izin kepada semua topik Amazon SNS untuk mengirim data jejak ke X-Ray, ganti nama topik dengan. *

Otorisasi berdasarkan tanda X-Ray

Anda dapat melampirkan tanda ke grup X-Ray atau aturan pengambilan sampel, atau meneruskan tanda dalam permintaan ke X-Ray. Untuk mengendalikan akses berdasarkan tanda, Anda dapat memberikan informasi tentang tanda di kebijakan elemen syarat menggunakan kunci syarat xray:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys. Untuk informasi selengkapnya tentang penandaan sumber daya X-Ray, lihat Menandai aturan dan grup pengambilan sampel X-Ray.

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat Mengelola akses ke grup X-Ray dan aturan pengambilan sampel berdasarkan tanda.

Menjalankan aplikasi Anda secara lokal

Aplikasi Anda mengirimkan data pelacakan ke daemon X-Ray. Daemon mem-buffer dokumen segmen dan mengunggahnya ke layanan X-Ray dalam batch. Daemon memerlukan izin tulis untuk mengunggah data pelacakan dan telemetri ke layanan X-Ray.

Saat Anda menjalankan daemon secara lokal, buat peran IAM, ambil peran dan simpan kredensi sementara dalam variabel lingkungan, atau dalam file bernama credentials dalam folder bernama di folder pengguna Anda. .aws Lihat menggunakan kredensil keamanan sementara dengan AWS CLI untuk informasi selengkapnya.

contoh ~/.aws/credentials
[default] aws_access_key_id={access key ID} aws_secret_access_key={access key} aws_session_token={AWS session token}

Jika Anda sudah mengonfigurasi kredensil untuk digunakan dengan AWS SDK atau AWS CLI, daemon dapat menggunakannya. Jika beberapa profil tersedia, daemon menggunakan profil default.

Menjalankan aplikasi Anda di AWS

Saat menjalankan aplikasi AWS, gunakan peran untuk memberikan izin ke instans Amazon EC2 atau fungsi Lambda yang menjalankan daemon.

  • Amazon Elastic Compute Cloud (Amazon EC2) – Buat IAM role dan lampirkan ke instans EC2 sebagai profil instans.

  • Amazon Elastic Container Service (Amazon ECS) – Buat IAM role dan lampirkan ke instans kontainer sebagai IAM role instans kontainer.

  • AWS Elastic Beanstalk (Elastic Beanstalk) — Elastic Beanstalk menyertakan izin X-Ray di profil instans defaultnya. Anda dapat menggunakan profil instans default, atau menambahkan izin tulis ke profil instans kustom.

  • AWS Lambda (Lambda) — Tambahkan izin tulis ke peran eksekusi fungsi Anda.

Cara membuat peran untuk digunakan dengan X-Ray
  1. Buka konsol IAM.

  2. Pilih Peran.

  3. Pilih Buat Peran Baru.

  4. Untuk Nama peran, ketik xray-application. Pilih Langkah Selanjutnya.

  5. Untuk Tipe Peran, pilih Amazon EC2.

  6. Lampirkan kebijakan terkelola berikut untuk memberikan akses aplikasi Anda ke Layanan AWS:

    • AWSXRayDaemonWriteAccess— Memberikan izin daemon X-Ray untuk mengunggah data jejak.

    Jika aplikasi Anda menggunakan AWS SDK untuk mengakses layanan lain, tambahkan kebijakan yang memberikan akses ke layanan tersebut.

  7. Pilih Langkah Selanjutnya.

  8. Pilih Buat Peran.

Izin pengguna untuk enkripsi

X-Ray mengenkripsi semua data pelacakan dan secara default, dan Anda dapat mengonfigurasinya untuk menggunakan kunci yang Anda kelola. Jika Anda memilih kunci yang dikelola AWS Key Management Service pelanggan, Anda perlu memastikan bahwa kebijakan akses kunci memungkinkan Anda memberikan izin kepada X-Ray untuk menggunakannya untuk mengenkripsi. Pengguna lain di akun Anda juga memerlukan akses ke kunci untuk melihat data pelacakan terenkripsi di konsol X-Ray.

Untuk kunci yang dikelola pelanggan, konfigurasikan kunci Anda dengan kebijakan akses yang memungkinkan tindakan berikut:

  • Pengguna yang mengonfigurasi kunci dalam X-Ray memiliki izin untuk memanggil kms:CreateGrant dan kms:DescribeKey.

  • Pengguna yang dapat mengakses data pelacakan terenkripsi memiliki izin untuk memanggil kms:Decrypt.

Saat Anda menambahkan pengguna ke grup Pengguna kunci di bagian konfigurasi kunci dari konsol IAM, mereka memiliki izin untuk kedua operasi ini. Izin hanya perlu disetel pada kebijakan utama, sehingga Anda tidak memerlukan AWS KMS izin apa pun pada pengguna, grup, atau peran Anda. Untuk informasi selengkapnya, lihat Menggunakan Kebijakan Utama di Panduan AWS KMS Pengembang.

Untuk enkripsi default, atau jika Anda memilih CMK (aws/xray) AWS terkelola, izin didasarkan pada siapa yang memiliki akses ke X-Ray API. Siapa saja yang memiliki akses ke PutEncryptionConfig, termasuk dalam AWSXrayFullAccess, dapat mengubah konfigurasi enkripsi. Untuk mencegah pengguna mengubah kunci enkripsi, jangan beri mereka izin untuk menggunakan PutEncryptionConfig.