IAMOtentikasi Menggunakan Kredensyal Sementara - Amazon Neptune

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

IAMOtentikasi Menggunakan Kredensyal Sementara

Amazon Neptunus IAM mendukung otentikasi menggunakan kredensil sementara.

Anda dapat menggunakan peran yang diasumsikan untuk IAM mengautentikasi menggunakan kebijakan autentikasi, seperti salah satu contoh kebijakan di bagian sebelumnya.

Jika Anda menggunakan kredensial sementara, Anda harus menentukan AWS_SESSION_TOKEN selain AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, dan SERVICE_REGION.

catatan

Kredensial sementara kedaluwarsa setelah interval tertentu, termasuk token sesinya.

Anda harus memperbarui token sesi Anda ketika Anda meminta kredensial baru. Untuk informasi selengkapnya, lihat Menggunakan Kredensil Keamanan Sementara untuk Meminta Akses ke AWS Sumber Daya.

Bagian berikut menjelaskan cara mengizinkan akses dan mengambil kredensial sementara.

Untuk mengautentikasi menggunakan kredensial sementara
  1. Buat IAM peran dengan izin untuk mengakses cluster Neptunus. Untuk informasi lebih lanjut tentang pembuatan peran, lihat Menggunakan berbagai jenis IAM kebijakan untuk mengontrol akses ke Neptunus.

  2. Tambahkan hubungan kepercayaan ke peran yang memungkinkan akses ke kredensialnya.

    Mengambil kredensial sementara, termasuk AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, dan AWS_SESSION_TOKEN.

  3. Sambungkan ke klaster Neptune dan tandatangani permintaan menggunakan kredensial sementara. Untuk informasi selengkapnya tentang menyambungkan dann menandatangani permintaan, lihat Menghubungkan dan Menandatangani dengan AWS Signature Versi 4.

Ada berbagai metode untuk mengambil kredensial sementara tergantung pada lingkungan.

Mendapatkan Kredensial Sementara Menggunakan AWS CLI

Untuk mendapatkan kredensil menggunakan AWS Command Line Interface (AWS CLI), pertama-tama Anda perlu menambahkan hubungan kepercayaan yang memberikan izin untuk mengambil peran kepada AWS pengguna yang akan menjalankan perintah. AWS CLI

Tambahkan hubungan kepercayaan berikut ke peran otentikasi IAM Neptunus. Jika Anda tidak memiliki peran otentikasi IAM Neptunus, lihat. Menggunakan berbagai jenis IAM kebijakan untuk mengontrol akses ke Neptunus

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/test" }, "Action": "sts:AssumeRole" } ] }

Untuk informasi tentang menambahkan hubungan kepercayaan ke peran, lihat Mengedit Hubungan Kepercayaan untuk Peran yang Ada dalam Panduan Administrasi AWS Directory Service .

Jika kebijakan Neptune belum melekat pada peran, buat peran baru. Lampirkan kebijakan otentikasi IAM Neptunus, lalu tambahkan kebijakan kepercayaan. Untuk informasi selengkapnya tentang membuat peran baru, lihat Membuat Peran Baru.

catatan

Bagian berikut mengasumsikan bahwa Anda telah AWS CLI menginstal.

Untuk menjalankan secara AWS CLI manual
  1. Masukkan perintah berikut untuk meminta kredensials menggunakan AWS CLI. Ganti peranARN, nama sesi, dan profil dengan nilai Anda sendiri.

    aws sts assume-role --role-arn arn:aws:iam::123456789012:role/NeptuneIAMAuthRole --role-session-name test --profile testprofile
  2. Contoh berikut menunjukkan output dari perintah. Bagian Credentials berisi nilai-nilai yang Anda butuhkan.

    catatan

    Rekam nilai Expiration karena Anda perlu untuk mendapatkan kredensial baru setelah waktu ini.

    { "AssumedRoleUser": { "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example", "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example" }, "Credentials": { "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI", "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=", "Expiration": "2016-03-15T00:05:07Z", "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA" } }
  3. Atur variabel lingkungan menggunakan kredensial yang dikembalikan.

    export AWS_ACCESS_KEY_ID=ASIAJEXAMPLEXEG2JICEA export AWS_SECRET_ACCESS_KEY=9drTJvcXLB89EXAMPLELB8923FB892xMFI export AWS_SESSION_TOKEN=AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU= export SERVICE_REGION=us-east-1 or us-east-2 or us-west-1 or us-west-2 or ca-central-1 or sa-east-1 or eu-north-1 or eu-west-1 or eu-west-2 or eu-west-3 or eu-central-1 or me-south-1 or me-central-1 or il-central-1 or af-south-1 or ap-east-1 or ap-northeast-1 or ap-northeast-2 or ap-southeast-1 or ap-southeast-2 or ap-south-1 or cn-north-1 or cn-northwest-1 or us-gov-east-1 or us-gov-west-1
  4. Sambungkan menggunakan salah satu metode berikut.

Untuk menggunakan skrip untuk mendapatkan kredensialnya
  1. Jalankan perintah berikut untuk menginstal perintah jq. Script menggunakan perintah ini untuk mengurai output dari AWS CLI perintah.

    sudo yum -y install jq
  2. Buat file bernama credentials.sh di editor teks dan tambahkan teks berikut. Ganti Wilayah layanan, peranARN, nama sesi, dan profil dengan nilai Anda sendiri.

    #!/bin/bash creds_json=$(aws sts assume-role --role-arn arn:aws:iam::123456789012:role/NeptuneIAMAuthRole --role-session-name test --profile testprofile) export AWS_ACCESS_KEY_ID=$(echo "$creds_json" | jq .Credentials.AccessKeyId |tr -d '"') export AWS_SECRET_ACCESS_KEY=$(echo "$creds_json" | jq .Credentials.SecretAccessKey| tr -d '"') export AWS_SESSION_TOKEN=$(echo "$creds_json" | jq .Credentials.SessionToken|tr -d '"') export SERVICE_REGION=us-east-1 or us-east-2 or us-west-1 or us-west-2 or ca-central-1 or sa-east-1 or eu-north-1 or eu-west-1 or eu-west-2 or eu-west-3 or eu-central-1 or me-south-1 or me-central-1 or il-central-1 or af-south-1 or ap-east-1 or ap-northeast-1 or ap-northeast-2 or ap-southeast-1 or ap-southeast-2 or ap-south-1 or cn-north-1 or cn-northwest-1 or us-gov-east-1 or us-gov-west-1
  3. Sambungkan menggunakan salah satu metode berikut.

