

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Connect ke Redshift dengan sesi peran IAM yang disempurnakan Identitas
<a name="identity-center-authentication"></a>

Anda dapat menggunakan Pusat Identitas IAM untuk menyediakan akses gabungan ke klaster Amazon Redshift dan grup kerja tanpa server. Pendekatan ini memungkinkan pengguna untuk mengautentikasi menggunakan kredensil Pusat Identitas mereka.

Amazon Redshift menyediakan operasi `GetIdentityCenterAuthToken` API untuk menghasilkan token resmi yang berisi informasi identitas pengguna. Ini APIs tersedia untuk cluster yang disediakan dan grup kerja tanpa server. Token memungkinkan akses masuk tunggal yang mulus ke database Amazon Redshift menggunakan penyiapan Pusat Identitas yang ada.

## Prasyarat
<a name="identity-center-auth-prerequisites"></a>

Sebelum menggunakan otentikasi Pusat Identitas dengan Amazon Redshift, pastikan Anda memiliki yang berikut:
+ **Pengaturan Pusat Identitas:** Akun Anda harus memiliki Pusat Identitas IAM yang dikonfigurasi dengan identitas pengguna dan tugas aplikasi yang sesuai. Untuk petunjuk penyiapan, lihat [Menyiapkan Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html).
**penting**  
Jika Anda ingin terhubung ke Redshift, Anda harus menggunakan redshift:connect scope.
+ Kredensyal **yang disempurnakan identitas: Aplikasi Anda harus menggunakan kredensyal** yang disempurnakan identitas yang berisi informasi identitas pengguna yang disematkan. Untuk informasi selengkapnya, lihat [Menggunakan sesi peran IAM yang disempurnakan identitas](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-identity-enhanced-iam-role-sessions.html).
+ **Izin IAM: Peran** atau pengguna IAM Anda harus memiliki izin untuk memanggil `GetIdentityCenterAuthToken` API dan mengakses cluster atau grup kerja yang ditentukan. Izin yang diperlukan:
  + Untuk cluster yang disediakan: `redshift:GetIdentityCenterAuthToken` di cluster ARNs (format:) `arn:aws:redshift:region:account:cluster:cluster-name`
  + Untuk grup kerja tanpa server: `redshift-serverless:GetIdentityCenterAuthToken` pada workgroup ARNs (format:) `arn:aws:redshift-serverless:region:account:workgroup/workgroup-name`
+ **Driver yang kompatibel:** Gunakan driver Amazon Redshift JDBC atau ODBC yang mendukung token resmi Identity Center:
  + Driver JDBC: Lihat [Menginstal dan mengonfigurasi driver Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-install.html) JDBC versi 2.0
  + Driver ODBC: Lihat [Menginstal dan mengonfigurasi driver Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/odbc20-install.html) ODBC versi 2.0

## Cara kerja otentikasi Pusat Identitas
<a name="identity-center-auth-overview"></a>

Autentikasi Pusat Identitas untuk Amazon Redshift menggunakan alur kerja berikut:

1. Aplikasi Anda memanggil `GetIdentityCenterAuthToken` API menggunakan kredensyal yang disempurnakan identitas yang berisi informasi identitas pengguna yang disematkan.

1. Amazon Redshift memvalidasi identitas Pusat Identitas dan menghasilkan token resmi terenkripsi yang dicakup ke cluster atau grup kerja tertentu. Lihat contoh kebijakan IAM.

1. Aplikasi Anda menggunakan token ini untuk terhubung ke cluster atau workgroup Amazon Redshift yang ditentukan.

1. Bidang data Amazon Redshift memvalidasi token dan memberikan akses berdasarkan izin pengguna Pusat Identitas dalam aplikasi Pusat Identitas.

**penting**  
API ini membutuhkan kredensi yang ditingkatkan identitas. Untuk informasi selengkapnya, lihat [Menggunakan sesi peran IAM yang disempurnakan identitas](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-identity-enhanced-iam-role-sessions.html).  
Jika Anda memanggil API tanpa kredensi yang disempurnakan identitas, Anda akan menerima kesalahan. `UnsupportedOperationFault`

