Mengautentikasi ke Text-to-Speech

Dokumen ini menjelaskan cara melakukan autentikasi ke Text-to-Speech secara terprogram. Cara Anda melakukan autentikasi ke Text-to-Speech bergantung pada antarmuka yang Anda gunakan untuk mengakses API dan lingkungan tempat kode berjalan.

Untuk mengetahui informasi selengkapnya tentang autentikasi Google Cloud , lihat Metode autentikasi.

Akses API

Text-to-Speech mendukung akses terprogram. Anda dapat mengakses API dengan cara berikut:

Library klien

Library klien Text-to-Speech menyediakan dukungan bahasa pemrograman tingkat tinggi untuk melakukan autentikasi ke Text-to-Speech secara terprogram. Untuk mengautentikasi panggilan ke Google Cloud API, library klien mendukung Kredensial Default Aplikasi (ADC). Library ini mencari kredensial dalam kumpulan lokasi yang ditentukan dan menggunakan kredensial tersebut untuk mengautentikasi permintaan ke API. Dengan ADC, Anda dapat menyediakan kredensial untuk aplikasi di berbagai lingkungan, seperti produksi atau pengembangan lokal, tanpa perlu mengubah kode aplikasi.

REST

Anda dapat melakukan autentikasi ke Text-to-Speech API menggunakan kredensial gcloud CLI atau menggunakan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya tentang autentikasi permintaan REST, lihat Melakukan autentikasi untuk menggunakan REST. Untuk mengetahui informasi tentang jenis kredensial, lihat Kredensial gcloud CLI dan kredensial ADC.

Kredensial pengguna dan ADC untuk Text-to-Speech

Salah satu cara untuk memberikan kredensial ke ADC adalah menggunakan gcloud CLI guna memasukkan kredensial pengguna Anda ke file kredensial. File ini ditempatkan di sistem file lokal yang dapat ditemukan oleh ADC. Selanjutnya, ADC akan menggunakan kredensial pengguna yang disediakan untuk mengautentikasi permintaan. Metode ini sering digunakan untuk pengembangan lokal.

Jika menggunakan metode ini, Anda mungkin mengalami error autentikasi saat mencoba melakukan autentikasi ke Text-to-Speech. Untuk mengetahui informasi selengkapnya tentang error ini dan cara mengatasinya, lihat Kredensial pengguna tidak berfungsi.

Menyiapkan autentikasi untuk Text-to-Speech

Cara menyiapkan autentikasi bergantung pada lingkungan tempat kode Anda berjalan.

Opsi penyiapan autentikasi berikut adalah yang paling umum digunakan. Untuk mengetahui opsi lainnya dan informasi tentang autentikasi, lihat Metode autentikasi.

Untuk lingkungan pengembangan lokal

Anda dapat menyiapkan kredensial untuk lingkungan pengembangan lokal dengan cara berikut:

Library klien atau alat pihak ketiga

Siapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda:

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Layar login akan muncul. Setelah Anda login, kredensial Anda akan disimpan dalam file kredensial lokal yang digunakan oleh ADC.

Untuk informasi selengkapnya tentang cara menggunakan ADC di lingkungan lokal, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

Permintaan REST dari command line

Saat membuat permintaan REST dari command line, Anda dapat menggunakan kredensial gcloud CLI dengan menyertakan gcloud auth print-access-token sebagai bagian dari perintah yang mengirimkan permintaan itu.

Contoh berikut mencantumkan akun layanan untuk project yang ditentukan. Anda dapat menggunakan pola yang sama untuk setiap permintaan REST.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda.

Untuk mengirim permintaan Anda, luaskan salah satu opsi berikut:

 

Untuk mengetahui informasi selengkapnya tentang melakukan autentikasi menggunakan REST dan gRPC, lihat Melakukan autentikasi untuk menggunakan REST. Untuk mengetahui informasi tentang perbedaan antara kredensial ADC lokal dan kredensial gcloud CLI, lihat Konfigurasi autentikasi gcloud CLI dan konfigurasi ADC.

Peniruan akun layanan

Pada umumnya, Anda dapat menggunakan kredensial pengguna untuk melakukan autentikasi dari lingkungan pengembangan lokal. Jika hal tersebut tidak memungkinkan, atau jika Anda perlu menguji izin yang ditetapkan ke akun layanan, Anda dapat menggunakan peniruan akun layanan. Anda harus memiliki izin iam.serviceAccounts.getAccessToken, yang disertakan dalam peran IAM Service Account Token Creator (roles/iam.serviceAccountTokenCreator).

Anda dapat menyiapkan gcloud CLI agar menggunakan peniruan akun layanan dengan perintah gcloud config set:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Untuk bahasa pemrograman tertentu, Anda dapat menggunakan peniruan akun layanan guna membuat file ADC lokal yang akan digunakan library klien. Pendekatan ini hanya didukung untuk library klien Go, Java, Node.js, dan Python—tidak didukung untuk bahasa pemrograman lain. Untuk menyiapkan file ADC lokal dengan peniruan akun layanan, gunakan flag --impersonate-service-account dengan perintah gcloud auth application-default login:

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

Untuk mengetahui informasi selengkapnya tentang peniruan akun layanan, lihat Menggunakan peniruan akun layanan.

Di Google Cloud

Untuk mengautentikasi workload yang berjalan di Google Cloud, gunakan kredensial akun layanan yang dilampirkan ke resource komputasi tempat kode Anda berjalan, seperti instance virtual machine (VM) Compute Engine. Pendekatan ini merupakan metode autentikasi yang direkomendasikan untuk kode yang berjalan di resource komputasi Google Cloud .

Untuk sebagian besar layanan, Anda harus melampirkan akun layanan saat membuat resource yang akan menjalankan kode Anda. Anda tidak dapat menambahkan atau mengganti akun layanan tersebut belakangan. Satu-satunya pengecualian adalah Compute Engine, yang memungkinkan Anda melampirkan akun layanan ke instance VM kapan saja.

Gunakan gcloud CLI untuk membuat akun layanan dan melampirkannya ke resource Anda:

  1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  2. Set up authentication:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    3. To provide access to your project and your resources, grant a role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
    4. To grant another role to the service account, run the command as you did in the previous step.
    5. Grant the required role to the principal that will attach the service account to other resources.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • USER_EMAIL: the email address for a Google Account
  3. Buat resource yang akan menjalankan kode Anda, lalu lampirkan akun layanan ke resource tersebut. Misalnya, jika Anda menggunakan Compute Engine:

    Create a Compute Engine instance. Configure the instance as follows:
    • Ganti INSTANCE_NAME dengan nama instance pilihan Anda.
    • Tetapkan flag --zone ke zona tempat Anda ingin membuat instance.
    • Tetapkan flag --service-account ke alamat email untuk akun layanan yang Anda buat.
    • gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Untuk mengetahui informasi selengkapnya tentang cara melakukan autentikasi ke Google API, lihat Metode autentikasi.

Lingkungan lokal atau di penyedia cloud lain

Metode yang direkomendasikan untuk menyiapkan autentikasi dari luar Google Cloud adalah menggunakan workload identity federation. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan lokal atau penyedia cloud lainnya di dokumentasi autentikasi.

Langkah berikutnya