Menyiapkan AWS Lambda untuk Otentikasi Neptunus IAM

AWS Lambda menyertakan kredensi secara otomatis setiap kali fungsi Lambda dijalankan.

Pertama Anda menambahkan hubungan kepercayaan yang memberikan izin untuk mengambil peran untuk layanan Lambda.

Tambahkan hubungan kepercayaan berikut ke peran otentikasi IAM Neptunus. Jika Anda tidak memiliki peran otentikasi IAM Neptunus, lihat. Menggunakan berbagai jenis IAM kebijakan untuk mengontrol akses ke Neptunus

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Untuk informasi tentang menambahkan hubungan kepercayaan ke peran, lihat Mengedit Hubungan Kepercayaan untuk Peran yang Ada dalam Panduan Administrasi AWS Directory Service.

Jika kebijakan Neptune belum melekat pada peran, buat peran baru. Lampirkan kebijakan otentikasi IAM Neptunus, lalu tambahkan kebijakan kepercayaan. Untuk informasi tentang pembuatan peran baru, lihat Membuat Peran Baru dalam Panduan Administrasi AWS Directory Service .

Untuk mengakses Neptune dari Lambda
  1. Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Buat fungsi Lambda baru untuk Python versi 3.6.

  3. Tetapkan peran AWSLambdaVPCAccessExecutionRole ke fungsi Lambda. Ini diperlukan untuk mengakses sumber daya Neptunus, yang hanya. VPC

  4. Tetapkan peran IAM otentikasi Neptunus ke fungsi Lambda.

    Untuk informasi lebih lanjut, lihat Izin Lambda AWS dalam Panduan Developer AWS Lambda .

  5. Salin sampel Python IAM otentikasi ke dalam kode fungsi Lambda.

    Untuk informasi selengkapnya tentang sampel dan kode sampel, lihat Contoh: Menghubungkan ke Neptune Menggunakan Python dengan Penandatangan Signature Versi 4.

Menyiapkan Amazon EC2 untuk Otentikasi Neptunus IAM

Amazon EC2 memungkinkan Anda menggunakan profil instans untuk secara otomatis memberikan kredensil. Untuk informasi selengkapnya, lihat Menggunakan Profil Instance di Panduan IAM Pengguna.

Pertama, Anda menambahkan hubungan kepercayaan yang memberikan izin untuk mengambil peran ke EC2 layanan Amazon.

Tambahkan hubungan kepercayaan berikut ke peran otentikasi IAM Neptunus. Jika Anda tidak memiliki peran otentikasi IAM Neptunus, lihat. Menggunakan berbagai jenis IAM kebijakan untuk mengontrol akses ke Neptunus

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Untuk informasi tentang menambahkan hubungan kepercayaan ke peran, lihat Mengedit Hubungan Kepercayaan untuk Peran yang Ada dalam Panduan Administrasi AWS Directory Service .

Jika kebijakan Neptune belum melekat pada peran, buat peran baru. Lampirkan kebijakan otentikasi IAM Neptunus, lalu tambahkan kebijakan kepercayaan. Untuk informasi tentang pembuatan peran baru, lihat Membuat Peran Baru dalam Panduan Administrasi AWS Directory Service .

Untuk menggunakan skrip untuk mendapatkan kredensialnya
  1. Jalankan perintah berikut untuk menginstal perintah jq. Script menggunakan perintah ini untuk mengurai output dari perintah curl.

    sudo yum -y install jq
  2. Buat file bernama credentials.sh di editor teks dan tambahkan teks berikut. Ganti Wilayah layanan dengan nilai Anda sendiri.

    role_name=$( curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/ ) creds_json=$(curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/${role_name}) export AWS_ACCESS_KEY_ID=$(echo "$creds_json" | jq .AccessKeyId |tr -d '"') export AWS_SECRET_ACCESS_KEY=$(echo "$creds_json" | jq .SecretAccessKey| tr -d '"') export AWS_SESSION_TOKEN=$(echo "$creds_json" | jq .Token|tr -d '"') export SERVICE_REGION=us-east-1 or us-east-2 or us-west-1 or us-west-2 or ca-central-1 or sa-east-1 or eu-north-1 or eu-west-1 or eu-west-2 or eu-west-3 or eu-central-1 or me-south-1 or me-central-1 or il-central-1 or af-south-1 or ap-east-1 or ap-northeast-1 or ap-northeast-2 or ap-southeast-1 or ap-southeast-2 or ap-south-1 or cn-north-1 or cn-northwest-1 or us-gov-east-1 or us-gov-west-1
  3. Jalankan skrip di shell bash menggunakan perintah source:

    source credentials.sh

    Yang lebih baik adalah menambahkan perintah dalam skrip ini ke .bashrc file pada EC2 instance Anda sehingga perintah tersebut akan dipanggil secara otomatis saat Anda masuk, membuat kredensil sementara tersedia untuk konsol Gremlin.

  4. Sambungkan menggunakan salah satu metode berikut.