## GetIdentityCenterAuthToken Operasi API
<a name="identity-center-auth-apis"></a>

Amazon Redshift menyediakan dua operasi `GetIdentityCenterAuthToken` API terpisah: satu untuk cluster yang disediakan dan satu untuk grup kerja tanpa server. Kedua operasi memiliki nama yang sama tetapi menerima parameter yang berbeda tergantung pada jenis sumber daya target.

### GetIdentityCenterAuthToken untuk cluster yang disediakan
<a name="provisioned-identity-center-auth"></a>

Untuk klaster Amazon Redshift yang disediakan, gunakan API `GetIdentityCenterAuthToken` di layanan Amazon Redshift untuk menghasilkan token resmi.

#### Sintaksis Permintaan
<a name="provisioned-request-syntax"></a>

```
{
   "ClusterIds": [ "string" ]
}
```

#### Permintaan parameter
<a name="provisioned-request-parameters"></a>

ClusterIds  
Daftar pengidentifikasi klaster Amazon Redshift yang token akan diizinkan untuk diakses. Token hanya dapat digunakan untuk mengautentikasi dengan cluster yang ditentukan dalam daftar ini.  
Tipe: Array string  
Kendala panjang: Minimal 1 item. Maksimal 20 item.  
Wajib: Ya

#### Contoh-contoh CLI
<a name="provisioned-cli-examples"></a>

**Contoh: Dapatkan token resmi untuk satu cluster**

```
aws redshift get-identity-center-auth-token \
    --cluster-ids my-redshift-cluster
```

**Contoh: Dapatkan token resmi untuk beberapa cluster**

```
aws redshift get-identity-center-auth-token \
    --cluster-ids my-cluster-1 my-cluster-2
```

### GetIdentityCenterAuthToken untuk kelompok kerja tanpa server
<a name="serverless-identity-center-auth"></a>

Untuk workgroup Amazon Redshift Tanpa Server, gunakan API di `GetIdentityCenterAuthToken` layanan Amazon Redshift Serverless untuk menghasilkan token resmi.

#### Sintaksis Permintaan
<a name="serverless-request-syntax"></a>

```
{
   "WorkgroupNames": [ "string" ]
}
```

#### Permintaan parameter
<a name="serverless-request-parameters"></a>

WorkgroupNames  
Daftar nama workgroup Amazon Redshift Tanpa Server yang akan diizinkan untuk diakses oleh token. Token hanya dapat digunakan untuk mengautentikasi dengan kelompok kerja yang ditentukan dalam daftar ini.  
Tipe: Array string  
Kendala panjang: Minimal 1 item. Maksimal 20 item.  
Wajib: Ya

#### Contoh-contoh CLI
<a name="serverless-cli-examples"></a>

**Contoh: Dapatkan token resmi untuk satu grup kerja**

```
aws redshift-serverless get-identity-center-auth-token \
    --workgroup-names my-workgroup
```

**Contoh: Dapatkan token resmi untuk beberapa grup kerja**

```
aws redshift-serverless get-identity-center-auth-token \
    --workgroup-names workgroup-1 workgroup-2
```

### Sintaksis Respons
<a name="identity-center-auth-response"></a>

Keduanya APIs mengembalikan struktur respons yang sama:

```
{
   "AuthorizedToken": "string",
   "ExpirationTime": "timestamp"
}
```

#### Parameter respons
<a name="identity-center-response-parameters"></a>

AuthorizedToken  
Token resmi terenkripsi yang berisi informasi identitas pengguna dan daftar cluster atau kelompok kerja resmi. Token ini harus diperlakukan sebagai data sensitif.  
Tipe: String

ExpirationTime  
Tanggal dan waktu ketika token kedaluwarsa, di UTC. Token berlaku selama 1 jam dari waktu pembuatan.  
Tipe: Timestamp

#### Contoh tanggapan
<a name="identity-center-response-example"></a>

```
{
    "AuthorizedToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyQGV4YW1wbGUuY29tIiwiaWF0IjoxNjQwOTk1MjAwLCJleHAiOjE2NDA5OTg4MDAsImNsdXN0ZXJzIjpbIm15LWNsdXN0ZXIiXX0...",
    "ExpirationTime": "2024-01-01T12:00:00Z"
}
```

