Menggunakan plugin TIP untuk mengakses Layanan AWS - AWS SDKs dan Tools

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

Menggunakan plugin TIP untuk mengakses Layanan AWS

Trusted Identity Propagation (TIP) adalah fitur AWS IAM Identity Center yang memungkinkan administrator Layanan AWS untuk memberikan izin berdasarkan atribut pengguna seperti asosiasi grup. Dengan propagasi identitas tepercaya, konteks identitas ditambahkan ke peran IAM untuk mengidentifikasi pengguna yang meminta akses ke sumber daya. AWS Konteks ini disebarkan ke yang lain Layanan AWS.

Konteks identitas terdiri dari informasi yang Layanan AWS digunakan untuk membuat keputusan otorisasi ketika mereka menerima permintaan akses. Informasi ini mencakup metadata yang mengidentifikasi pemohon (misalnya, pengguna Pusat Identitas IAM), Layanan AWS akses yang diminta (misalnya, Amazon Redshift), dan ruang lingkup akses (misalnya, akses baca saja). Penerima Layanan AWS menggunakan konteks ini, dan izin apa pun yang diberikan kepada pengguna, untuk mengotorisasi akses ke sumber dayanya. Untuk informasi selengkapnya, lihat di ikhtisar propagasi identitas tepercaya di Panduan AWS IAM Identity Center Pengguna.

Plugin TIP dapat digunakan dengan Layanan AWS dukungan propagasi identitas tepercaya. Sebagai kasus penggunaan referensi, lihat Mengonfigurasi aplikasi Amazon Q Business menggunakan AWS IAM Identity Center dalam Panduan Pengguna Bisnis Amazon Q.

catatan

Jika Anda menggunakan Amazon Q Business, lihat Mengonfigurasi aplikasi Amazon Q Business menggunakan AWS IAM Identity Center petunjuk khusus layanan.

Prasyarat untuk menggunakan plugin TIP

Sumber daya berikut diperlukan agar plugin berfungsi:

  1. Anda harus menggunakan salah satu AWS SDK untuk Java atau AWS SDK untuk JavaScript.

  2. Verifikasi bahwa layanan yang Anda gunakan mendukung propagasi identitas tepercaya.

    Lihat kolom Aktifkan propagasi identitas tepercaya melalui Pusat Identitas IAM dari aplikasi AWS terkelola yang terintegrasi dengan IAM Identity Center tabel di Panduan Pengguna.AWS IAM Identity Center

  3. Aktifkan Pusat Identitas IAM dan propagasi identitas tepercaya.

    Lihat prasyarat dan pertimbangan TIP di Panduan Pengguna.AWS IAM Identity Center

  4. Anda harus memiliki Identity-Center-integrated aplikasi.

    Lihat aplikasi AWS terkelola atau aplikasi yang dikelola Pelanggan di Panduan AWS IAM Identity Center Pengguna.

  5. Anda harus menyiapkan penerbit token tepercaya (TTI) dan menghubungkan layanan Anda ke IAM Identity Center.

    Lihat Prasyarat untuk penerbit token tepercaya dan Tugas untuk menyiapkan penerbit token tepercaya di Panduan Pengguna.AWS IAM Identity Center

Untuk menggunakan plugin TIP dalam kode Anda

  1. Buat instance plugin propagasi identitas tepercaya.

  2. Buat instance klien layanan untuk berinteraksi dengan Anda Layanan AWS dan sesuaikan klien layanan dengan menambahkan plugin propagasi identitas tepercaya.

