

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

# Connect ke kluster EMR Amazon dari notebook Anda
<a name="scheduled-notebook-connect-emr"></a>

Jika Anda terhubung ke klaster EMR Amazon dari notebook Jupyter di Studio, Anda mungkin perlu melakukan penyiapan tambahan. Secara khusus, diskusi berikut membahas dua masalah:
+ **Meneruskan parameter ke perintah koneksi EMR Amazon Anda**. Dalam SparkMagic kernel, parameter yang Anda berikan ke perintah koneksi EMR Amazon mungkin tidak berfungsi seperti yang diharapkan karena perbedaan cara Papermill melewati parameter dan SparkMagic cara menerima parameter. Solusi untuk mengatasi batasan ini adalah dengan meneruskan parameter sebagai variabel lingkungan. Untuk detail selengkapnya tentang masalah dan solusinya, lihat. [Teruskan parameter ke perintah koneksi EMR Anda](#scheduled-notebook-connect-emr-pass-param)
+ **Meneruskan kredensyal pengguna ke cluster EMR Amazon Kerberos, LDAP, atau HTTP Dasar**. Auth-authenticated Dalam mode interaktif, Studio meminta kredensi dalam bentuk popup tempat Anda dapat memasukkan kredenal masuk Anda. Dalam buku catatan terjadwal noninteraktif Anda, Anda harus melewatinya melalui. AWS Secrets Manager Untuk detail selengkapnya tentang cara menggunakan pekerjaan buku catatan terjadwal Anda, lihat[Teruskan kredensyal pengguna ke cluster EMR Amazon Kerberos, LDAP, atau HTTP Basic Auth-authenticated](#scheduled-notebook-connect-emr-credentials). AWS Secrets Manager 

## Teruskan parameter ke perintah koneksi EMR Anda
<a name="scheduled-notebook-connect-emr-pass-param"></a>

**Jika Anda menggunakan gambar dengan kernel SparkMagic PySpark dan Spark dan ingin membuat parameter perintah koneksi EMR Anda, berikan parameter Anda di bidang variabel **Lingkungan** alih-alih bidang Parameter dalam formulir Buat Job (di menu tarik-turun Opsi Tambahan).** Pastikan perintah koneksi EMR Anda di notebook Jupyter melewati parameter ini sebagai variabel lingkungan. Misalnya, Anda lulus `cluster-id` sebagai variabel lingkungan saat Anda membuat pekerjaan Anda. Perintah koneksi EMR Anda akan terlihat seperti berikut:

```
%%local
import os
```

```
%sm_analytics emr connect —cluster-id {os.getenv('cluster_id')} --auth-type None
```

Anda memerlukan solusi ini untuk memenuhi persyaratan oleh SparkMagic dan Papermill. Untuk konteks latar belakang, SparkMagic kernel mengharapkan bahwa perintah `%%local` ajaib menyertai variabel lokal apa pun yang Anda tentukan. Namun, Papermill tidak lulus perintah `%%local` ajaib dengan penggantian Anda. Untuk mengatasi batasan Papermill ini, Anda harus menyediakan parameter Anda sebagai variabel lingkungan di bidang **variabel Lingkungan**.

## Teruskan kredensyal pengguna ke cluster EMR Amazon Kerberos, LDAP, atau HTTP Basic Auth-authenticated
<a name="scheduled-notebook-connect-emr-credentials"></a>

Untuk membuat koneksi aman ke kluster EMR Amazon yang menggunakan otentikasi Kerberos, LDAP, atau HTTP Basic Auth, Anda menggunakan AWS Secrets Manager untuk meneruskan kredensyal pengguna ke perintah koneksi Anda. Untuk informasi tentang cara membuat rahasia Secrets Manager, lihat [Membuat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Rahasia Anda harus berisi nama pengguna dan kata sandi Anda. Anda meneruskan rahasia dengan `--secrets` argumen, seperti yang ditunjukkan pada contoh berikut:

```
%sm_analytics emr connect --cluster-id j_abcde12345 
    --auth Kerberos 
    --secret aws_secret_id_123
```

Administrator Anda dapat menyiapkan kebijakan akses fleksibel menggunakan metode atribut-based-access-control (ABAC), yang menetapkan akses berdasarkan tag khusus. Anda dapat mengatur akses fleksibel untuk membuat satu rahasia untuk semua pengguna di akun atau rahasia untuk setiap pengguna. Contoh kode berikut menunjukkan skenario ini:

**Buat satu rahasia untuk semua pengguna di akun**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/service-role/AmazonSageMaker-ExecutionRole-20190101T012345"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": [
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes123-1a2b3c",
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes456-4d5e6f",
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes789-7g8h9i"
            ]
        }
    ]
}
```

------

**Buat rahasia yang berbeda untuk setiap pengguna**

Anda dapat membuat rahasia yang berbeda untuk setiap pengguna menggunakan `PrincipleTag` tag, seperti yang ditunjukkan pada contoh berikut:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/service-role/AmazonSageMaker-ExecutionRole-20190101T012345"
            },
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/{{user-identity}}": "${aws:PrincipalTag/{{user-identity}}}"
                }
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": [
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes123-1a2b3c",
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes456-4d5e6f",
                "arn:aws:secretsmanager:us-west-2:{{111122223333}}:secret:aes789-7g8h9i"
            ]
        }
    ]
}
```

------