## Integrasi driver
<a name="identity-center-auth-driver-integration"></a>

Driver Amazon Redshift mendukung otentikasi Pusat Identitas melalui penggunaan token langsung:

### Penggunaan token langsung
<a name="direct-token-usage"></a>

Setelah memanggil `GetIdentityCenterAuthToken` API untuk mendapatkan token, gunakan `IdpTokenAuthPlugin` dengan jenis `SUBJECT_TOKEN` token.

Konfigurasi Koneksi:

```
plugin_name = com.amazon.redshift.plugin.IdpTokenAuthPlugin
token_type = SUBJECT_TOKEN
token = {encrypted_token_from_api_response}
```

Untuk informasi mendetail tentang plugin autentikasi Pusat Identitas dan konfigurasi driver, lihat [Menyambung ke klaster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-to-cluster.html).

### Contoh kode Java
<a name="java-code-example"></a>

Contoh kode Java untuk terhubung menggunakan otentikasi Pusat Identitas:

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

// Get token from GetIdentityCenterAuthToken API
String token = "your_encrypted_token_from_api_response";

// Configure connection properties
Properties props = new Properties();
props.setProperty("user", "your_username");
props.setProperty("plugin_name", "com.amazon.redshift.plugin.IdpTokenAuthPlugin");
props.setProperty("token_type", "SUBJECT_TOKEN");
props.setProperty("token", token);

// Connect to Redshift
String url = "jdbc:redshift://your-cluster.region.redshift.amazonaws.com:5439/your_database";
try (Connection conn = DriverManager.getConnection(url, props)) {
    // Use connection
    System.out.println("Connected successfully!");
} catch (SQLException e) {
    e.printStackTrace();
}
```

## Persyaratan kebijakan IAM
<a name="identity-center-auth-iam-permissions"></a>

Untuk menggunakan autentikasi Pusat Identitas dengan Amazon Redshift, izin IAM tertentu diperlukan di luar izin standar yang diperlukan untuk menghubungkan ke kluster dan grup kerja Amazon Redshift.

### Izin API:
<a name="identity-center-auth-iam-api-permissions"></a>

Untuk klaster yang disediakan, sesi peran IAM Anda yang disempurnakan harus memiliki:
+ `redshift:GetIdentityCenterAuthToken`pada cluster ARNs (format:`arn:aws:redshift:region:account:cluster:cluster-name`)

Untuk grup kerja tanpa server, sesi peran IAM Anda yang disempurnakan harus memiliki:
+ `redshift-serverless:GetIdentityCenterAuthToken`pada workgroup ARNs (format:`arn:aws:redshift-serverless:region:account:workgroup/workgroup-name`)

### Contoh kebijakan IAM
<a name="identity-center-auth-iam-policy-examples"></a>

**Contoh kebijakan untuk klaster yang disediakan:**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift:GetIdentityCenterAuthToken"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:my-cluster"
            ]
        }
    ]
}
```

**Contoh kebijakan untuk grup kerja tanpa server:**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-serverless:GetIdentityCenterAuthToken"
            ],
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/my-workgroup"
            ]
        }
    ]
}
```

**Contoh kebijakan untuk beberapa sumber daya:**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift:GetIdentityCenterAuthToken"
            ],
            "Resource": [
                "arn:aws:redshift:*:123456789012:cluster/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "redshift-serverless:GetIdentityCenterAuthToken"
            ],
            "Resource": [
                "arn:aws:redshift-serverless:*:123456789012:workgroup/*"
            ]
        }
    ]
}
```

## Ketersediaan wilayah
<a name="identity-center-auth-regional-availability"></a>

Otentikasi Pusat Identitas tersedia di AWS wilayah berikut:
+ Wilayah komersial: Semua wilayah Amazon Redshift yang didukung
+ AWS GovCloud: Tersedia dalam us-gov-east -1 dan us-gov-west -1
+ Wilayah Tiongkok: Tersedia dalam cn-north-1 dan cn-northwest-1

**catatan**  
Ketersediaan fitur dapat bervariasi selama peluncuran awal.