Plugin TIP mengambil parameter input berikut:

  • webTokenProvider: Fungsi yang diterapkan pelanggan untuk mendapatkan token OpenID dari penyedia identitas eksternal mereka.

  • accessRoleArn: Peran IAM ARN akan diasumsikan oleh plugin dengan konteks identitas pengguna untuk mendapatkan kredensil yang ditingkatkan identitas.

  • applicationArn: String pengenal unik untuk klien atau aplikasi. Nilai ini adalah aplikasi ARN yang memiliki OAuth hibah yang dikonfigurasi.

  • applicationRoleArn: (Opsional) Peran IAM ARN yang akan diasumsikan AssumeRoleWithWebIdentity sehingga OIDC AWS STS dan klien dapat di-bootstrap tanpa penyedia kredensional default. Jika ini tidak disediakan, nilai accessRoleArn parameter akan digunakan.

  • ssoOidcClient: (Opsional) Klien SSO OIDC, seperti SsoOidcClientuntuk Java atau Javascript, dengan client-sso-oidckonfigurasi yang ditentukan pelanggan. Jika tidak disediakan, klien OIDC yang menggunakan konfigurasi default dipakai dan digunakan.

  • stsClient: (Opsional) AWS STS Klien dengan konfigurasi yang ditentukan pelanggan, digunakan untuk berasumsi accessRoleArn dengan konteks identitas pengguna. Jika tidak disediakan, AWS STS klien yang menggunakan konfigurasi default dipakai dan digunakan.

Java

Untuk menggunakan plugin TIP dalam AWS SDK untuk Java proyek Anda, Anda perlu mendeklarasikannya sebagai dependensi dalam file proyek Anda. pom.xml

<dependency> <groupId>software.amazon.awsidentity.trustedIdentityPropagation</groupId> <artifactId>aws-sdk-java-trustedIdentityPropagation-java-plugin</artifactId> <version>1.0.0</version> </dependency>

Dalam kode sumber Anda, sertakan pernyataan paket yang diperlukan untuksoftware.amazon.awssdk.trustedidentitypropagation.

Kode contoh berikut menunjukkan cara membuat instance plugin propagasi identitas tepercaya dan kemudian menambahkan plugin ke instance klien layanan.

Contoh ini menggunakan S3Client sebagai Layanan AWS klien yang dipilih untuk menunjukkan memperoleh token IAM Identity Center. Namun, Layanan AWS yang lain yang mendukung TIP akan serupa.

StsClient client = StsClient.builder() .region(Region.US_EAST_1) .credentialsProvider(AnonymousCredentialsProvider.create()).build(); TrustedIdentityPropagationPlugin trustedIdentityPropagationPlugin = TrustedIdentityPropagationPlugin.builder() .stsClient(client) .webTokenProvider(() -> idToken) .applicationArn(idcApplicationArn) .accessRoleArn(accessRoleArn) .ssoOidcClient(SsoOidcClient.builder().region(Region.US_EAST_1).build()) .build(); S3Client s3Client = S3Client.builder().region(Region.US_EAST_1).addPlugin(trustedIdentityPropagationPlugin) .build();

Untuk detail dan sumber tambahan, lihat trusted-identity-propagation-javadi GitHub.

Javascript

Jalankan perintah berikut untuk menginstal paket plugin otentikasi TIP dalam AWS SDK untuk JavaScript proyek Anda:

$ npm i @aws-sdk-extension/trusted-identity-propagation

Final package.json harus mencakup ketergantungan yang mirip dengan yang berikut ini:

"dependencies": { "@aws-sdk-extension/trusted-identity-propagation": "^1.0.0" },

Dalam kode sumber Anda, impor TrustedIdentityPropagationExtension dependensi yang diperlukan.

Kode contoh berikut menunjukkan cara membuat instance plugin propagasi identitas tepercaya dan kemudian menambahkan plugin ke instance klien layanan.

Contoh ini menggunakan S3Client sebagai Layanan AWS klien yang dipilih untuk menunjukkan memperoleh token IAM Identity Center. Namun, Layanan AWS yang lain yang mendukung TIP akan serupa.

import { S3Client } from "@aws-sdk/client-s3"; import { TrustedIdentityPropagationExtension } from "@aws-sdk-extension/trusted-identity-propagation"; // Plugin configurations, please refer to the documentation on each of these fields. const applicationRoleArn = 'YOUR_APPLICATION_ROLE_ARN'; const accessRoleArn = 'YOUR_ACCESS_ROLE_ARN'; const applicationArn = 'YOUR_APPLICATION_ARN'; const s3Client = new S3Client({ region, extensions: [ TrustedIdentityPropagationExtension.create({ webTokenProvider: async () => { return 'ID_TOKEN_FROM_YOUR_IDENTITY_PROVIDER'; }, applicationRoleArn, accessRoleArn, applicationArn, }), ], });

Untuk detail dan sumber tambahan, lihat trusted-identity-propagation-jsdi GitHub.