

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Integrasi produk dan layanan dengan Systems Manager
<a name="integrations"></a>

Secara default, AWS Systems Manager terintegrasi dengan Layanan AWS dan produk dan layanan lainnya. Informasi berikut dapat membantu Anda mengonfigurasi Systems Manager untuk berintegrasi dengan produk dan layanan yang Anda gunakan. 
+ [Integrasi dengan Layanan AWS](integrations-aws.md)
+  [Integrasi dengan produk dan layanan lainnya](integrations-partners.md)

# Integrasi dengan Layanan AWS
<a name="integrations-aws"></a>

Melalui penggunaan dokumen Systems Manager Command (dokumen SSM) dan runbook Otomasi, Anda dapat menggunakannya AWS Systems Manager untuk berintegrasi dengan. Layanan AWS Untuk informasi lebih lanjut tentang sumber daya ini, lihat [AWS Systems Manager Dokumen](documents.md).

Systems Manager terintegrasi dengan yang berikut ini Layanan AWS.

## Hitung
<a name="integrations-aws-compute"></a>


|  |  | 
| --- |--- |
| Amazon Elastic Compute Cloud (Amazon EC2) |  [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Menggunakan Amazon EC2 menghilangkan kebutuhan Anda untuk berinvestasi pada perangkat keras di awal, sehingga Anda dapat mengembangkan dan menerapkan aplikasi lebih cepat. Anda dapat menggunakan Amazon EC2 untuk meluncurkan server virtual sebanyak atau sesedikit yang Anda butuhkan, mengonfigurasi keamanan dan jaringan, dan mengelola penyimpanan. Systems Manager memungkinkan Anda untuk melakukan beberapa tugas pada instans EC2. Misalnya Anda dapat meluncurkan, mengonfigurasi, mengelola, memelihara, memecahkan masalah, dan secara aman terhubung ke instans EC2 Anda. Anda juga dapat menggunakan Systems Manager untuk men-deploy perangkat lunak, menentukan status kepatuhan, dan mengumpulkan inventaris dari instans EC2 Anda. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| Amazon EC2 Auto Scaling |  [Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/) membantu Anda memastikan agar Anda memiliki ketersediaan jumlah instans EC2 yang tepat untuk menangani beban untuk aplikasi Anda. Anda membuat koleksi instance EC2, yang disebut Grup Auto Scaling. Systems Manager memungkinkan Anda untuk mengotomatiskan prosedur umum seperti patching Amazon Machine Image (AMI) yang digunakan dalam template Auto Scaling untuk grup Auto Scaling Anda.  Pelajari selengkapnya [Memperbarui AMIs untuk grup Auto Scaling](automation-tutorial-update-patch-windows-ami-autoscaling.md)   | 
| Amazon Elastic Container Service (Amazon ECS) |  [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) adalah layanan pengelolaan kontainer yang sangat dapat diskalakan dan cepat, yang memungkinkan Anda untuk menjalankan, menghentikan, dan mengelola kontainer Docker pada sebuah klaster. Systems Manager memungkinkan Anda mengelola instans kontainer dari jarak jauh dan menyuntikkan data sensitif ke dalam container dengan menyimpan data sensitif Anda dalam parameter, alat di Systems ManagerParameter Store, dan kemudian mereferensikannya dalam definisi container Anda. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Lambda |  [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/) adalah layanan komputasi yang memungkinkan Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya saat diperlukan dan menskalakan secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik. Systems Manager memungkinkan Anda untuk menggunakan fungsi Lambda dalam konten runbook Otomatisasi dengan menggunakan tindakan `aws:invokeLambdaFunction`. Untuk menggunakan parameter dari Parameter Store dalam AWS Lambda fungsi, Anda dapat menggunakan AWS Parameter dan Rahasia Lambda Ekstensi untuk mengambil nilai parameter dan cache mereka untuk digunakan di masa mendatang.  Pelajari selengkapnya [Perbarui emas AMI menggunakan Otomasi, AWS Lambda, dan Parameter Store](automation-tutorial-update-patch-golden-ami.md)  [Menggunakan Parameter Store parameter dalam AWS Lambda fungsi](ps-integration-lambda-extensions.md)  | 

## Internet of Things (IoT)
<a name="integrations-aws-IoT"></a>


|  |  | 
| --- |--- |
| AWS IoT Greengrass perangkat inti |  [AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/)adalah layanan runtime dan cloud IoT edge open source yang membantu Anda membangun, menyebarkan, dan mengelola aplikasi IoT di perangkat Anda. Systems Manager menawarkan dukungan asli untuk perangkat AWS IoT Greengrass inti.   Pelajari selengkapnya [Mengelola perangkat edge dengan Systems Manager](systems-manager-setting-up-edge-devices.md)   | 
| AWS IoT perangkat inti |  [AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/)menyediakan layanan cloud yang menghubungkan perangkat IoT Anda ke perangkat lain dan AWS layanan cloud. AWS IoT menyediakan perangkat lunak perangkat yang dapat membantu Anda mengintegrasikan perangkat IoT Anda ke dalam solusi AWS IoT berbasis. Jika perangkat Anda dapat terhubung AWS IoT, AWS IoT dapat menghubungkannya ke layanan cloud yang AWS menyediakan. Systems Manager mendukung perangkat AWS IoT inti selama perangkat tersebut dikonfigurasi sebagai *node terkelola* dalam lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types).   Pelajari selengkapnya [Mengelola node di lingkungan hybrid dan multicloud dengan Systems Manager](systems-manager-hybrid-multicloud.md)   | 

## Penyimpanan
<a name="integrations-aws-productgroup"></a>


|  |  | 
| --- |--- |
| Amazon Simple Storage Service (Amazon S3) |  [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) adalah penyimpanan untuk Internet. Ia dirancang untuk mempermudah komputasi skala web bagi developer. Amazon S3 memiliki antarmuka layanan web sederhana yang dapat Anda gunakan untuk menyimpan dan mengambil data dalam jumlah berapa pun, kapan pun, dari mana pun di web. Systems Manager memungkinkan Anda menjalankan skrip jarak jauh dan dokumen SSM yang disimpan di Amazon S3. Distributor, alat di AWS Systems Manager, menggunakan Amazon S3 untuk menyimpan paket. Anda juga dapat mengirim output ke Amazon S3 untuk Run Command danSession Manager, alat di. AWS Systems Manager [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Alat Pengembang
<a name="integrations-aws-developer-tools"></a>


|  |  | 
| --- |--- |
| AWS CodeBuild |  [CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/)adalah layanan build yang dikelola sepenuhnya di cloud. CodeBuild mengkompilasi kode sumber Anda, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan. CodeBuild menghilangkan kebutuhan untuk menyediakan, mengelola, dan menskalakan server build Anda sendiri. Parameter Storememungkinkan Anda menyimpan informasi sensitif untuk spesifikasi dan proyek build Anda. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS CDK |   AWS Cloud Development Kit (AWS CDK) Ini adalah kerangka kerja untuk mendefinisikan infrastruktur cloud sebagai kode, dengan bahasa pemrograman, dan menerapkannya. AWS CloudFormation Application Managermemungkinkan Anda untuk melihat konstruksi CDK Anda dikelompokkan sebagai aplikasi, melihat struktur aplikasi termasuk sumber daya yang mendasarinya, melihat peringatan, menyelidiki dan memulihkan masalah operasional, dan melacak biaya di konsol. Application Manager [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Keamanan, Identitas, dan Kepatuhan
<a name="integrations-aws-security-identify-compliance"></a>


|  |  | 
| --- |--- |
| AWS Identity and Access Management (IAM) |  [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/) adalah layanan web yang membantu Anda mengontrol akses ke AWS sumber daya dengan aman. Anda menggunakan IAM untuk mengontrol siapa yang dapat terautentikasi (masuk) dan berwenang (memiliki izin) untuk menggunakan sumber daya. Systems Manager memungkinkan Anda untuk mengendalikan akses ke layanan menggunakan IAM. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
|  AWS Secrets Manager  |  [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) menyediakan pengelolaan rahasia yang lebih mudah. Rahasia dapat berupa kredensial basis data, kata sandi, kunci API pihak ke tiga, dan bahkan teks acak. Parameter Storememungkinkan Anda untuk mengambil rahasia Secrets Manager saat menggunakan rahasia lain Layanan AWS yang sudah mendukung referensi ke Parameter Store parameter.  Pelajari selengkapnya [Merujuk AWS Secrets Manager rahasia dari parameter Parameter Store](integration-ps-secretsmanager.md)   | 
| AWS Security Hub CSPM |  [Security Hub CSPM](https://docs.aws.amazon.com//securityhub/latest/userguide/what-is-securityhub.html) memberi Anda pandangan komprehensif tentang peringatan keamanan prioritas tinggi dan status kepatuhan Anda. Akun AWS Security Hub CSPM mengumpulkan, mengatur, dan memprioritaskan peringatan keamanan Anda, atau temuan, dari beberapa. Layanan AWS Saat Anda mengaktifkan integrasi antara Security Hub CSPM danPatch Manager, alat di AWS Systems Manager, Security Hub CSPM memantau status patching armada Anda dari sudut pandang keamanan. Detail kepatuhan patch secara otomatis diekspor ke Security Hub CSPM. Hal ini memungkinkan Anda untuk menggunakan satu tampilan untuk memantau status kepatuhan patch Anda secara terpusat dan melacak temuan keamanan lainnya. Anda dapat menerima peringatan ketika node di armada Anda keluar dari kepatuhan patch dan meninjau temuan kepatuhan patch di konsol CSPM Security Hub.  Anda juga dapat mengintegrasikan Security Hub CSPM dengan Explorer danOpsCenter, alat di. AWS Systems Manager Integrasi dengan Security Hub CSPM memungkinkan Anda menerima temuan dari Security Hub CSPM di dalam dan. Explorer OpsCenter Temuan CSPM Security Hub memberikan informasi keamanan yang dapat Anda gunakan dalam Explorer dan OpsCenter untuk mengumpulkan dan mengambil tindakan atas masalah keamanan, kinerja, dan operasional Anda. AWS Systems Manager Ada biaya untuk menggunakan Security Hub CSPM. Untuk informasi selengkapnya, lihat harga [CSPM Security Hub](https://aws.amazon.com/security-hub/pricing/). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Kriptografi dan PKI
<a name="integrations-aws-cryptography-pki"></a>


|  |  | 
| --- |--- |
| AWS Key Management Service (AWS KMS) |  [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) adalah layanan terkelola yang memungkinkan Anda untuk membuat dan mengendalikan kunci terkelola konsumen, kunci enkripsi yang digunakan untuk mengenkripsi data Anda. Systems Manager memungkinkan Anda untuk menggunakan AWS KMS untuk membuat `SecureString` parameter dan mengenkripsi data Session Manager sesi. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Pengelolaan dan Tata Kelola
<a name="integrations-aws-management-governance"></a>


|  |  | 
| --- |--- |
| AWS CloudFormation |  [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) adalah layanan yang membantu Anda membentuk dan menyiapkan sumber daya Amazon Web Services sehingga Anda dapat menghabiskan lebih sedikit waktu untuk mengelola sumber daya tersebut dan lebih banyak waktu untuk berfokus pada aplikasi Anda yang berjalan di AWS. Parameter Storeadalah sumber untuk referensi dinamis. Referensi dinamis menyediakan cara yang ringkas dan ampuh bagi Anda untuk menentukan nilai eksternal yang disimpan dan dikelola di layanan lain di templat CloudFormation tumpukan Anda.  Pelajari selengkapnya [Menggunakan referensi dinamis untuk menentukan nilai template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)   | 
| AWS CloudTrail |  [CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)adalah sebuah Layanan AWS yang membantu Anda mengotorisasi tata kelola, kepatuhan, dan audit operasional dan risiko Anda. Akun AWS Tindakan yang diambil oleh pengguna, peran, atau Layanan AWS direkam sebagai peristiwa di CloudTrail. Peristiwa termasuk tindakan yang diambil dalam Konsol Manajemen AWS, AWS Command Line Interface (AWS CLI), dan AWS SDKs dan APIs. Systems Manager terintegrasi dengan CloudTrail mana menangkap sebagian besar panggilan Systems Manager API sebagai peristiwa. Ini termasuk panggilan API yang dimulai dari konsol Systems Manager dan panggilan yang dilakukan ke Systems Manager APIs.  Pelajari selengkapnya [Pencatatan panggilan AWS Systems Manager API dengan AWS CloudTrail](monitoring-cloudtrail-logs.md)   | 
|  CloudWatch Log Amazon |  [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/) memungkinkan Anda untuk memusatkan log dari semua sistem, aplikasi, dan Layanan AWS yang Anda gunakan. Anda kemudian dapat melihatnya, mencarinya untuk kode atau pola kesalahan tertentu, memfilternya berdasarkan bidang tertentu, atau mengarsipkannya dengan aman untuk analisis di masa mendatang. Systems Manager mendukung pengiriman log untukSSM Agent,Run Command, dan Session Manager ke CloudWatch Log. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| Amazon EventBridge |  [EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/)memberikan aliran peristiwa sistem yang mendekati real-time yang menjelaskan perubahan dalam sumber daya Amazon Web Services. Dengan menggunakan aturan sederhana yang dapat Anda atur dengan cepat, Anda dapat mencocokkan acara dan mengarahkannya ke satu atau lebih fungsi atau aliran target. EventBridge menjadi sadar akan perubahan operasional saat terjadi. EventBridge menanggapi perubahan operasional ini dan mengambil tindakan korektif seperlunya. Tindakan ini mencakup pengiriman pesan untuk menanggapi lingkungan, aktivasi fungsi, dan pemerolehan informasi keadaan. Systems Manager memiliki beberapa peristiwa yang didukung dengan EventBridge memungkinkan Anda mengambil tindakan berdasarkan konten acara tersebut.  Pelajari selengkapnya [Memantau peristiwa Systems Manager dengan Amazon EventBridge](monitoring-eventbridge-events.md)  Amazon EventBridge adalah cara yang lebih disukai untuk mengelola acara Anda. CloudWatch Acara dan EventBridge merupakan layanan dan API dasar yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di salah satu CloudWatch atau EventBridge tercermin di setiap konsol. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/eventbridge/](https://docs.aws.amazon.com/eventbridge/).  | 
| AWS Config |  [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/)memberikan tampilan rinci tentang konfigurasi AWS sumber daya di Anda Akun AWS. Ini mencakup cara sumber daya terkait satu sama lain dan cara sumber daya tersebut dikonfigurasi. Ini memungkinkan Anda untuk melihat cara konfigurasi dan hubungan berubah seiring waktu. Systems Manager terintegrasi dengan AWS Config, menyediakan beberapa aturan yang membantu Anda mendapatkan visibilitas ke instans EC2 Anda. Aturan ini membantu Anda mengidentifikasi instans EC2 yang dikelola oleh Systems Manager, konfigurasi sistem operasi, pembaruan tingkat sistem, aplikasi yang diinstal, konfigurasi jaringan, dan lain-lain. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Trusted Advisor |  [Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) adalah alat online yang menyediakan panduan waktu nyata untuk membantu Anda menyediakan sumber daya dengan mengikuti praktik terbaik AWS . Systems Manager menghosting Trusted Advisor dan Anda dapat melihat Trusted Advisor data diExplorer. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Organizations |  [Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/) adalah layanan manajemen akun yang memungkinkan Anda untuk mengkonsolidasikan beberapa Akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat. Organizations mencakup pengelolaan akun dan kemampuan tagihan terkonsolidasi yang memungkinkan Anda untuk memenuhi kebutuhan anggaran, keamanan, dan kepatuhan akan bisnis Anda dengan lebih baik. Integrasi antara [Change Manager](change-manager.md), alat di AWS Systems Manager, dengan Organizations memungkinkan untuk menggunakan akun administrator yang didelegasikan untuk mengelola permintaan perubahan, mengubah templat, dan persetujuan untuk seluruh organisasi Anda melalui akun tunggal ini. Organizations Integrasi dengan [Inventory](systems-manager-inventory.md) AWS Systems Manager, alat dalam, dan [Explorer](Explorer.md)memungkinkan Anda untuk mengumpulkan data inventaris dan operasi (OpsData) dari beberapa Wilayah AWS dan Akun AWS. Integrasi antaraQuick Setup, alat di AWS Systems Manager, dan Organizations mengotomatiskan tugas penyiapan layanan umum, dan menerapkan konfigurasi layanan berdasarkan praktik terbaik di seluruh unit organisasi Anda (). OUs  | 

## Jaringan dan Pengiriman Konten
<a name="integrations-aws-networking-content-delivery"></a>


|  |  | 
| --- |--- |
| AWS PrivateLink |  [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html)memungkinkan Anda untuk secara pribadi menghubungkan virtual private cloud (VPC) Anda ke layanan endpoint yang Layanan AWS didukung dan VPC tanpa memerlukan gateway internet, perangkat NAT, koneksi VPN, atau koneksi. Direct Connect  Systems Manager mendukung node terkelola yang terhubung ke Systems Manager APIs menggunakan AWS PrivateLink. Ini meningkatkan postur keamanan node terkelola karena AWS PrivateLink membatasi semua lalu lintas jaringan antara node terkelola, Systems Manager, dan Amazon EC2 ke jaringan Amazon. Ini berarti bahwa node terkelola tidak diperlukan untuk memiliki akses ke internet.  Pelajari selengkapnya [Meningkatkan keamanan instans EC2 dengan menggunakan titik akhir VPC untuk Systems Manager](setup-create-vpc.md)    | 

## Analitik
<a name="integrations-aws-analytics"></a>


|  |  | 
| --- |--- |
| Amazon Athena |  [Athena](https://docs.aws.amazon.com/athena/latest/ug/) adalah layanan kueri interaktif yang memungkinkan Anda untuk menganalisis data secara langsung di Amazon Simple Storage Service (Amazon S3) menggunakan SQL standar. Dengan beberapa tindakan di dalamnya Konsol Manajemen AWS, Anda dapat mengarahkan Athena ke data yang disimpan di Amazon S3 dan mulai menggunakan SQL standar untuk menjalankan kueri satu kali dan mendapatkan hasil dalam hitungan detik. Systems Manager Inventory terintegrasi dengan Athena untuk membantu Anda menanyakan data inventaris dari Wilayah AWS beberapa dan. Akun AWS Integrasi Athena menggunakan sinkronisasi data sumber daya sehingga Anda dapat melihat data inventaris dari semua node terkelola pada halaman **Tampilan Terperinci** di konsol Inventaris Systems Manager. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Glue |  [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/) adalah layanan ETL (extract, transform, and load) terkelola penuh yang membuat Anda dapat mengategorikan data, membersihkannya, memperkayanya, dan memindahkannya dengan andal antar berbagai penyimpanan data dan aliran data dengan sederhana dan hemat biaya.  Systems Manager menggunakan AWS Glue untuk meng-crawl data Inventory di bucket S3 Anda.  Pelajari selengkapnya [Mengkueri data inventaris dari beberapa Wilayah dan akun](systems-manager-inventory-query.md)   | 
| Amazon Cepat |  [Quick](https://docs.aws.amazon.com/quicksuite/latest/userguide/what-is.html) adalah layanan analisis bisnis yang dapat Anda gunakan untuk membangun visualisasi, melakukan analisis satu kali, dan mendapatkan wawasan bisnis dari data Anda. Ia secara otomatis dapat menemukan sumber data AWS dan juga sesuai untuk sumber data Anda. Sinkronisasi data sumber daya Systems Manager mengirimkan data inventaris yang dikumpulkan dari semua node terkelola ke satu bucket S3. Anda dapat menggunakan Quick untuk menanyakan dan menganalisis data agregat. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Integrasi Aplikasi
<a name="integrations-aws-application-integration"></a>


|  |  | 
| --- |--- |
| Amazon Simple Notification Service (Amazon SNS) |  [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/) adalah layanan web yang mengoordinasikan dan mengelola pengiriman atau pengiriman pesan ke titik akhir atau klien berlangganan. Systems Manager menghasilkan status untuk beberapa layanan yang dapat diperoleh oleh notifikasi Amazon SNS. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-aws.html)  | 

## Konsol Manajemen AWS
<a name="integrations-aws-management-console"></a>


|  |  | 
| --- |--- |
| AWS Resource Groups |  [Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/) mengatur AWS sumber daya Anda. Resource groups mempermudah Anda untuk mengelola, memantau dan mengotomatiskan tugas pada sejumlah besar sumber daya secara sekaligus. Jenis sumber daya Systems Manager seperti node terkelola, dokumen SSM, jendela pemeliharaan, Parameter Store parameter, dan baseline patch dapat ditambahkan ke grup sumber daya.  Pelajari selengkapnya [Apa itu AWS Resource Groups?](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)   | 

**Topics**
+ [Hitung](#integrations-aws-compute)
+ [Internet of Things (IoT)](#integrations-aws-IoT)
+ [Penyimpanan](#integrations-aws-productgroup)
+ [Alat Pengembang](#integrations-aws-developer-tools)
+ [Keamanan, Identitas, dan Kepatuhan](#integrations-aws-security-identify-compliance)
+ [Kriptografi dan PKI](#integrations-aws-cryptography-pki)
+ [Pengelolaan dan Tata Kelola](#integrations-aws-management-governance)
+ [Jaringan dan Pengiriman Konten](#integrations-aws-networking-content-delivery)
+ [Analitik](#integrations-aws-analytics)
+ [Integrasi Aplikasi](#integrations-aws-application-integration)
+ [Konsol Manajemen AWS](#integrations-aws-management-console)
+ [Menjalankan skrip dari Amazon S3](integration-s3.md)
+ [Merujuk AWS Secrets Manager rahasia dari parameter Parameter Store](integration-ps-secretsmanager.md)
+ [AWS KMS enkripsi untuk Parameter Store SecureString parameter](secure-string-parameter-kms-encryption.md)
+ [Gunakan AWS Secrets Manager rahasia di Amazon Elastic Kubernetes Service](integrate_eks.md)
+ [Menggunakan Parameter Store parameter dalam AWS Lambda fungsi](ps-integration-lambda-extensions.md)

# Menjalankan skrip dari Amazon S3
<a name="integration-s3"></a>

Bagian ini menjelaskan cara mengunduh dan menjalankan skrip dari Amazon Simple Storage Service (Amazon S3). Topik berikut mencakup informasi dan terminologi yang berkaitan dengan Amazon S3. Untuk mempelajari lebih lanjut tentang Amazon S3, lihat [Apa itu Amazon S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Anda dapat menjalankan berbagai jenis skrip, termasuk Ansible Playbooks, Python, Ruby, Shell, dan. PowerShell 

Anda juga dapat mengunduh direktori yang mencakup beberapa skrip. Saat Anda menjalankan skrip utama di direktori, AWS Systems Manager juga menjalankan skrip referensi apa pun yang disertakan dalam direktori. 

Perhatikan detail penting tentang menjalankan skrip dari Amazon S3 berikut ini:
+ Systems Manager tidak memverifikasi bahwa skrip Anda mampu berjalan pada sebuah node. Sebelum Anda mengunduh dan menjalankan skrip, verifikasi bahwa perangkat lunak yang diperlukan diinstal pada node. Atau, Anda dapat membuat dokumen komposit yang menginstal perangkat lunak dengan menggunakan salah satu Run Command atauState Manager, alat di AWS Systems Manager, dan kemudian mengunduh dan menjalankan skrip.
+ Verifikasi bahwa pengguna, peran, atau grup Anda telah diberikan izin AWS Identity and Access Management (IAM) yang diperlukan untuk membaca dari bucket S3.
+ Pastikan profil instans pada instans Amazon Elastic Compute Cloud (Amazon EC2) Anda memiliki izin `s3:ListBucket` dan `s3:GetObject`. Jika profil instans tidak memiliki izin ini, sistem akan gagal mengunduh skrip Anda dari bucket S3. Untuk informasi lebih lanjut, lihat [Menggunakan profil instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) dalam *Panduan Pengguna IAM*. 

## Menjalankan skrip shell dari Amazon S3
<a name="integration-s3-shell"></a>

Informasi berikut ini mencakup prosedur untuk membantu Anda menjalankan skrip dari Amazon Simple Storage Service (Amazon S3) dengan menggunakan AWS Systems Manager konsol atau (). AWS Command Line Interface AWS CLI Meskipun skrip shell digunakan dalam contoh, jenis skrip lain dapat diganti.

### Menjalankan skrip shell dari Amazon S3 (konsol)
<a name="integration-s3-ruby-console"></a>

**Menjalankan skrip shell dari Amazon S3**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih **`AWS-RunRemoteScript`**.

1. Di **Parameter perintah**, lakukan hal berikut:
   + Di **Jenis Sumber**, pilih **S3**. 
   + Di kotak teks **Info sumber**, masukkan informasi yang diperlukan untuk mengakses sumber dalam format berikut. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.
**catatan**  
Ganti https://s3. *aws-api-domain*dengan URL untuk bucket Anda. Anda dapat menyalin URL bucket Anda di Amazon S3 pada tab **Objects**.

     ```
     {"path":"https://s3.aws-api-domain/path to script"}
     ```

     Berikut adalah contohnya.

     ```
     {"path":"https://amzn-s3-demo-bucket.s3.us-east-2.amazonaws.com/scripts/shell/helloWorld.sh"}
     ```
   + Di bidang **Baris Perintah**, masukkan parameter untuk eksekusi skrip. Inilah contohnya.

     ```
     helloWorld.sh argument-1 argument-2
     ```
   + (Opsional) Di bidang **Direktori Kerja**, masukkan nama direktori pada node tempat Anda ingin mengunduh dan menjalankan skrip.
   + (Opsional) Di **Batas Waktu Eksekusi**, tentukan jumlah detik bagi sistem untuk menunggu sebelum menggagalkan eksekusi perintah skrip. 

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan milik pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

### Jalankan skrip shell dari Amazon S3 (baris perintah)
<a name="integration-s3-shell-cli"></a>

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan perintah berikut. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.
**catatan**  
Ganti https://s3. *aws-api-domain*/*script path*dengan URL untuk bucket Anda. Anda dapat menyalin URL bucket Anda di Amazon S3 pada tab **Objects**.

------
#### [ Linux & macOS ]

   ```
   aws ssm send-command \
       --document-name "AWS-RunRemoteScript" \
       --output-s3-bucket-name "amzn-s3-demo-bucket" \
       --output-s3-key-prefix "key-prefix" \
       --targets "Key=InstanceIds,Values=instance-id" \
       --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/script path\"}"],"commandLine":["script name and arguments"]}'
   ```

------
#### [ Windows ]

   ```
   aws ssm send-command ^
       --document-name "AWS-RunRemoteScript" ^
       --output-s3-bucket-name "amzn-s3-demo-bucket" ^
       --output-s3-key-prefix "key-prefix" ^
       --targets "Key=InstanceIds,Values=instance-id" ^
       --parameters "sourceType"="S3",sourceInfo='{\"path\":\"https://s3.aws-api-domain/script path\"}',"commandLine"="script name and arguments"
   ```

------
#### [ PowerShell ]

   ```
   Send-SSMCommand `
       -DocumentName "AWS-RunRemoteScript" `
       -OutputS3BucketName "amzn-s3-demo-bucket" `
       -OutputS3KeyPrefix "key-prefix" `
       -Target @{Key="InstanceIds";Values=@("instance-id")} `
       -Parameter @{
           sourceType = "S3"; 
           sourceInfo = '{"path": "s3://bucket-name/path/to/script"}'; 
           commandLine = "script name and arguments"
       }
   ```

------

# Merujuk AWS Secrets Manager rahasia dari parameter Parameter Store
<a name="integration-ps-secretsmanager"></a>

AWS Secrets Manager membantu Anda mengatur dan mengelola data konfigurasi penting seperti kredensi, kata sandi, dan kunci lisensi. Parameter Store, alat di AWS Systems Manager, terintegrasi dengan Secrets Manager sehingga Anda dapat mengambil rahasia Secrets Manager saat menggunakan rahasia lain Layanan AWS yang sudah mendukung referensi ke Parameter Store parameter. Layanan ini mencakup Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS),, AWS Lambda,,, CloudFormation, AWS CodeBuild dan alat Systems Manager lainnya. AWS CodeDeploy Dengan menggunakan Parameter Store untuk mereferensikan rahasia Secrets Manager, Anda membuat proses yang konsisten dan aman untuk memanggil dan menggunakan rahasia dan data referensi dalam kode dan skrip konfigurasi Anda. 

Untuk informasi selengkapnya tentang Secrets Manager, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) dalam *AWS Secrets Manager User Guide*.

## Pembatasan
<a name="integration-ps-secretsmanager-restrictions"></a>

Perhatikan batasan berikut saat menggunakan Parameter Store untuk mereferensikan rahasia Secrets Manager:
+ Anda hanya dapat mengambil rahasia Secrets Manager dengan menggunakan operasi [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)dan [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)API. Operasi modifikasi dan operasi API kueri lanjutan, seperti [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)dan [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html), tidak didukung untuk Secrets Manager.
+ Anda dapat menggunakan AWS Command Line Interface (AWS CLI), AWS Tools for Windows PowerShell, dan SDKs untuk mengambil rahasia dengan menggunakanParameter Store.
+ Rahasia Secrets Manager di Parameter Store harus memiliki awalan. `/aws/reference/secretsmanager` Berikut ini adalah beberapa contohnya:

  `/aws/reference/secretsmanager/CFCreds1`

  `/aws/reference/secretsmanager/myapp/db/password`
+ Parameter Storekehormatan AWS Identity and Access Management (IAM) kebijakan yang melekat pada rahasia Secrets Manager. Misalnya, jika Pengguna 1 tidak memiliki akses ke Rahasia A, maka Pengguna 1 tidak dapat mengambil Rahasia A dengan menggunakanParameter Store.
+ Parameter yang mereferensikan rahasia Secrets Manager tidak dapat menggunakan Parameter Store fitur pembuatan versi atau riwayat.
+ Parameter Storemenghormati tahapan versi Secrets Manager. Jika Anda mereferensikan tahapan versi, ia menggunakan huruf, angka, titik (.), tanda hubung (-), atau garis bawah (\$1). Semua simbol lain yang ditentukan dalam tahapan versi menyebabkan referensi gagal.

## Cara mereferensikan rahasia Secrets Manager dengan menggunakan Parameter Store
<a name="integration-ps-secretsmanager-create"></a>

Prosedur berikut menjelaskan cara mereferensikan rahasia Secrets Manager dengan menggunakan Parameter Store APIs. Prosedur mereferensikan prosedur lainnya di *Panduan Pengguna AWS Secrets Manager *.

**catatan**  
Sebelum memulai, verifikasi bahwa Anda memiliki izin untuk mereferensikan rahasia Secrets Manager dalam Parameter Store parameter. Jika Anda memiliki izin administrator di Secrets Manager dan Systems Manager, Anda dapat mereferensikan atau mengambil rahasia dengan menggunakan. Parameter Store APIs Jika Anda mereferensikan rahasia Secrets Manager dalam Parameter Store parameter, dan Anda tidak memiliki izin untuk mengakses rahasia itu, maka referensi gagal. Untuk informasi lebiih lanjut, lihat [Autentikasi dan pengendalian akses untuk AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) di *Panduan Pengguna AWS Secrets Manager *.

**penting**  
Parameter Storeberfungsi sebagai layanan pass-through untuk referensi ke rahasia Secrets Manager. Parameter Storetidak menyimpan data atau metadata tentang rahasia. Referensi bersifat stateless.

**Untuk mereferensikan rahasia Secrets Manager dengan menggunakan Parameter Store**

1. Buat rahasia di Secrets Manager. Untuk informasi selengkapnya, lihat [Membuat dan mengelola rahasia dengan AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html).

1. Referensi rahasia dengan menggunakan AWS CLI, AWS Tools for Windows PowerShell, atau SDK. Ketika Anda mereferensikan rahasia Secrets Manager, nama harus dimulai dengan jalur pemesanan berikut: `/aws/reference/secretsmanager/`. Dengan menentukan jalur ini, Systems Manager tahu untuk mengambil rahasia dari Secrets Manager alih-alih. Parameter Store Berikut adalah beberapa contoh nama yang benar mereferensikan rahasia Secrets Manager, `CFCreds1` dan`DBPass`, menggunakanParameter Store.
   + `/aws/reference/secretsmanager/CFCreds1`
   + `/aws/reference/secretsmanager/DBPass`

   Berikut ini adalah contoh kode Java yang mereferensikan access key dan kunci rahasia yang disimpan dalam Secrets Manager. Contoh kode ini menyiapkan klien Amazon DynamoDB. Kode mengambil data konfigurasi dan kredensi dari. Parameter Store Data konfigurasi disimpan sebagai parameter string Parameter Store dan kredensialnya disimpan di Secrets Manager. Meskipun data konfigurasi dan kredensialnya disimpan dalam layanan terpisah, kedua set data dapat diakses Parameter Store dengan menggunakan API. `GetParameter`

   ```
   /**
   * Initialize Systems Manager client with default credentials
   */
   AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient();
    
   ...
    
   /**
   * Example method to launch DynamoDB client with credentials different from default
   * @return DynamoDB client
   */
   AmazonDynamoDB getDynamoDbClient() {
       //Getting AWS credentials from Secrets Manager using GetParameter
       BasicAWSCredentials differentAWSCreds = new BasicAWSCredentials(
               getParameter("/aws/reference/secretsmanager/access-key"),
               getParameter("/aws/reference/secretsmanager/secret-key"));
    
       //Initialize the DynamoDB client with different credentials
       final AmazonDynamoDB client = AmazonDynamoDBClient.builder()
               .withCredentials(new AWSStaticCredentialsProvider(differentAWSCreds))
               .withRegion(getParameter("region")) //Getting configuration from Parameter Store
               .build();
       return client;
   }
    
   /**
   * Helper method to retrieve parameter value
   * @param parameterName identifier of the parameter
   * @return decrypted parameter value
   */
   public GetParameterResult getParameter(String parameterName) {
       GetParameterRequest request = new GetParameterRequest();
       request.setName(parameterName);
       request.setWithDecryption(true);
       return ssm.newGetParameterCall().call(request).getParameter().getValue();
   }
   ```

   Berikut adalah beberapa AWS CLI contoh. Gunakan perintah `aws secretsmanager list-secrets` untuk menemukan nama-nama rahasia Anda.

   **AWS CLI Contoh 1: Referensi dengan menggunakan nama rahasia**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret ^
       --with-decryption
   ```

------

   Perintah tersebut mengembalikan informasi seperti berikut.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"aaabbbccc-1111-222-333-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "LastModifiedDate": 2018-05-14T21:47:14.743Z,
           "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                  E18LRP",
         }
   }
   ```

   **AWS CLI Contoh 2: Referensi yang menyertakan ID versi**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 ^
       --with-decryption
   ```

------

   Perintah tersebut mengembalikan informasi seperti berikut.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "Selector": ":11111-aaa-bbb-ccc-123456789"
         }
           "LastModifiedDate": 2018-05-14T21:47:14.743Z,
           "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                  E18LRP",
   }
   ```

   **AWS CLI Contoh 3: Referensi yang mencakup tahap versi**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT ^
       --with-decryption
   ```

------

   Perintah tersebut mengembalikan informasi seperti berikut.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "Selector": ":AWSCURRENT"
         }
         "LastModifiedDate": 2018-05-14T21:47:14.743Z,
         "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
   }
   ```

# AWS KMS enkripsi untuk AWS Systems ManagerParameter Store SecureString parameter
<a name="secure-string-parameter-kms-encryption"></a>

Dengan AWS Systems Manager Parameter Store, Anda dapat membuat [SecureString parameter](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html#what-is-a-parameter), yang merupakan parameter yang memiliki nama parameter plaintext dan nilai parameter terenkripsi. Parameter Storemenggunakan AWS KMS untuk mengenkripsi dan mendekripsi nilai parameter parameter. `SecureString`

DenganParameter Store, Anda dapat membuat, menyimpan, dan mengelola data sebagai parameter dengan nilai. Anda dapat membuat parameter Parameter Store dan menggunakannya di beberapa aplikasi dan layanan yang tunduk pada kebijakan dan izin yang Anda desain. Ketika Anda perlu mengubah nilai parameter, Anda mengubah satu contoh, daripada mengelola perubahan rawan kesalahan ke berbagai sumber. Parameter Storemendukung struktur hierarkis untuk nama parameter, sehingga Anda dapat memenuhi syarat parameter untuk penggunaan tertentu. 

Untuk mengelola data sensitif, Anda dapat membuat `SecureString` parameter. Parameter Storemenggunakan AWS KMS keys untuk mengenkripsi nilai parameter `SecureString` parameter saat Anda membuat atau mengubahnya. Ini juga menggunakan kunci KMS untuk mendekripsi nilai parameter saat Anda mengaksesnya. Anda dapat menggunakan [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)yang Parameter Store membuat untuk akun Anda atau menentukan [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) Anda sendiri. 

**penting**  
Parameter Storehanya mendukung tombol [KMS simetris](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks). Anda tidak dapat menggunakan [kunci KMS asimetris](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) untuk mengenkripsi parameter Anda. *Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat [Mengidentifikasi tipe kunci yang berbeda dalam Panduan Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/identify-key-types.html)AWS Key Management Service .*

Parameter Storemendukung dua tingkatan `SecureString` parameter: *standar* dan *lanjutan*. Parameter standar, yang tidak dapat melebihi 4096 byte, dienkripsi dan didekripsi langsung di bawah kunci KMS yang Anda tentukan. Untuk mengenkripsi dan mendekripsi `SecureString` parameter lanjutan, Parameter Store gunakan enkripsi amplop dengan file. [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) Anda dapat mengonversi `SecureString` parameter standar ke parameter lanjutan, tetapi Anda tidak dapat mengonversi parameter lanjutan ke parameter standar. Untuk informasi selengkapnya tentang perbedaan antara `SecureString` parameter standar dan lanjutan, lihat[Mengelola tingkatan parameter](parameter-store-advanced-parameters.md).

**Topics**
+ [Melindungi SecureString parameter standar](#kms-encryption-securestring-standard)
+ [Melindungi SecureString parameter lanjutan](#kms-encryption-securestring-advanced)
+ [Menetapkan izin untuk mengenkripsi dan mendekripsi nilai parameter](#parameter-policy-kms-encryption)
+ [Parameter Storekonteks enkripsi](#parameter-store-kms-encryption-context)
+ [Memecahkan masalah utama KMS di Parameter Store](#parameter-store-kms-cmk-troubleshooting)

## Melindungi SecureString parameter standar
<a name="kms-encryption-securestring-standard"></a>

Parameter Storetidak melakukan operasi kriptografi apa pun. Sebaliknya, ia bergantung pada AWS KMS untuk mengenkripsi dan mendekripsi nilai parameter`SecureString`. Saat Anda membuat atau mengubah nilai `SecureString` parameter standar, Parameter Store memanggil operasi AWS KMS [Enkripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html). [Operasi ini menggunakan kunci KMS enkripsi simetris secara langsung untuk mengenkripsi nilai parameter alih-alih menggunakan kunci KMS untuk menghasilkan kunci data.](https://docs.aws.amazon.com/kms/latest/developerguide/data-keys.html) 

Anda dapat memilih kunci KMS yang Parameter Store digunakan untuk mengenkripsi nilai parameter. Jika Anda tidak menentukan kunci KMS, Parameter Store gunakan Kunci yang dikelola AWS yang secara otomatis dibuat oleh Systems Manager di akun Anda. Kunci KMS ini memiliki `aws/ssm` alias.

Untuk melihat kunci `aws/ssm` KMS default untuk akun Anda, gunakan [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operasi di AWS KMS API. Contoh berikut menggunakan `describe-key` perintah di AWS Command Line Interface (AWS CLI) dengan nama `aws/ssm` alias.

```
aws kms describe-key \
    --key-id alias/aws/ssm
```

Untuk membuat `SecureString` parameter standar, gunakan [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)operasi di Systems Manager API. Abaikan parameter `Tier` atau tentukan nilai `Standard`, yang merupakan default. Sertakan parameter `Type` dengan nilai dari `SecureString`. Untuk menentukan kunci KMS, gunakan `KeyId` parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Anda`aws/ssm`. 

Parameter Storekemudian memanggil AWS KMS `Encrypt` operasi dengan kunci KMS dan nilai parameter plaintext. AWS KMS mengembalikan nilai parameter terenkripsi, yang Parameter Store menyimpan dengan nama parameter.

Contoh berikut menggunakan perintah Systems Manager [put-parameter](https://docs.aws.amazon.com/cli/latest/reference/ssm/put-parameter.html) dan `--type` parameternya dalam AWS CLI untuk membuat `SecureString` parameter. Karena perintah menghilangkan opsional `--tier` dan `--key-id` parameter, Parameter Store membuat `SecureString` parameter standar dan mengenkripsi di bawah. Kunci yang dikelola AWS

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString
```

Contoh serupa berikut menggunakan `--key-id` parameter untuk menentukan [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk). Contoh menggunakan ID kunci KMS untuk mengidentifikasi kunci KMS, tetapi Anda dapat menggunakan pengidentifikasi kunci KMS yang valid. Karena perintah menghilangkan `Tier` parameter (`--tier`), Parameter Store membuat `SecureString` parameter standar, bukan parameter lanjutan.

```
aws ssm put-parameter \
    --name param1 \
    --value "secret" \
    --type SecureString \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
```

Ketika Anda mendapatkan `SecureString` parameter dariParameter Store, nilainya dienkripsi. Untuk mendapatkan parameter, gunakan [GetParameter ](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)operasi di Systems Manager API.

Contoh berikut menggunakan perintah Systems Manager [get-parameter](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html) dalam AWS CLI untuk mendapatkan `MyParameter` parameter dari Parameter Store tanpa mendekripsi nilainya.

```
aws ssm get-parameter --name MyParameter
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}
```

Untuk mendekripsi nilai parameter sebelum mengembalikannya, atur parameter `WithDecryption` dari `GetParameter` ke `true`. Saat Anda menggunakan`WithDecryption`, Parameter Store memanggil operasi AWS KMS [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) atas nama Anda untuk mendekripsi nilai parameter. Akibatnya, permintaan `GetParameter` akan mengembalikan parameter dengan nilai parameter plaintext, seperti yang ditunjukkan dalam contoh berikut.

```
aws ssm get-parameter \
    --name MyParameter \
    --with-decryption
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}
```

Alur kerja berikut menunjukkan bagaimana Parameter Store menggunakan kunci KMS untuk mengenkripsi dan mendekripsi parameter standar. `SecureString`

### Mengenkripsi parameter standar
<a name="kms-encryption-securestring-standard-encrypt"></a>

1. Saat Anda menggunakan `PutParameter` untuk membuat `SecureString` parameter, Parameter Store kirimkan `Encrypt` permintaan ke AWS KMS. [Permintaan tersebut mencakup nilai parameter plaintext, kunci KMS yang Anda pilih, dan konteks enkripsi. Parameter Store](#parameter-store-kms-encryption-context) Selama transmisi ke AWS KMS, nilai plaintext dalam `SecureString` parameter dilindungi oleh Transport Layer Security (TLS).

1. AWS KMS mengenkripsi nilai parameter dengan kunci KMS dan konteks enkripsi yang ditentukan. Ia mengembalikan ciphertext keParameter Store, yang menyimpan nama parameter dan nilai terenkripsi.  
![\[Mengenkripsi nilai parameter standar SecureString\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/service-pstore-standard.png)

### Dekripsi parameter standar
<a name="kms-encryption-securestring-standard-decrypt"></a>

1. Saat Anda menyertakan `WithDecryption` parameter dalam `GetParameter` permintaan, Parameter Store kirimkan `Decrypt` permintaan ke AWS KMS dengan nilai `SecureString` parameter terenkripsi dan konteks [Parameter Storeenkripsi](#parameter-store-kms-encryption-context).

1. AWS KMS menggunakan kunci KMS yang sama dan konteks enkripsi yang disediakan untuk mendekripsi nilai terenkripsi. Ia mengembalikan nilai parameter plaintext (didekripsi) ke. Parameter Store Selama transmisi, data plaintext dilindungi oleh TLS.

1. Parameter Storemengembalikan nilai parameter plaintext kepada Anda dalam respons. `GetParameter`

## Melindungi SecureString parameter lanjutan
<a name="kms-encryption-securestring-advanced"></a>

Ketika Anda menggunakan `PutParameter` untuk membuat `SecureString` parameter lanjutan, Parameter Store menggunakan [enkripsi amplop](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/how-it-works.html#envelope-encryption) dengan AWS Encryption SDK dan enkripsi simetris AWS KMS key untuk melindungi nilai parameter. Setiap nilai parameter lanjutan dienkripsi di bawah kunci data unik, dan kunci data dienkripsi di bawah kunci KMS. Anda dapat menggunakan [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)for the account (`aws/ssm`) atau kunci yang dikelola pelanggan.

[AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) adalah pustaka sisi klien sumber terbuka yang membantu Anda mengenkripsi dan mendekripsi data menggunakan standar industri dan praktik terbaik. Ini didukung pada beberapa platform dan dalam beberapa bahasa pemrograman, termasuk antarmuka baris perintah. Anda dapat melihat kode sumber dan berkontribusi pada pengembangannya di GitHub. 

Untuk setiap nilai `SecureString` parameter, Parameter Store memanggil AWS Encryption SDK untuk mengenkripsi nilai parameter menggunakan kunci data unik yang AWS KMS menghasilkan ([GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)). AWS Encryption SDK Kembali ke [pesan Parameter Store terenkripsi](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) yang mencakup nilai parameter terenkripsi dan salinan terenkripsi dari kunci data unik. Parameter Storemenyimpan seluruh pesan terenkripsi dalam nilai `SecureString` parameter. Kemudian, ketika Anda mendapatkan nilai `SecureString` parameter lanjutan, Parameter Store gunakan AWS Encryption SDK untuk mendekripsi nilai parameter. Ini membutuhkan panggilan AWS KMS untuk mendekripsi kunci data terenkripsi.

Untuk membuat `SecureString` parameter lanjutan, gunakan [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)operasi di Systems Manager API. Atur nilai parameter `Tier` ke `Advanced`. Sertakan parameter `Type` dengan nilai dari `SecureString`. Untuk menentukan kunci KMS, gunakan `KeyId` parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Anda`aws/ssm`. 

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString \
    --tier Advanced
```

Contoh serupa berikut menggunakan `--key-id` parameter untuk menentukan [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk). Contoh menggunakan Nama Sumber Daya Amazon (ARN) dari kunci KMS, tetapi Anda dapat menggunakan pengidentifikasi kunci KMS yang valid. 

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString \
    --tier Advanced \
    --key-id arn:aws:kms:us-east-2:987654321098:key/1234abcd-12ab-34cd-56ef-1234567890ab
```

Ketika Anda mendapatkan `SecureString` parameter dariParameter Store, nilainya adalah pesan terenkripsi yang dikembalikan. AWS Encryption SDK Untuk mendapatkan parameter, gunakan [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)operasi di Systems Manager API.

Contoh berikut menggunakan `GetParameter` operasi Systems Manager untuk mendapatkan `MyParameter` parameter dari Parameter Store tanpa mendekripsi nilainya.

```
aws ssm get-parameter --name MyParameter
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}
```

Untuk mendekripsi nilai parameter sebelum mengembalikannya, atur parameter `WithDecryption` dari `GetParameter` ke `true`. Saat Anda menggunakan`WithDecryption`, Parameter Store memanggil operasi AWS KMS [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) atas nama Anda untuk mendekripsi nilai parameter. Akibatnya, permintaan `GetParameter` akan mengembalikan parameter dengan nilai parameter plaintext, seperti yang ditunjukkan dalam contoh berikut.

```
aws ssm get-parameter \
    --name MyParameter \
    --with-decryption
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}
```

Anda tidak dapat mengonversi `SecureString` parameter lanjutan ke parameter standar, tetapi Anda dapat mengonversi standar `SecureString` ke parameter lanjutan. Untuk mengonversi `SecureString` parameter standar ke lanjutan`SecureString`, gunakan `PutParameter` operasi dengan `Overwrite` parameter. `Type` harus `SecureString` dan nilai `Tier` harus `Advanced`. `KeyId`Parameter, yang mengidentifikasi kunci yang dikelola pelanggan, adalah opsional. Jika Anda menghilangkannya, Parameter Store gunakan Kunci yang dikelola AWS untuk akun. Anda dapat menentukan kunci KMS yang memiliki izin untuk digunakan oleh prinsipal, bahkan jika Anda menggunakan kunci KMS yang berbeda untuk mengenkripsi parameter standar.

Bila Anda menggunakan `Overwrite` parameter, Parameter Store menggunakan AWS Encryption SDK untuk mengenkripsi nilai parameter. Kemudian menyimpan pesan yang baru dienkripsi di. Parameter Store

```
aws ssm put-parameter \
    --name myStdParameter \
    --value "secret_value"  \
    --type SecureString \
    --tier Advanced \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --overwrite
```

Alur kerja berikut menunjukkan bagaimana Parameter Store menggunakan kunci KMS untuk mengenkripsi dan mendekripsi parameter lanjutan. `SecureString`

### Mengenkripsi parameter lanjutan
<a name="kms-encryption-securestring-advanced-encrypt"></a>

1. Saat Anda menggunakan `PutParameter` untuk membuat `SecureString` parameter lanjutan, Parameter Store gunakan AWS Encryption SDK dan AWS KMS untuk mengenkripsi nilai parameter. Parameter Storememanggil AWS Encryption SDK dengan nilai parameter, kunci KMS yang Anda tentukan, dan [konteks Parameter Store enkripsi](#parameter-store-kms-encryption-context).

1.  AWS Encryption SDK Mengirim [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)permintaan ke AWS KMS dengan pengenal kunci KMS yang Anda tentukan dan konteks Parameter Store enkripsi. AWS KMS mengembalikan dua salinan kunci data unik: satu di plaintext dan satu dienkripsi di bawah kunci KMS. (Konteks enkripsi digunakan saat mengenkripsi kunci data.)

1.  AWS Encryption SDK Menggunakan kunci data plaintext untuk mengenkripsi nilai parameter. Ia mengembalikan [pesan terenkripsi](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) yang mencakup nilai parameter terenkripsi, kunci data terenkripsi, dan data lainnya, termasuk konteks enkripsi. Parameter Store

1. Parameter Storemenyimpan pesan terenkripsi sebagai nilai parameter.  
![\[Mengenkripsi nilai parameter lanjutan SecureString\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/service-pstore-advanced.png)

### Dekripsi parameter lanjutan
<a name="kms-encryption-securestring-advanced-decrypt"></a>

1. Anda dapat menyertakan `WithDecryption` parameter dalam `GetParameter` permintaan untuk mendapatkan `SecureString` parameter lanjutan. Ketika Anda melakukannya, Parameter Store meneruskan [pesan terenkripsi](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) dari nilai parameter ke metode dekripsi. AWS Encryption SDK

1.  AWS Encryption SDK Panggilan operasi AWS KMS [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Ini melewati kunci data terenkripsi dan konteks Parameter Store enkripsi dari pesan terenkripsi.

1. AWS KMS menggunakan kunci KMS dan konteks Parameter Store enkripsi untuk mendekripsi kunci data terenkripsi. Kemudian ini mengembalikan plaintext (didekripsi) kunci data ke AWS Encryption SDK.

1.  AWS Encryption SDK Menggunakan kunci data plaintext untuk mendekripsi nilai parameter. Ia mengembalikan nilai parameter plaintext ke. Parameter Store 

1. Parameter Storememverifikasi konteks enkripsi dan mengembalikan nilai parameter plaintext kepada Anda dalam respons. `GetParameter`

## Menetapkan izin untuk mengenkripsi dan mendekripsi nilai parameter
<a name="parameter-policy-kms-encryption"></a>

Untuk mengenkripsi nilai `SecureString` parameter standar, pengguna memerlukan `kms:Encrypt` izin. Untuk mengenkripsi nilai `SecureString` parameter lanjutan, pengguna memerlukan `kms:GenerateDataKey` izin. Untuk mendekripsi salah satu jenis nilai `SecureString` parameter, pengguna memerlukan `kms:Decrypt` izin. 

Anda dapat menggunakan kebijakan AWS Identity and Access Management (IAM) untuk mengizinkan atau menolak izin bagi pengguna untuk memanggil Systems Manager `PutParameter` dan `GetParameter` operasi.

Jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi nilai `SecureString` parameter Anda, Anda dapat menggunakan kebijakan IAM dan kebijakan kunci untuk mengelola enkripsi dan mendekripsi izin. Namun, Anda tidak dapat membuat kebijakan kontrol akses untuk kunci `aws/ssm` KMS default. Untuk informasi rinci tentang mengontrol akses ke kunci terkelola pelanggan, lihat [akses kunci KMS dan izin di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) *Pengembang*.

Contoh berikut menunjukkan kebijakan IAM yang dirancang untuk `SecureString` parameter standar. Ini memungkinkan pengguna untuk memanggil operasi `PutParameter` Systems Manager pada semua parameter dalam jalur `FinancialParameters`. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS `Encrypt` operasi pada contoh kunci yang dikelola pelanggan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/FinancialParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

Contoh berikutnya menunjukkan kebijakan IAM yang dirancang untuk `SecureString` parameter lanjutan. Ini memungkinkan pengguna untuk memanggil operasi `PutParameter` Systems Manager pada semua parameter dalam jalur `ReservedParameters`. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS `GenerateDataKey` operasi pada contoh kunci yang dikelola pelanggan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ReservedParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id"
        }
    ]
}
```

------

Contoh terakhir juga menunjukkan kebijakan IAM yang dapat digunakan untuk `SecureString` parameter standar atau lanjutan. Ini memungkinkan pengguna untuk memanggil operasi `GetParameter` Systems Manager (dan operasi terkait) pada semua parameter dalam jalur `ITParameters`. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS `Decrypt` operasi pada contoh kunci yang dikelola pelanggan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ITParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

## Parameter Storekonteks enkripsi
<a name="parameter-store-kms-encryption-context"></a>

*Konteks enkripsi* adalah seperangkat pasangan kunci-nilai yang berisi data non-rahasia yang arbitrer. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, secara AWS KMS kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus meneruskan konteks enkripsi yang sama. 

Anda juga dapat menggunakan konteks enkripsi untuk mengidentifikasi operasi kriptografi dalam audit catatan dan log. Konteks enkripsi muncul di plaintext dalam log, seperti log [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). 

Ini AWS Encryption SDK juga mengambil konteks enkripsi, meskipun menanganinya secara berbeda. Parameter Storememasok konteks enkripsi ke metode enkripsi. AWS Encryption SDK Secara kriptografi mengikat konteks enkripsi ke data terenkripsi. Ini juga mencakup konteks enkripsi dalam teks polos di header pesan terenkripsi yang dikembalikan. Namun, tidak seperti AWS KMS, metode AWS Encryption SDK dekripsi tidak mengambil konteks enkripsi sebagai input. Sebaliknya, ketika mendekripsi data, AWS Encryption SDK mendapatkan konteks enkripsi dari pesan terenkripsi. Parameter Storememverifikasi bahwa konteks enkripsi menyertakan nilai yang diharapkan sebelum mengembalikan nilai parameter plaintext kepada Anda. 

Parameter Storemenggunakan konteks enkripsi berikut dalam operasi kriptografinya:
+ Kunci: `PARAMETER_ARN`
+ Nilai: Amazon Resource Name (ARN) dari parameter yang sedang dienkripsi. 

Format konteks penyulitan adalah seperti berikut:

```
"PARAMETER_ARN":"arn:aws:ssm:region-id:account-id:parameter/parameter-name"
```

Misalnya, Parameter Store sertakan konteks enkripsi ini dalam panggilan untuk mengenkripsi dan mendekripsi `MyParameter` parameter dalam contoh Akun AWS dan wilayah.

```
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter"
```

Jika parameter berada di jalur Parameter Store hierarkis, jalur dan nama disertakan dalam konteks enkripsi. Misalnya, konteks enkripsi ini digunakan saat mengenkripsi dan mendekripsi `MyParameter` parameter di `/ReadableParameters` jalur dalam contoh dan wilayah. Akun AWS 

```
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/ReadableParameters/MyParameter"
```

Anda dapat mendekripsi nilai `SecureString` parameter terenkripsi dengan memanggil AWS KMS `Decrypt` operasi dengan konteks enkripsi yang benar dan nilai parameter terenkripsi yang dikembalikan oleh operasi Systems Manager. `GetParameter` Namun, kami mendorong Anda untuk mendekripsi nilai Parameter Store parameter dengan menggunakan `GetParameter` operasi dengan parameter. `WithDecryption` 

Anda juga dapat menyertakan konteks enkripsi dalam kebijakan IAM. Misalnya, Anda dapat mengizinkan pengguna untuk mendekripsi hanya satu nilai parameter tertentu atau set nilai parameter.

Contoh berikut pernyataan kebijakan IAM memungkinkan pengguna untuk mendapatkan nilai `MyParameter` parameter dan untuk mendekripsi nilainya menggunakan kunci KMS tertentu. Namun izin hanya berlaku ketika konteks enkripsi cocok dengan string tertentu. Izin ini tidak berlaku untuk parameter lain atau kunci KMS, dan panggilan `GetParameter` gagal jika konteks enkripsi tidak cocok dengan string.

Sebelum menggunakan pernyataan kebijakan seperti ini, ganti *example ARNs* dengan nilai yang valid.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:PARAMETER_ARN":"arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter"
                }
            }
        }
    ]
}
```

------

## Memecahkan masalah utama KMS di Parameter Store
<a name="parameter-store-kms-cmk-troubleshooting"></a>

Untuk melakukan operasi apa pun pada `SecureString` parameter, Parameter Store harus dapat menggunakan kunci AWS KMS KMS yang Anda tentukan untuk operasi yang dimaksud. Sebagian besar Parameter Store kegagalan yang terkait dengan kunci KMS disebabkan oleh masalah berikut:
+ Kredensyal yang digunakan aplikasi tidak memiliki izin untuk melakukan tindakan yang ditentukan pada kunci KMS. 

  Untuk memperbaiki kesalahan ini, jalankan aplikasi dengan kredensial yang berbeda atau merevisi IAM atau kebijakan kunci yang mencegah operasi. *Untuk bantuan terkait AWS KMS IAM dan kebijakan utama, lihat [akses kunci KMS dan izin](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) di Panduan Pengembang AWS Key Management Service .*
+ Kunci KMS tidak ditemukan. 

  Ini biasanya terjadi ketika Anda menggunakan pengenal yang salah untuk kunci KMS. [Temukan pengidentifikasi yang benar](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) untuk kunci KMS dan coba perintahnya lagi. 
+ Kunci KMS tidak diaktifkan. Ketika ini terjadi, Parameter Store mengembalikan InvalidKeyIdpengecualian dengan pesan kesalahan rinci dari AWS KMS. Jika status kunci KMS adalah`Disabled`, [aktifkan](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html). Jika status `Pending Import`, selesaikan [prosedur impor](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html). Jika status kuncinya`Pending Deletion`, [batalkan penghapusan kunci](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-scheduling-key-deletion.html) atau gunakan kunci KMS yang berbeda.

  Untuk menemukan [status kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) dari kunci KMS, gunakan [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operasi. 

# Gunakan Parameter Store parameter di Amazon Elastic Kubernetes Service
<a name="integrate_eks"></a>

Untuk menampilkan parameter dariParameter Store, alat AWS Systems Manager, sebagai file yang dipasang di Amazon EKS Pods, Anda dapat menggunakan AWS Secrets and Configuration Provider untuk Kubernetes Secrets Store CSI Driver. ASCP bekerja dengan Amazon Elastic Kubernetes Service 1.17\$1 yang menjalankan grup node Amazon. EC2 AWS Fargate grup node tidak didukung. 

Dengan ASCP, Anda dapat menyimpan dan mengelola parameter Anda Parameter Store dan kemudian mengambilnya melalui beban kerja yang berjalan di Amazon EKS. Jika parameter Anda berisi beberapa pasangan nilai kunci dalam format JSON, Anda dapat memilih mana yang akan dipasang di Amazon EKS. ASCP menggunakan JMESPath sintaks untuk menanyakan pasangan kunci-nilai dalam rahasia Anda. ASCP juga bekerja dengan AWS Secrets Manager rahasia.

ASCP menawarkan dua metode otentikasi dengan Amazon EKS Pendekatan pertama menggunakan Peran IAM untuk Akun Layanan (IRSA). Pendekatan kedua menggunakan Pod Identities. Setiap pendekatan memiliki manfaat dan kasus penggunaannya.

## ASCP dengan Peran IAM untuk Akun Layanan (IRSA)
<a name="csi_driver_overview"></a>

ASCP dengan IAM Roles for Service Accounts (IRSA) memungkinkan Anda memasang parameter dari file Parameter Store as di Pod Amazon EKS Anda. Pendekatan ini cocok ketika:
+ Anda perlu me-mount parameter sebagai file di Pod Anda.
+ Anda menggunakan Amazon EKS versi 1.17 atau yang lebih baru dengan grup EC2 node Amazon.
+ Anda ingin mengambil pasangan nilai kunci tertentu dari parameter berformat JSON.

Untuk informasi selengkapnya, lihat [Gunakan AWS Rahasia dan Penyedia Konfigurasi CSI dengan Peran IAM untuk Akun Layanan (IRSA)](integrating_ascp_irsa.md).

## ASCP dengan Identitas Pod
<a name="pod_identity_overview"></a>

Metode ASCP dengan Pod Identity meningkatkan keamanan dan menyederhanakan konfigurasi untuk mengakses parameter di dalamnya. Parameter Store Pendekatan ini bermanfaat ketika:
+ Anda memerlukan manajemen izin yang lebih terperinci di tingkat Pod.
+ Anda menggunakan Amazon EKS versi 1.24 atau yang lebih baru.
+ Anda ingin meningkatkan kinerja dan skalabilitas.

Untuk informasi selengkapnya, lihat [Gunakan CSI Penyedia AWS Rahasia dan Konfigurasi dengan Pod Identity untuk Amazon EKS](ascp-pod-identity-integration.md).

## Memilih pendekatan yang tepat
<a name="comparison"></a>

Pertimbangkan faktor-faktor berikut ketika memutuskan antara ASCP dengan IRSA dan ASCP dengan Pod Identity:
+ Amazon EKSversion: Pod Identity membutuhkan Amazon EKS 1.24\$1, sedangkan driver CSI bekerja dengan Amazon EKS 1.17\$1.
+ Persyaratan keamanan: Pod Identity menawarkan kontrol yang lebih terperinci pada level Pod.
+ Kinerja: Pod Identity umumnya berkinerja lebih baik di lingkungan skala tinggi.
+ Kompleksitas: Pod Identity menyederhanakan penyiapan dengan menghilangkan kebutuhan akan akun layanan terpisah.

Pilih metode yang paling sesuai dengan kebutuhan spesifik Anda dan lingkungan Amazon EKS.

# Instal ASCP untuk Amazon EKS
<a name="ascp-eks-installation"></a>

Bagian ini menjelaskan cara menginstal Penyedia AWS Rahasia dan Konfigurasi untuk Amazon EKS. Dengan ASCP, Anda dapat memasang parameter dari Parameter Store dan rahasia dari AWS Secrets Manager sebagai file di Amazon EKS Pod.

## Prasyarat
<a name="prerequisites"></a>
+ Klaster Amazon EKS
  + Versi 1.24 atau yang lebih baru untuk Pod Identity
  + Versi 1.17 atau yang lebih baru untuk IRSA
+ Yang AWS CLI diinstal dan dikonfigurasi
+ kubectl diinstal dan dikonfigurasi untuk klaster Amazon EKS Anda
+ Helm (versi 3.0 atau yang lebih baru)

## Instal dan konfigurasikan ASCP
<a name="integrating_csi_driver_install"></a>

ASCP tersedia GitHub di repositori [secrets-store-csi-provider-aws](https://github.com/aws/secrets-store-csi-driver-provider-aws). Repo juga berisi contoh file YAMM untuk membuat dan memasang rahasia dengan mengubah `objectType` nilai dari `secretsmanager` ke. `ssmparameter` 

Selama instalasi, Anda dapat mengkonfigurasi ASCP untuk menggunakan titik akhir FIPS. Untuk daftar titik akhir Systems Manager, lihat [titik akhir layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) di bagian. *Referensi Umum Amazon Web Services*

**Untuk menginstal ASCP dengan menggunakan Helm**

1. Untuk memastikan repo menunjuk ke grafik terbaru, gunakan `helm repo update.`

1. Tambahkan bagan Driver CSI Secrets Store. 

   ```
   helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
   ```

1. Instal bagan. Untuk mengonfigurasi pelambatan, tambahkan tanda berikut: `--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'`

   ```
   helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
   ```

1. Tambahkan bagan ASCP.

   ```
   helm repo add aws-secrets-manager https://aws.github.io/secrets-store-csi-driver-provider-aws
   ```

1. Instal bagan. Untuk menggunakan endpoint FIPS, tambahkan tanda berikut: `--set useFipsEndpoint=true`

   ```
   helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
   ```

**Untuk menginstal dengan menggunakan YAMAL di repo**
+ Gunakan perintah berikut.

  ```
  helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
  helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
  kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/deployment/aws-provider-installer.yaml
  ```

## Verifikasi instalasi
<a name="verify-ascp-installations"></a>

Untuk memverifikasi instalasi kluster EKS Anda, driver Secrets Store CSI, dan plugin ASCP, ikuti langkah-langkah berikut:

1. Verifikasi kluster EKS:

   ```
   eksctl get cluster --name clusterName
   ```

   Perintah ini harus mengembalikan informasi tentang cluster Anda.

1. Verifikasi instalasi driver Secrets Store CSI:

   ```
   kubectl get pods -n kube-system -l app=secrets-store-csi-driver
   ```

   Anda akan melihat Pod berjalan dengan nama seperti`csi-secrets-store-secrets-store-csi-driver-xxx`.

1. Verifikasi instalasi plugin ASCP:

------
#### [ YAML installation ]

   ```
   $ kubectl get pods -n kube-system -l app=csi-secrets-store-provider-aws
   ```

   Contoh output:

   ```
   NAME                                     READY   STATUS    RESTARTS   AGE
   csi-secrets-store-provider-aws-12345      1/1     Running   0          2m
   ```

------
#### [ Helm installation ]

   ```
   $  kubectl get pods -n kube-system -l app=secrets-store-csi-driver-provider-aws
   ```

   Contoh output:

   ```
   NAME                                              READY   STATUS    RESTARTS   AGE
   secrets-provider-aws-secrets-store-csi-driver-provider-67890       1/1     Running   0          2m
   ```

------

   Anda akan melihat Pod di `Running` negara bagian.

Setelah menjalankan perintah ini, jika semuanya diatur dengan benar, Anda akan melihat semua komponen berjalan tanpa kesalahan. Jika mengalami masalah apa pun, Anda mungkin perlu memecahkan masalah dengan memeriksa log Pod tertentu yang mengalami masalah.

## Pemecahan masalah
<a name="troubleshooting"></a>

1. Untuk memeriksa log penyedia ASCP, jalankan:

   ```
   kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws
   ```

1. Periksa status semua pod di `kube-system` namespace.

   Ganti *default placeholder text* dengan ID pod Anda sendiri:

   ```
   kubectl -n kube-system get pods
   ```

   ```
   kubectl -n kube-system logs pod/pod-id
   ```

   Semua Pod yang terkait dengan driver CSI dan ASCP harus berada dalam status 'Berjalan'.

1. Periksa versi driver CSI:

   ```
   kubectl get csidriver secrets-store.csi.k8s.io -o yaml
   ```

   Perintah ini harus mengembalikan informasi tentang driver CSI yang diinstal.

## Sumber daya tambahan
<a name="additional-resources"></a>

Untuk informasi selengkapnya tentang penggunaan ASCP dengan Amazon EKS, lihat sumber daya berikut:
+ [Menggunakan Identitas Pod dengan Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI Driver di GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)

# Gunakan CSI Penyedia AWS Rahasia dan Konfigurasi dengan Pod Identity untuk Amazon EKS
<a name="ascp-pod-identity-integration"></a>

Integrasi AWS Secrets and Configuration Provider dengan Pod Identity Agent untuk Amazon Elastic Kubernetes Service memberikan peningkatan keamanan, konfigurasi yang disederhanakan, dan peningkatan kinerja untuk aplikasi yang berjalan di Amazon EKS. Pod Identity menyederhanakan autentikasi AWS Identity and Access Management (IAM) untuk Amazon EKS saat mengambil parameter dari AWS Systems Manager Parameter Store atau rahasia dari Secrets Manager.

Amazon EKS Pod Identity merampingkan proses konfigurasi izin IAM untuk aplikasi Kubernetes dengan memungkinkan izin diatur secara langsung melalui antarmuka Amazon EKS, mengurangi jumlah langkah dan menghilangkan kebutuhan untuk beralih antara Amazon EKS dan layanan IAM. Pod Identity memungkinkan penggunaan peran IAM tunggal di beberapa cluster tanpa memperbarui kebijakan kepercayaan dan mendukung [tag sesi peran](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags) untuk kontrol akses yang lebih terperinci. Pendekatan ini tidak hanya menyederhanakan manajemen kebijakan dengan mengizinkan penggunaan kembali kebijakan izin di seluruh peran tetapi juga meningkatkan keamanan dengan mengaktifkan akses ke AWS sumber daya berdasarkan tag yang cocok.

## Cara kerjanya
<a name="how-it-works"></a>

1. Pod Identity memberikan peran IAM ke Pod.

1. ASCP menggunakan peran ini untuk mengautentikasi dengan. Layanan AWS

1. Jika diotorisasi, ASCP mengambil parameter yang diminta dan membuatnya tersedia untuk Pod.

Untuk informasi selengkapnya, lihat [Memahami cara kerja Identitas Pod Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-how-it-works.html) di *Panduan Pengguna Amazon EKS*.

## Prasyarat
<a name="prerequisites"></a>

**penting**  
Pod Identity hanya didukung untuk Amazon EKS di cloud. Ini tidak didukung untuk [Amazon EKS Anywhere](https://aws.amazon.com/eks/eks-anywhere/), [Layanan OpenShift Red Hat di AWS](https://aws.amazon.com/rosa/), atau cluster Kubernetes yang dikelola sendiri di instans Amazon EC2.
+ Cluster Amazon EKS (versi 1.24 atau yang lebih baru)
+ Akses ke AWS CLI dan Amazon EKS cluster melalui `kubectl`
+ (Opsional) Akses ke dua Akun AWS untuk akses lintas akun

## Instal Agen Identitas Pod Amazon EKS
<a name="install-pod-identity-agent"></a>

Untuk menggunakan Pod Identity dengan klaster Anda, Anda harus menginstal add-on Amazon EKS Pod Identity Agent.

**Untuk menginstal Agen Identitas Pod**
+ Instal add-on Pod Identity Agent di klaster Anda.

  Ganti *default placeholder text * dengan nilai Anda sendiri:

  ```
  eksctl create addon \
    --name eks-pod-identity-agent \
    --cluster clusterName \
    --region region
  ```

## Mengatur ASCP dengan Pod Identity
<a name="pod-identity-setup"></a>

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` mengizinkan parameter yang perlu diakses oleh Pod. 

1. Buat peran IAM yang dapat diasumsikan oleh prinsipal layanan Amazon EKS untuk Pod Identity:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Service": "pods.eks.amazonaws.com"
           },
           "Action": [
             "sts:AssumeRole",
             "sts:TagSession"
           ]
         }
       ]
     }
   ```

------

   Lampirkan kebijakan IAM ke peran tersebut.

   Ganti *default placeholder text * dengan nilai Anda sendiri:

   ```
   aws iam attach-role-policy \
     --role-name MY_ROLE \
     --policy-arn POLICY_ARN
   ```

1. Buat asosiasi Pod Identity. Sebagai contoh, lihat [Membuat asosiasi Identitas Pod](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create) di *Panduan Pengguna Amazon EKS*

1. Buat `SecretProviderClass` yang menentukan parameter atau rahasia mana yang akan dipasang di Pod:

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
   ```

   Perbedaan utama `SecretProviderClass` antara IRSA dan Pod Identity adalah parameter `usePodIdentity` opsional. Ini adalah bidang opsional yang menentukan pendekatan otentikasi. Ketika tidak ditentukan, default menggunakan Peran IAM untuk Akun Layanan (IRSA).
   + Untuk menggunakan EKS Pod Identity, gunakan salah satu dari nilai-nilai ini:`"true", "True", "TRUE", "t", "T"`.
   + Untuk secara eksplisit menggunakan IRSA, atur ke salah satu nilai ini:. `"false", "False", "FALSE", "f", or "F"`

1. Menerapkan Pod yang memasang parameter atau rahasia di bawah: `/mnt/secrets-store`

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
   ```

1. Jika Anda menggunakan kluster Amazon EKS pribadi, pastikan VPC tempat cluster berada memiliki AWS STS titik akhir. *Untuk informasi tentang membuat titik akhir, lihat Titik akhir [VPC Antarmuka](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) di AWS Identity and Access Management Panduan Pengguna.*

### Verifikasi pemasangan rahasia
<a name="verify-secret-mount"></a>

Untuk memverifikasi bahwa parameter atau rahasia dipasang dengan benar, jalankan perintah berikut.

Ganti *default placeholder text * dengan nilai Anda sendiri:

```
kubectl exec -it $(kubectl get pods | awk '/pod-identity-deployment/{print $1}' | head -1) -- cat /mnt/secrets-store/MyParameter
```

**Untuk mengatur Amazon EKS Pod Identity untuk mengakses parameter di Parameter Store**

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` mengizinkan parameter yang perlu diakses oleh Pod. 

1. Buat parameter diParameter Store, jika Anda belum memilikinya. Untuk informasi, lihat [Membuat Parameter Store parameter di Systems Manager](sysman-paramstore-su-create.md).

## Pemecahan Masalah
<a name="integrating_aspc_pod_trouble"></a>

Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod.

**Untuk melihat pesan kesalahan untuk penampung Anda**

1. Dapatkan daftar nama Pod dengan perintah berikut. Jika Anda tidak menggunakan namespace default, gunakan. `-n namespace`

   ```
   kubectl get pods
   ```

1. Untuk mendeskripsikan Pod, dalam perintah berikut, *pod-id* gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan. `-n NAMESPACE`

   ```
   kubectl describe pod/pod-id
   ```

**Untuk melihat kesalahan untuk ASCP**
+ Untuk menemukan informasi selengkapnya di log penyedia, dalam perintah berikut, *PODID* gunakan ID Pod *csi-secrets-store-provider-aws*.

  ```
  kubectl -n kube-system get pods
  kubectl -n kube-system logs pod/pod-id
  ```

# Gunakan AWS Rahasia dan Penyedia Konfigurasi CSI dengan Peran IAM untuk Akun Layanan (IRSA)
<a name="integrating_ascp_irsa"></a>

**Topics**
+ [Prasyarat](#prerequisites)
+ [Mengatur kontrol akses](#integrating_ascp_irsa_access)
+ [Identifikasi parameter mana yang akan dipasang](#integrating_ascp_irsa_mount)
+ [Pemecahan Masalah](#integrating_ascp_irsa_trouble)

## Prasyarat
<a name="prerequisites"></a>
+ Cluster Amazon EKS (versi 1.17 atau yang lebih baru)
+ Akses ke AWS CLI dan Amazon EKS cluster melalui `kubectl`

## Mengatur kontrol akses
<a name="integrating_ascp_irsa_access"></a>

ASCP mengambil Amazon EKS Pod Identity dan menukarnya dengan peran IAM. Anda menetapkan izin dalam kebijakan IAM untuk peran IAM tersebut. Ketika ASCP mengasumsikan peran IAM, ia mendapat akses ke parameter yang Anda otorisasi. Kontainer lain tidak dapat mengakses parameter kecuali Anda juga mengaitkannya dengan peran IAM. 

**Untuk memberikan Amazon EKS Pod akses ke parameter di Parameter Store**

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` izin untuk parameter yang dibutuhkan Pod untuk mengakses. 

1. Buat penyedia OpenID Connect (OIDC) IAM untuk cluster jika Anda belum memilikinya. Untuk informasi selengkapnya, lihat [Membuat penyedia IAM OIDC untuk klaster Anda di Panduan](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) Pengguna *Amazon EKS*.

1. Buat [peran IAM untuk akun layanan](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) dan lampirkan kebijakan ke dalamnya. Untuk informasi selengkapnya, lihat [Membuat peran IAM untuk akun layanan](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) di *Panduan Pengguna Amazon EKS*.

1. Jika Anda menggunakan kluster Amazon EKS pribadi, pastikan VPC tempat cluster berada memiliki AWS STS titik akhir. *Untuk informasi tentang membuat titik akhir, lihat Titik akhir [VPC Antarmuka](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) di AWS Identity and Access Management Panduan Pengguna.*

## Identifikasi parameter mana yang akan dipasang
<a name="integrating_ascp_irsa_mount"></a>

Untuk menentukan parameter mana yang dipasang ASCP di Amazon EKS sebagai file di sistem file, Anda membuat file YAMAL. [SecretProviderClass](ascp-examples.md#ascp-examples-secretproviderclass) `SecretProviderClass`Daftar parameter untuk me-mount dan nama file untuk me-mount mereka sebagai. `SecretProviderClass`Harus berada di namespace yang sama dengan Amazon EKS Pod yang direferensikannya.

### Pasang parameter sebagai file
<a name="mount-secrets"></a>

[Petunjuk berikut menunjukkan cara me-mount parameter sebagai file menggunakan contoh file YAML.yaml [ExampleSecretProviderClassdan.yaml](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleSecretProviderClass-IRSA.yaml). ExampleDeployment](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleDeployment-IRSA.yaml)

**Untuk memasang parameter di Amazon EKS**

1. Terapkan `SecretProviderClass` ke Pod:

   ```
   kubectl apply -f ExampleSecretProviderClass.yaml
   ```

1. Menerapkan Pod Anda:

   ```
   kubectl apply -f ExampleDeployment.yaml
   ```

1. ASCP memasang file.

## Pemecahan Masalah
<a name="integrating_ascp_irsa_trouble"></a>

Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod. 

**Untuk melihat pesan galat untuk penampung Anda**

1. Dapatkan daftar nama Pod dengan perintah berikut. Jika Anda tidak menggunakan namespace default, gunakan. `-n name-space`

   ```
   kubectl get pods
   ```

1. Untuk mendeskripsikan Pod, dalam perintah berikut, *pod-id* gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan. `-n nameSpace`

   ```
   kubectl describe pod/pod-id
   ```

**Untuk melihat kesalahan untuk ASCP**
+ Untuk menemukan informasi selengkapnya di log penyedia, dalam perintah berikut, *pod-id* gunakan ID Pod *csi-secrets-store-provider-aws*.

  ```
  kubectl -n kube-system get pods
  kubectl -n kube-system logs Pod/pod-id
  ```
+ 

**Verifikasi bahwa `SecretProviderClass` CRD diinstal:**

  ```
  kubectl get crd secretproviderclasses.secrets-store.csi.x-k8s.io
  ```

  Perintah ini harus mengembalikan informasi tentang definisi sumber daya `SecretProviderClass` khusus.
+ 

**Verifikasi bahwa SecretProviderClass objek telah dibuat.**

  ```
  kubectl get secretproviderclass SecretProviderClassName -o yaml
  ```

# AWS Contoh kode Penyedia Rahasia dan Konfigurasi
<a name="ascp-examples"></a>

## Contoh otentikasi ASCP dan kontrol akses
<a name="ascp-auth-access-examples"></a>

### Contoh: Kebijakan IAM yang mengizinkan layanan Amazon EKS Pod Identity (pods.eks.amazonaws.com) untuk mengambil peran dan menandai sesi:
<a name="ascp-auth-access-example-1"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
```

------

## SecretProviderClass
<a name="ascp-examples-secretproviderclass"></a>

Anda menggunakan YAMAL untuk menjelaskan parameter mana yang akan dipasang di Amazon EKS menggunakan ASCP. Sebagai contoh, lihat [SecretProviderClass penggunaan](#ascp-scenarios-secretproviderclass).

### SecretProviderClass Struktur YAMAL
<a name="ascp-examples-secretproviderclass-1"></a>

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
   name: name
spec:
  provider: aws
  parameters:
    region:
    failoverRegion:
    pathTranslation:
    usePodIdentity:
    preferredAddressType:
    objects:
```

Bidang parameter berisi rincian permintaan pemasangan:

**region**  
(Opsional) Parameter. Wilayah AWS Jika Anda tidak menggunakan bidang ini, ASCP mencari Region dari anotasi pada node. Pencarian ini menambahkan overhead ke permintaan mount, jadi sebaiknya Anda menyediakan Region untuk klaster yang menggunakan Pod dalam jumlah besar.  
Jika Anda juga menentukan`failoverRegion`, ASCP mencoba untuk mengambil parameter dari kedua Wilayah. Jika salah satu Wilayah mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari `region```, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari`region`, tetapi berhasil diambil dari`failoverRegion`, maka ASCP memasang nilai parameter tersebut.

**`failoverRegion`**  
(Opsional) Jika Anda menyertakan bidang ini, ASCP mencoba mengambil parameter dari Wilayah yang ditentukan dalam `region` dan bidang ini. Jika salah satu Wilayah mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari`region`, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari`region`, tetapi berhasil diambil dari`failoverRegion`, maka ASCP memasang nilai parameter tersebut. Untuk contoh cara menggunakan bidang ini, lihat[Failover parameter Multi-Wilayah](#multi-region-failover).

**PathTranslation**  
(Opsional) Karakter substitusi tunggal untuk digunakan jika nama file di Amazon EKS akan berisi karakter pemisah jalur, seperti garis miring (/) di Linux. ASCP tidak dapat membuat file yang dipasang yang berisi karakter pemisah jalur. Sebagai gantinya, ASCP menggantikan karakter pemisah jalur dengan karakter yang berbeda. Jika Anda tidak menggunakan bidang ini, karakter pengganti adalah garis bawah (\$1), jadi misalnya, `My/Path/Parameter` dipasang sebagai. `My_Path_Parameter`   
Untuk mencegah substitusi karakter, masukkan string`False`.

***usePodIdentity***  
(Opsional) Menentukan pendekatan otentikasi. Ketika tidak ditentukan, default ke IAM Roles for Service Accounts (IRSA) (IRSA).  
+ Untuk menggunakan EKS Pod Identity, gunakan salah satu nilai berikut: `"true"` “`"True"`,`"TRUE"`,`"t"`,, atau`"T"`.
+ Untuk secara eksplisit menggunakan IRSA, atur ke salah satu nilai ini:`"false"`,,, `"False"` `"FALSE"``"f"`, atau `"F"` “=.

***preferredAddressType***  
(Opsional) Menentukan jenis alamat IP yang disukai untuk komunikasi endpoint Pod Identity Agent. Bidang ini hanya berlaku ketika menggunakan fitur EKS Pod Identity dan akan diabaikan saat menggunakan Peran IAM untuk Akun Layanan. Nilai tidak peka huruf besar/kecil. Nilai yang valid adalah:  
+ `"ipv4"`, `"IPv4"` “, atau `"IPV4"` — Paksa penggunaan titik IPv4 akhir Pod Identity Agent
+ `"ipv6"`,`"IPv6"`, atau `"IPV6"` — Paksa penggunaan titik IPv6 akhir Pod Identity Agent
+ tidak ditentukan - Gunakan pemilihan titik akhir otomatis, coba IPv4 titik akhir terlebih dahulu dan kembali ke titik IPv6 akhir jika gagal IPv4 

**objek**  
String yang berisi deklarasi YAMAL tentang rahasia yang akan dipasang. Sebaiknya gunakan karakter string atau pipe (\$1) multi-line YAMAL.    
**objectName**  
Wajib. Menentukan nama parameter atau rahasia yang akan diambil. UntukParameter Store, ini adalah [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters)parameter dan dapat berupa nama atau ARN lengkap dari parameter. Untuk Secrets Manager ini adalah [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters)parameter dan dapat berupa nama ramah atau ARN lengkap rahasia.   
**objectType**  
Diperlukan jika Anda tidak menggunakan Secrets Manager ARN untuk. `objectName` UntukParameter Store, gunakan`ssmparameter`. Untuk Secrets Manager, gunakan`secretsmanager`.   
**Objectalias**  
(Opsional) Nama file rahasia di Amazon EKS Pod. Jika Anda tidak menentukan bidang ini, `objectName` muncul sebagai nama file.  
**ObjectVersion**  
(Opsional) ID versi parameter. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui parameter. Secara default versi terbaru digunakan. Jika Anda menyertakan a`failoverRegion`, bidang ini mewakili primer`objectVersion`.  
**objectVersionLabel**  
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru`AWSCURRENT`. Jika Anda menyertakan a`failoverRegion`, bidang ini mewakili primer`objectVersionLabel`.  
**JMESPath**  
(Opsional) Peta kunci dalam parameter ke file yang akan dipasang di Amazon EKS. Untuk menggunakan bidang ini, nilai parameter Anda harus dalam format JSON.   
Contoh berikut menunjukkan seperti apa parameter yang dikodekan JSON.  

```
{
    "username" : "myusername",
    "password" : "mypassword"
}
```
Kuncinya adalah `username` dan`password`. Nilai yang terkait dengan `username` is`myusername`, dan nilai yang terkait dengannya `password` adalah`mypassword`.  
Jika Anda menggunakan bidang ini, Anda harus menyertakan subbidang `path` dan`objectAlias`.    
**path**  
Kunci dari pasangan kunci-nilai di JSON dari nilai parameter. Jika bidang berisi tanda hubung, gunakan tanda kutip tunggal untuk menghindarinya, misalnya: `path: '"hyphenated-path"'`  
**Objectalias**  
Nama file yang akan dipasang di Amazon EKS Pod. Jika bidang berisi tanda hubung, gunakan tanda kutip tunggal untuk menghindarinya, misalnya: `objectAlias: '"hyphenated-alias"'`  
**`failoverObject`**  
(Opsional) Jika Anda menentukan bidang ini, ASCP mencoba untuk mengambil kedua parameter yang ditentukan dalam primer `objectName` dan parameter yang ditentukan dalam sub-bidang. `failoverObject` `objectName` Jika salah satu mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari primer`objectName`, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari primer`objectName`, tetapi berhasil diambil dari failover`objectName`, maka ASCP memasang nilai parameter tersebut. Jika Anda menyertakan bidang ini, Anda harus menyertakan bidang tersebut`objectAlias`. Untuk contoh cara menggunakan bidang ini, lihat[Failover ke parameter yang berbeda](#failover-parameter).  
Anda biasanya menggunakan bidang ini ketika parameter failover bukan replika. Untuk contoh cara menentukan replika, lihat[Failover parameter Multi-Wilayah](#multi-region-failover).    
**objectName**  
Nama atau ARN lengkap dari parameter failover. Jika Anda menggunakan ARN, Wilayah di ARN harus cocok dengan bidang. `failoverRegion`  
**ObjectVersion**  
(Opsional) ID versi parameter. Harus cocok dengan yang utama`objectVersion`. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui parameter. Secara default versi terbaru digunakan.   
**objectVersionLabel**  
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru`AWSCURRENT`.

### Buat SecretProviderClass konfigurasi dasar untuk me-mount parameter di Pod Amazon EKS Anda.
<a name="create-SecretProviderClass-config"></a>

------
#### [ Pod Identity ]

SecretProviderClass untuk menggunakan parameter di cluster Amazon EKS yang sama:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameter-store
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "MyParameter"
        objectType: "ssmparameter"
    usePodIdentity: "true"
```

------
#### [ IRSA ]

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: deployment-aws-parameter
spec:
  provider: aws
  parameters:
    objects: |
        - objectName: "MyParameter"
          objectType: "ssmparameter"
```

------

### SecretProviderClass penggunaan
<a name="ascp-scenarios-secretproviderclass"></a>

Gunakan contoh ini untuk membuat `SecretProviderClass` konfigurasi untuk skenario yang berbeda.

#### Contoh: Pasang parameter dengan nama atau ARN
<a name="mount-by-name-arn"></a>

Contoh ini menunjukkan cara memasang tiga jenis parameter yang berbeda:
+ Parameter yang ditentukan oleh ARN penuh
+ Parameter yang ditentukan oleh nama
+ Versi parameter rahasia

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6"
      - objectName: "MyParameter3"
        objectType: "ssmparameter"
      - objectName: "MyParameter4"
        objectType: "ssmparameter"
        objectVersionLabel: "AWSCURRENT"
```

#### Contoh: Pasang pasangan nilai kunci dari parameter
<a name="mount-key-value-pairs"></a>

Contoh ini menunjukkan cara memasang pasangan nilai kunci tertentu dari parameter berformat JSON:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3"
        jmesPath: 
            - path: username
              objectAlias: dbusername
            - path: password
              objectAlias: dbpassword
```

#### Contoh: Contoh konfigurasi Failover
<a name="failover-examples"></a>

Contoh-contoh ini menunjukkan cara mengkonfigurasi failover untuk parameter.

##### Failover parameter Multi-Wilayah
<a name="multi-region-failover"></a>

Contoh ini menunjukkan cara mengonfigurasi failover otomatis untuk parameter yang direplikasi di beberapa Wilayah:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "MyParameter"
```

##### Failover ke parameter yang berbeda
<a name="failover-parameter"></a>

Contoh ini menunjukkan cara mengonfigurasi failover ke parameter yang berbeda (bukan replika):

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3"
        objectAlias: "MyMountedParameter"
        failoverObject: 
          - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
```

## Sumber daya tambahan
<a name="additional-resources"></a>

Untuk informasi selengkapnya tentang penggunaan ASCP dengan Amazon EKS, lihat sumber daya berikut:
+ [Menggunakan Pod Identity dengan Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI Driver di GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)

# Menggunakan Parameter Store parameter dalam AWS Lambda fungsi
<a name="ps-integration-lambda-extensions"></a>

Parameter Store, alat di AWS Systems Manager, menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia. Anda dapat menyimpan data seperti kata sandi, string database, Amazon Machine Image (AMI) IDs, dan kode lisensi sebagai nilai parameter. 

Untuk menggunakan parameter dari Parameter Store dalam AWS Lambda fungsi tanpa menggunakan SDK, Anda dapat menggunakan AWS Parameter dan Rahasia Ekstensi Lambda. Ekstensi ini mengambil nilai parameter dan menyimpannya di cache untuk penggunaan di masa mendatang. Menggunakan ekstensi Lambda dapat mengurangi biaya Anda dengan mengurangi jumlah panggilan API ke. Parameter Store Menggunakan ekstensi juga dapat meningkatkan latensi karena mengambil parameter yang di-cache lebih cepat daripada mengambilnya. Parameter Store 

Ekstensi Lambda adalah proses pendamping yang menambah kemampuan fungsi Lambda. Ekstensi seperti klien yang berjalan secara paralel dengan pemanggilan Lambda. Klien paralel ini dapat berinteraksi dengan fungsi Anda kapan saja selama siklus hidupnya. *Untuk informasi selengkapnya tentang ekstensi Lambda, lihat [API Ekstensi Lambda di Panduan](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-extensions-api.html) Pengembang.AWS Lambda *

 AWS Parameter dan Rahasia Lambda Extension berfungsi untuk keduanya danParameter Store. AWS Secrets Manager Untuk mempelajari cara menggunakan ekstensi Lambda dengan rahasia dari Secrets Manager, lihat [Menggunakan AWS Secrets Manager rahasia dalam AWS Lambda fungsi](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_lambda.html) di *AWS Secrets Manager Panduan Pengguna*. 

**Info terkait**

[Menggunakan ekstensi AWS Parameter dan Rahasia Lambda untuk parameter cache dan rahasia](https://aws.amazon.com/blogs/compute/using-the-aws-parameter-and-secrets-lambda-extension-to-cache-parameters-and-secrets/) (AWS Compute Blog)

## Cara kerja ekstensi
<a name="ps-integration-lambda-extensions-how-it-works"></a>

Untuk menggunakan parameter dalam fungsi Lambda *tanpa* ekstensi Lambda, Anda harus mengonfigurasi fungsi Lambda Anda untuk menerima pembaruan konfigurasi dengan mengintegrasikan dengan tindakan API untuk. `GetParameter` Parameter Store

Saat Anda menggunakan Ekstensi Lambda AWS Parameter dan Rahasia, ekstensi mengambil nilai parameter dari Parameter Store dan menyimpannya di cache lokal. Kemudian, nilai cache digunakan untuk pemanggilan lebih lanjut sampai kedaluwarsa. Nilai cache kedaluwarsa setelah lulus time-to-live (TTL). Anda dapat mengonfigurasi nilai TTL menggunakan [variabel `SSM_PARAMETER_STORE_TTL` lingkungan](#ps-integration-lambda-extensions-config), seperti yang dijelaskan nanti dalam topik ini.

Jika cache TTL yang dikonfigurasi belum kedaluwarsa, nilai parameter cache digunakan. Jika waktu telah kedaluwarsa, nilai cache tidak valid dan nilai parameter diambil dari. Parameter Store

Selain itu, sistem mendeteksi nilai parameter yang sering digunakan dan mempertahankannya di cache sambil membersihkan nilai yang kedaluwarsa atau tidak digunakan.

**penting**  
Ekstensi hanya dapat dipanggil pada `INVOKE` fase operasi Lambda dan tidak selama `INIT` fase.

### Detail implementasi
<a name="lambda-extension-details"></a>

Gunakan detail berikut untuk membantu Anda mengonfigurasi Ekstensi Lambda AWS Parameter dan Rahasia.

Autentikasi  
Untuk mengotorisasi dan mengautentikasi Parameter Store permintaan, ekstensi menggunakan kredensil yang sama seperti yang digunakan untuk menjalankan fungsi Lambda itu sendiri. Oleh karena itu, peran AWS Identity and Access Management (IAM) yang digunakan untuk menjalankan fungsi harus memiliki izin berikut untuk berinteraksi dengan: Parameter Store  
+ `ssm:GetParameter`— Diperlukan untuk mengambil parameter dari Parameter Store
+ `kms:Decrypt`— Diperlukan jika Anda mengambil `SecureString` parameter dari Parameter Store
Untuk informasi selengkapnya, lihat [peran AWS Lambda eksekusi](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) di *Panduan AWS Lambda Pengembang*.

Instantiasi  
Lambda membuat instance terpisah yang sesuai dengan tingkat konkurensi yang dibutuhkan fungsi Anda. Setiap instance diisolasi dan memelihara cache lokal sendiri dari data konfigurasi Anda. *Untuk informasi selengkapnya tentang instans dan konkurensi Lambda, lihat [Mengonfigurasi konkurensi cadangan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) di Panduan Pengembang.AWS Lambda *

Tidak ada ketergantungan SDK  
Ekstensi Lambda AWS Parameter dan Rahasia bekerja secara independen dari pustaka bahasa AWS SDK apa pun. AWS SDK tidak diperlukan untuk membuat permintaan GET keParameter Store.

Localhostpelabuhan  
Gunakan `localhost` dalam permintaan GET Anda. Ekstensi membuat permintaan ke localhost port 2773. Anda tidak perlu menentukan endpoint eksternal atau internal untuk menggunakan ekstensi. Anda dapat mengkonfigurasi port dengan mengatur [variabel lingkungan](#ps-integration-lambda-extensions-config)`PARAMETERS_SECRETS_EXTENSION_HTTP_PORT`.   
Misalnya, dengan Python, URL GET Anda mungkin terlihat seperti contoh berikut.  

```
parameter_url = ('http://localhost:' + port + '/systemsmanager/parameters/get/?name=' + ssm_parameter_path)
```

Perubahan nilai parameter sebelum TTL kedaluwarsa  
Ekstensi tidak mendeteksi perubahan pada nilai parameter dan tidak melakukan penyegaran otomatis sebelum TTL kedaluwarsa. Jika Anda mengubah nilai parameter, operasi yang menggunakan nilai parameter cache mungkin gagal hingga cache disegarkan berikutnya. Jika Anda mengharapkan perubahan yang sering terjadi pada nilai parameter, sebaiknya setel nilai TTL yang lebih pendek.

Persyaratan header  
Untuk mengambil parameter dari cache ekstensi, header permintaan GET Anda harus menyertakan `X-Aws-Parameters-Secrets-Token` referensi. Setel token ke`AWS_SESSION_TOKEN`, yang disediakan oleh Lambda untuk semua fungsi yang berjalan. Menggunakan header ini menunjukkan bahwa penelepon berada dalam lingkungan Lambda.

Contoh  
Contoh berikut di Python menunjukkan permintaan dasar untuk mengambil nilai parameter cache.  

```
import urllib.request
import os
import json

aws_session_token = os.environ.get('AWS_SESSION_TOKEN')

def lambda_handler(event, context):
    # Retrieve /my/parameter from Parameter Store using extension cache
    req = urllib.request.Request('http://localhost:2773/systemsmanager/parameters/get?name=%2Fmy%2Fparameter')
    req.add_header('X-Aws-Parameters-Secrets-Token', aws_session_token)
    config = urllib.request.urlopen(req).read()

    return json.loads(config)
```

Dukungan ARM  
Ekstensi mendukung arsitektur ARM di sebagian besar Wilayah AWS tempat x86 arsitektur x86\$164 dan didukung. Jika Anda menggunakan arsitektur ARM, kami sarankan Anda memverifikasi arsitektur Anda didukung. Untuk daftar lengkap ekstensi ARNs, lihat[AWS Parameter dan Rahasia Ekstensi Lambda ARNs](#ps-integration-lambda-extensions-add).

Pencatatan log  
Lambda mencatat informasi eksekusi tentang ekstensi beserta fungsinya dengan menggunakan Amazon CloudWatch Logs. Secara default, ekstensi mencatat jumlah minimal informasi ke CloudWatch. Untuk mencatat detail lebih lanjut, atur [variabel lingkungan](#ps-integration-lambda-extensions-config) `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` ke`DEBUG`.

### Menambahkan ekstensi ke fungsi Lambda
<a name="add-extension"></a>

Untuk menggunakan AWS Parameter dan Rahasia Lambda Extension, Anda menambahkan ekstensi ke fungsi Lambda Anda sebagai lapisan.

Gunakan salah satu metode berikut untuk menambahkan ekstensi ke fungsi Anda.

Konsol Manajemen AWS (Tambahkan opsi lapisan)  

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih fungsi Anda. Di area **Layers**, pilih **Add a layer**.

1. Di area **Pilih lapisan**, pilih opsi **AWS layer**.

1. **Untuk **AWS layer**, pilih **AWS-Parameters-and-Secrets-Lambda-Extension**, pilih versi, lalu pilih Tambah.**

Konsol Manajemen AWS (Tentukan opsi ARN)  

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih fungsi Anda. Di area **Layers**, pilih **Add a layer**.

1. Di area **Pilih lapisan**, pilih opsi **Tentukan ARN**.

1. **Untuk **Tentukan ARN**, masukkan [ARN ekstensi untuk arsitektur Wilayah AWS dan Anda](#ps-integration-lambda-extensions-add), lalu pilih Tambah.**

AWS Command Line Interface  
Jalankan perintah berikut di AWS CLI. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.  

```
aws lambda update-function-configuration \
    --function-name function-name \
    --layers layer-ARN
```

**Informasi terkait**

[Menggunakan layer dengan fungsi Lambda Anda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html)

[Mengkonfigurasi ekstensi (arsip file.zip)](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html#using-extensions-config)

## AWS Parameter dan Rahasia variabel lingkungan Ekstensi Lambda
<a name="ps-integration-lambda-extensions-config"></a>

Anda dapat mengonfigurasi ekstensi dengan mengubah variabel lingkungan berikut. Untuk melihat pengaturan saat ini, atur `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` ke`DEBUG`. Untuk informasi selengkapnya, lihat [Menggunakan variabel AWS Lambda lingkungan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) di *Panduan AWS Lambda Pengembang*. 

**catatan**  
AWS Lambda mencatat detail operasi tentang ekstensi Lambda dan fungsi Lambda di Amazon Logs. CloudWatch 


****  

| Variabel lingkungan | Detail | Dibutuhkan | Nilai valid | Nilai default | 
| --- | --- | --- | --- | --- | 
|  `SSM_PARAMETER_STORE_TIMEOUT_MILLIS`  |  Batas waktu, dalam milidetik, untuk permintaan ke. Parameter Store   Nilai 0 (nol) menunjukkan tidak ada batas waktu.  | Tidak | Semua bilangan bulat | 0 (nol) | 
|  `SECRETS_MANAGER_TIMEOUT_MILLIS`  |  Batas waktu, dalam milidetik, untuk permintaan ke Secrets Manager.   Nilai 0 (nol) menunjukkan tidak ada batas waktu.  | Tidak | Semua bilangan bulat |  0 (nol)  | 
|  `SSM_PARAMETER_STORE_TTL`  |  Masa pakai valid maksimum, dalam hitungan detik, dari parameter dalam cache sebelum tidak valid. Nilai 0 (nol) menunjukkan bahwa cache harus dilewati. Variabel ini diabaikan jika nilai untuk `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` adalah 0 (nol).  | Tidak | 0 (nol) ke 300 s (Lima menit) | 300 s (Lima menit) | 
|  `SECRETS_MANAGER_TTL`  |  Masa pakai valid maksimum, dalam hitungan detik, dari rahasia dalam cache sebelum tidak valid. Nilai 0 (nol) menunjukkan bahwa cache dilewati. Variabel ini diabaikan jika nilai untuk `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` adalah 0 (nol).   | Tidak | 0 (nol) ke 300 s (Lima menit) | 300 s (5 menit) | 
| `PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED` |  Menentukan apakah cache untuk ekstensi diaktifkan. Nilai nilai: `TRUE \| FALSE`  | Tidak | TRUE \$1 FALSE | BETUL | 
| `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` |  Ukuran maksimum cache dalam hal jumlah item. Nilai 0 (nol) menunjukkan bahwa cache dilewati. Variabel ini diabaikan jika kedua nilai cache TTL adalah 0 (nol).  | Tidak | 0 (nol) sampai 1000 |  1000  | 
| `PARAMETERS_SECRETS_EXTENSION_HTTP_PORT` | Port untuk server HTTP lokal. | Tidak | 1 - 65535 |  2773  | 
| `PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS` |  Jumlah maksimum koneksi untuk klien HTTP yang digunakan ekstensi untuk membuat permintaan Parameter Store atau Secrets Manager. Ini adalah konfigurasi per klien untuk jumlah koneksi yang dilakukan klien Secrets Manager dan Parameter Store klien ke layanan backend.  | Tidak | Minimal 1; Tidak ada batas maksimum. |  3  | 
| `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` |  Tingkat detail yang dilaporkan dalam log untuk ekstensi. Sebaiknya gunakan `DEBUG` untuk detail paling detail tentang konfigurasi cache Anda saat Anda mengatur dan menguji ekstensi.  Log untuk operasi Lambda secara otomatis didorong ke grup CloudWatch log Log terkait.  | Tidak |  `DEBUG \| WARN \| ERROR \| NONE \| INFO`  | `INFO` | 

## Contoh perintah untuk menggunakan AWS Systems ManagerParameter Store dan AWS Secrets Manager Ekstensi
<a name="ps-integration-lambda-extensions-sample-commands"></a>

Contoh di bagian ini menunjukkan tindakan API untuk digunakan dengan AWS Secrets Manager ekstensi AWS Systems Manager Parameter Store dan.

### Contoh perintah untuk Parameter Store
<a name="sample-commands-ps"></a>

Ekstensi Lambda menggunakan akses hanya-baca ke tindakan API. **GetParameter**

Untuk memanggil tindakan ini, buat panggilan HTTP GET mirip dengan yang berikut ini. Format perintah ini menyediakan akses ke parameter di tingkat parameter standar.

```
GET http://localhost:port/systemsmanager/parameters/get?name=parameter-name&version=version&label=label&withDecryption={true|false}
```

Dalam contoh ini, *parameter-name* mewakili nama parameter lengkap, seperti`MyParameter`, untuk parameter yang tidak dalam hierarki, atau `%2FDev%2FProduction%2FEast%2FProject-ABC%2FMyParameter` untuk parameter bernama `/Dev/Production/East/Project-ABC/MyParameter` yang merupakan bagian dari hierarki. 

**catatan**  
Saat menggunakan panggilan GET, nilai parameter harus dikodekan untuk HTTP untuk mempertahankan karakter khusus. Misalnya, alih-alih memformat jalur hierarkis seperti`/a/b/c`, encode karakter yang dapat ditafsirkan sebagai bagian dari URL, seperti. `%2Fa%2Fb%2Fc`

*version*dan *label* apakah penyeleksi tersedia untuk digunakan dengan `GetParameter` tindakan. 

```
GET http://localhost:port/systemsmanager/parameters/get/?name=MyParameter&version=5
```

Untuk memanggil parameter dalam hierarki, buat panggilan HTTP GET mirip dengan yang berikut ini.

```
GET http://localhost:port/systemsmanager/parameters/get?name=%2Fa%2Fb%2F&label=release
```

Untuk memanggil parameter publik (global), buat panggilan HTTP GET mirip dengan yang berikut ini.

```
GET http://localhost:port/systemsmanager/parameters/get/?name=%2Faws%2Fservice%20list%2F…
```

Untuk membuat panggilan HTTP GET ke rahasia Secrets Manager dengan menggunakan Parameter Store referensi, buat panggilan HTTP GET mirip dengan berikut ini.

```
GET http://localhost:port/systemsmanager/parameters/get?name=%2Faws%2Freference%2Fsecretsmanager%2F…
```

Untuk melakukan panggilan menggunakan Amazon Resource Name (ARN) untuk parameter, buat panggilan HTTP GET mirip dengan yang berikut ini.

```
GET http://localhost:port/systemsmanager/parameters/get?name=arn:aws:ssm:us-east-1:123456789012:parameter/MyParameter
```

Untuk membuat panggilan yang mengakses `SecureString` parameter dengan dekripsi, buat panggilan HTTP GET mirip dengan yang berikut ini.

```
GET http://localhost:port/systemsmanager/parameters/get?name=MyParameter&withDecryption=true
```

Anda dapat menentukan bahwa parameter tidak didekripsi dengan menghilangkan `withDecryption` atau secara eksplisit menyetelnya. `false` Anda juga dapat menentukan versi atau label, tetapi tidak keduanya. Jika Anda melakukannya, hanya yang pertama yang ditempatkan setelah tanda tanya (`?`) di URL yang digunakan.

## AWS Parameter dan Rahasia Ekstensi Lambda ARNs
<a name="ps-integration-lambda-extensions-add"></a>

Nama Sumber Daya Amazon (ARN) terbaru untuk ekstensi Lambda diterbitkan sebagai parameter publik di Systems Manager Parameter Store untuk setiap arsitektur yang didukung. Anda dapat mengambil ARN terbaru secara terprogram menggunakan AWS CLI CloudFormation atau untuk memastikan bahwa aplikasi Anda selalu mereferensikan versi ekstensi terbaru tanpa pembaruan manual. Bagian ini menjelaskan cara mengambil ARN secara terprogram dan menyediakan tabel yang mencantumkan nilai ARN saat ini untuk setiap arsitektur untuk referensi manual.

### Mengambil versi ARN ekstensi Lambda terbaru
<a name="ps-integration-lambda-extensions-programmatically-retrieve"></a>

Versi ARN ekstensi Lambda terbaru disimpan sebagai parameter publik di lokasi berikut. Anda dapat mereferensikan parameter publik ini dalam kode Anda untuk mengambilnya:
+ **x86\$164**:/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest
+ **arm64**:/aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest

**AWS CLI**  
Untuk mengambil versi ARN terbaru menggunakan, jalankan AWS CLI perintah berikut.

**x86\$164**

```
aws ssm get-parameter --name "/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest" --query "Parameter.Value" --output text
```

**arm64**

```
aws ssm get-parameter --name "/aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest" --query "Parameter.Value" --output text
```

**AWS CloudFormation**  
Saat menerapkan fungsi Lambda CloudFormation menggunakan, Anda dapat menyelesaikan parameter secara langsung selama pembuatan dan pembaruan tumpukan, seperti yang ditunjukkan dalam contoh templat YAMAL berikut. Metode ini memastikan fungsi Anda selalu menggunakan versi ekstensi terbaru tanpa memerlukan pembaruan manual.

**x86\$164**

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-function
      Runtime: python3.11
      Handler: index.handler
      Code:
        ZipFile: |
          def handler(event, context):
              return {'statusCode': 200}
      Layers:
        - !Sub '{{resolve:ssm:/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest}}'
      Role: !GetAtt MyFunctionRole.Arn
```

**arm64**

```
Layers:
  - !Sub '{{resolve:ssm:/aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest}}'
```

**catatan**  
`{{resolve:ssm:parameter-name}}`Sintaks secara otomatis mengambil nilai parameter selama operasi stack. Ini memastikan Anda selalu menerapkan dengan ARN saat ini.

### Ekstensi terbaru ARNs
<a name="ps-integration-lambda-extensions-manually-retrieve"></a>

Tabel berikut menyediakan ekstensi ARNs untuk arsitektur dan Wilayah yang didukung.

**Topics**
+ [Ekstensi ARNs untuk x86\$164 dan x86 arsitektur](#intel)
+ [Ekstensi ARNs untuk ARM64 dan Mac with Apple silicon arsitektur](#arm64)

#### Ekstensi ARNs untuk x86\$164 dan x86 arsitektur
<a name="intel"></a>

Terakhir dimutakhirkan: Februari 17, 2026


****  

| Region | ARN | 
| --- | --- | 
| AS Timur (Ohio) | `arn:aws:lambda:us-east-2:590474943231:layer:AWS-Parameters-and-Secrets-Lambda-Extension:67` | 
| AS Timur (Virginia Utara) | `arn:aws:lambda:us-east-1:177933569100:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| AS Barat (California Utara) | `arn:aws:lambda:us-west-1:997803712105:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| AS Barat (Oregon) | `arn:aws:lambda:us-west-2:345057560386:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Afrika (Cape Town) | `arn:aws:lambda:af-south-1:317013901791:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| Asia Pasifik (Hong Kong) | `arn:aws:lambda:ap-east-1:768336418462:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| Asia Pasifik (Taipei) | `arn:aws:lambda:ap-east-2:890742577149:layer:AWS-Parameters-and-Secrets-Lambda-Extension:33` | 
| Wilayah Asia Pasifik (Hyderabad) | `arn:aws:lambda:ap-south-2:070087711984:layer:AWS-Parameters-and-Secrets-Lambda-Extension:55` | 
| Asia Pasifik (Jakarta) | `arn:aws:lambda:ap-southeast-3:490737872127:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asia Pacific (Melbourne) | `arn:aws:lambda:ap-southeast-4:090732460067:layer:AWS-Parameters-and-Secrets-Lambda-Extension:48` | 
| Asia Pasifik (Malaysia) | `arn:aws:lambda:ap-southeast-5:381492012281:layer:AWS-Parameters-and-Secrets-Lambda-Extension:47` | 
| Asia Pasifik (Selandia Baru) | `arn:aws:lambda:ap-southeast-6:995508174458:layer:AWS-Parameters-and-Secrets-Lambda-Extension:42` | 
| Asia Pasifik (Mumbai) | `arn:aws:lambda:ap-south-1:176022468876:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asia Pasifik (Osaka) | `arn:aws:lambda:ap-northeast-3:576959938190:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asia Pasifik (Seoul) | `arn:aws:lambda:ap-northeast-2:738900069198:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| Asia Pasifik (Singapura) | `arn:aws:lambda:ap-southeast-1:044395824272:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Asia Pasifik (Sydney) | `arn:aws:lambda:ap-southeast-2:665172237481:layer:AWS-Parameters-and-Secrets-Lambda-Extension:63` | 
| Asia Pasifik (Thailand) | `arn:aws:lambda:ap-southeast-7:941377119484:layer:AWS-Parameters-and-Secrets-Lambda-Extension:48` | 
| Asia Pasifik (Tokyo) | `arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| (Canada (Central) | `arn:aws:lambda:ca-central-1:200266452380:layer:AWS-Parameters-and-Secrets-Lambda-Extension:65` | 
| Kanada Barat (Calgary) | `arn:aws:lambda:ca-west-1:243964427225:layer:AWS-Parameters-and-Secrets-Lambda-Extension:35` | 
| China (Beijing) | `arn:aws-cn:lambda:cn-north-1:287114880934:layer:AWS-Parameters-and-Secrets-Lambda-Extension:64` | 
| Tiongkok (Ningxia) | `arn:aws-cn:lambda:cn-northwest-1:287310001119:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Eropa (Frankfurt) | `arn:aws:lambda:eu-central-1:187925254637:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Eropa (Irlandia) | `arn:aws:lambda:eu-west-1:015030872274:layer:AWS-Parameters-and-Secrets-Lambda-Extension:63` | 
| Eropa (London) | `arn:aws:lambda:eu-west-2:133256977650:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| Eropa (Milan) | `arn:aws:lambda:eu-south-1:325218067255:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Eropa (Paris) | `arn:aws:lambda:eu-west-3:780235371811:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Wilayah Eropa (Spanyol) | `arn:aws:lambda:eu-south-2:524103009944:layer:AWS-Parameters-and-Secrets-Lambda-Extension:54` | 
| AWS European Sovereign Cloud (Jerman) | `arn:aws-eusc:lambda:eusc-de-east-1:041683371183:layer:AWS-Parameters-and-Secrets-Lambda-Extension:5` | 
| Eropa (Stockholm) | `arn:aws:lambda:eu-north-1:427196147048:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Israel (Tel Aviv) | `arn:aws:lambda:il-central-1:148806536434:layer:AWS-Parameters-and-Secrets-Lambda-Extension:35` | 
| Wilayah Eropa (Zürich) | `arn:aws:lambda:eu-central-2:772501565639:layer:AWS-Parameters-and-Secrets-Lambda-Extension:42` | 
| Wilayah Meksiko (Tengah) | `arn:aws:lambda:mx-central-1:241533131596:layer:AWS-Parameters-and-Secrets-Lambda-Extension:32` | 
| Timur Tengah (Bahrain) | `arn:aws:lambda:me-south-1:832021897121:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Timur Tengah (UEA) | `arn:aws:lambda:me-central-1:858974508948:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Amerika Selatan (Sao Paulo) | `arn:aws:lambda:sa-east-1:933737806257:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| AWS GovCloud (AS-Timur) | `arn:aws-us-gov:lambda:us-gov-east-1:129776340158:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| AWS GovCloud (AS-Barat) | `arn:aws-us-gov:lambda:us-gov-west-1:127562683043:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 

#### Ekstensi ARNs untuk ARM64 dan Mac with Apple silicon arsitektur
<a name="arm64"></a>

Terakhir dimutakhirkan: Februari 17, 2026


****  

| Region | ARN | 
| --- | --- | 
| AS Timur (Ohio) | `arn:aws:lambda:us-east-2:590474943231:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:67` | 
| AS Timur (Virginia Utara) | `arn:aws:lambda:us-east-1:177933569100:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Wilayah AS Barat (California Utara) | `arn:aws:lambda:us-west-1:997803712105:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:56` | 
| AS Barat (Oregon) | `arn:aws:lambda:us-west-2:345057560386:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Wilayah Afrika (Cape Town) | `arn:aws:lambda:af-south-1:317013901791:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:57` | 
| Wilayah Asia Pacific (Hong Kong) | `arn:aws:lambda:ap-east-1:768336418462:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:57` | 
| Asia Pasifik (Taipei) | `arn:aws:lambda:ap-east-2:890742577149:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:29` | 
| Wilayah Asia Pasifik (Hyderabad) | `arn:aws:lambda:ap-south-2:070087711984:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Wilayah Asia Pasifik (Jakarta) | `arn:aws:lambda:ap-southeast-3:490737872127:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Asia Pacific (Melbourne) | `arn:aws:lambda:ap-southeast-4:090732460067:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asia Pasifik (Malaysia) | `arn:aws:lambda:ap-southeast-5:381492012281:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asia Pasifik (Selandia Baru) | `arn:aws:lambda:ap-southeast-6:995508174458:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:40` | 
| Asia Pasifik (Mumbai) | `arn:aws:lambda:ap-south-1:176022468876:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:58` | 
| Asia Pasifik (Osaka) | `arn:aws:lambda:ap-northeast-3:576959938190:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Wilayah Asia Pasifik (Seoul) | `arn:aws:lambda:ap-northeast-2:738900069198:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:56` | 
| Asia Pasifik (Singapura) | `arn:aws:lambda:ap-southeast-1:044395824272:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Asia Pasifik (Sydney) | `arn:aws:lambda:ap-southeast-2:665172237481:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:63` | 
| Asia Pasifik (Thailand) | `arn:aws:lambda:ap-southeast-7:941377119484:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asia Pasifik (Tokyo) | `arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:60` | 
| Wilayah Kanada (Pusat) | `arn:aws:lambda:ca-central-1:200266452380:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:62` | 
| Kanada Barat (Calgary) | `arn:aws:lambda:ca-west-1:243964427225:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| China (Beijing) | `arn:aws-cn:lambda:cn-north-1:287114880934:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:53` | 
| Tiongkok (Ningxia) | `arn:aws-cn:lambda:cn-northwest-1:287310001119:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:50` | 
| Eropa (Frankfurt) | `arn:aws:lambda:eu-central-1:187925254637:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Eropa (Irlandia) | `arn:aws:lambda:eu-west-1:015030872274:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:63` | 
| Eropa (London) | `arn:aws:lambda:eu-west-2:133256977650:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:59` | 
| Wilayah Eropa (Milan) | `arn:aws:lambda:eu-south-1:325218067255:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Wilayah Eropa (Paris) | `arn:aws:lambda:eu-west-3:780235371811:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Wilayah Eropa (Spanyol) | `arn:aws:lambda:eu-south-2:524103009944:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:46` | 
| Wilayah Eropa (Stockholm) | `arn:aws:lambda:eu-north-1:427196147048:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Israel (Tel Aviv) | `arn:aws:lambda:il-central-1:148806536434:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| Wilayah Eropa (Zürich) | `arn:aws:lambda:eu-central-2:772501565639:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| Wilayah Meksiko (Tengah) | `arn:aws:lambda:mx-central-1:241533131596:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:31` | 
| Wilayah Timur Tengah (Bahrain) | `arn:aws:lambda:me-south-1:832021897121:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Timur Tengah (UAE) | `arn:aws:lambda:me-central-1:858974508948:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Wilayah Amerika Selatan (Sao Paulo) | `arn:aws:lambda:sa-east-1:933737806257:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:58` | 
| AWS GovCloud (AS-Timur) | `arn:aws-us-gov:lambda:us-gov-east-1:129776340158:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| AWS GovCloud (AS-Barat) | `arn:aws-us-gov:lambda:us-gov-west-1:127562683043:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 

# Integrasi dengan produk dan layanan lainnya
<a name="integrations-partners"></a>

AWS Systems Manager memiliki integrasi bawaan untuk produk dan layanan yang ditunjukkan pada tabel berikut.


|  |  | 
| --- |--- |
|  Ansible  |  [https://www.ansible.com/](https://www.ansible.com/)adalah platform otomatisasi TI yang membuat aplikasi dan sistem Anda lebih mudah digunakan. Systems Manager menyediakan dokumen Systems Manager (dokumen SSM) `AWS-ApplyAnsiblePlaybooks` yang memungkinkan Anda membuat State Manager asosiasi yang menjalankan Ansible playbook.  Pelajari selengkapnya [Membuat asosiasi yang menjalankan buku Ansible pedoman](systems-manager-state-manager-ansible.md)   | 
|  Chef  |  [https://www.chef.io/](https://www.chef.io/)adalah alat otomatisasi TI yang membuat aplikasi dan sistem Anda lebih mudah digunakan. Systems Manager menyediakan dokumen `AWS-ApplyChefRecipes` SSM, yang memungkinkan Anda membuat asosiasi diState Manager, alat di AWS Systems Manager, yang menjalankan Chef resep.  Pelajari selengkapnya [Membuat asosiasi yang menjalankan Chef resep](systems-manager-state-manager-chef.md)  Systems Manager juga terintegrasi dengan [https://www.chef.io/products/chef-inspec/](https://www.chef.io/products/chef-inspec/)profil, memungkinkan Anda menjalankan pemindaian kepatuhan dan melihat node yang sesuai dan tidak sesuai.  Pelajari selengkapnya [Menggunakan Chef InSpec profil dengan Kepatuhan Systems Manager](integration-chef-inspec.md)   | 
|  GitHub  |  [https://github.com/](https://github.com/)menyediakan hosting untuk kontrol versi pengembangan perangkat lunak dan kolaborasi. Systems Manager menyediakan dokumen SSM`AWS-RunDocument`, yang memungkinkan Anda menjalankan dokumen SSM lain yang disimpanGitHub, dan dokumen SSM`AWS-RunRemoteScript`, yang memungkinkan Anda menjalankan skrip yang disimpan di dalamnya. GitHub [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-partners.html)  | 
|  Jenkins  |  [https://www.jenkins.io/](https://www.jenkins.io/)adalah server otomatisasi sumber terbuka yang memungkinkan pengembang untuk membangun, menguji, dan menyebarkan perangkat lunak mereka dengan andal. Automation, alat di Systems Manager, dapat digunakan sebagai langkah pasca-build untuk pra-instal rilis aplikasi ke Amazon Machine Images ()AMIs.  Pelajari selengkapnya [Memperbarui AMIs menggunakan Otomasi dan Jenkins](automation-tutorial-update-patch-ami-jenkins-integration.md)   | 
|  ServiceNow  |  [https://www.servicenow.com/](https://www.servicenow.com/)adalah sistem manajemen layanan perusahaan yang memungkinkan Anda mengelola layanan dan operasi TI Anda. Otomasi,Change Manager, Manajer InsidenOpsCenter, dan, semua alat di Systems Manager, terintegrasi ServiceNow dengan menggunakan Konektor Manajemen AWS Layanan. Dengan integrasi ini, Anda dapat melihat, membuat, memperbarui, menambahkan korespondensi, dan menyelesaikan AWS Dukungan kasus dariServiceNow.  Pelajari selengkapnya [Berintegrasi dengan ServiceNow](integrations-partners-servicenow.md)    | 
| Terraform |  HashiCorp [Terraform](https://registry.terraform.io/) adalah alat perangkat lunak *infrastruktur sumber terbuka sebagai kode* (IAc) yang menyediakan alur kerja antarmuka baris perintah (CLI) untuk mengelola berbagai layanan cloud. Untuk Systems Manager, Anda dapat menggunakan Terraform untuk mengelola atau menyediakan hal-hal berikut: **Sumber** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-partners.html) **Sumber data** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [Menjalankan skrip dari GitHub](integration-remote-scripts.md)
+ [Menggunakan Chef InSpec profil dengan Kepatuhan Systems Manager](integration-chef-inspec.md)
+ [Berintegrasi dengan ServiceNow](integrations-partners-servicenow.md)

# Menjalankan skrip dari GitHub
<a name="integration-remote-scripts"></a>

Topik ini menjelaskan cara menggunakan dokumen Systems Manager (dokumen SSM) yang telah ditentukan sebelumnya `AWS-RunRemoteScript` untuk mengunduh skripGitHub, termasuk Ansible Playbooks, Python, Ruby, dan skrip. PowerShell Dengan menggunakan dokumen SSM ini, Anda tidak perlu lagi mem-port skrip secara manual ke Amazon Elastic Compute Cloud (Amazon EC2) atau membungkusnya dalam dokumen SSM. AWS Systems Manager integrasi dengan GitHub mempromosikan *infrastruktur sebagai kode*, yang mengurangi waktu yang diperlukan untuk mengelola node sambil menstandarisasi konfigurasi di seluruh armada Anda. 

Anda juga dapat membuat dokumen SSM kustom yang memungkinkan Anda untuk mengunduh dan menjalankan skrip atau dokumen SSM lainnya dari lokasi berjarak jauh. Untuk informasi selengkapnya, lihat [Membuat dokumen gabungan](documents-creating-content.md#documents-creating-composite).

Anda juga dapat mengunduh direktori yang mencakup beberapa skrip. Ketika Anda menjalankan skrip utama di direktori, Systems Manager juga menjalankan skrip yang direferensikan yang disertakan dalam direktori. 

Perhatikan detail penting berikut tentang menjalankan skrip dariGitHub.
+ Systems Manager tidak memverifikasi bahwa skrip Anda mampu berjalan pada node. Sebelum Anda mengunduh dan menjalankan skrip, verifikasi bahwa perangkat lunak yang diperlukan diinstal pada node. Atau, Anda dapat membuat dokumen komposit yang menginstal perangkat lunak dengan menggunakan salah satu Run Command atauState Manager, alat di AWS Systems Manager, dan kemudian mengunduh dan menjalankan skrip.
+ Anda bertanggung jawab untuk memastikan bahwa semua GitHub persyaratan terpenuhi. Ini termasuk pembaruan token akses Anda, sesuai kebutuhan. Pastikan Anda tidak melampaui jumlah permintaan yang terautentikasi atau tidak terautentikasi. Untuk informasi lebih lanjut, lihat GitHub dokumentasi.
+ GitHub Enterpriserepositori tidak didukung.

**Topics**
+ [Jalankan Ansible Playbooks dari GitHub](integration-github-ansible.md)
+ [Jalankan skrip Python dari GitHub](integration-github-python.md)

# Jalankan Ansible Playbooks dari GitHub
<a name="integration-github-ansible"></a>

Bagian ini mencakup prosedur untuk membantu Anda menjalankan Ansible Playbook GitHub dengan menggunakan konsol atau AWS Command Line Interface (AWS CLI).

**Sebelum Anda mulai**  
Jika Anda berencana untuk menjalankan skrip yang disimpan dalam GitHub repositori pribadi, buat AWS Systems Manager `SecureString` parameter untuk token akses GitHub keamanan Anda. Anda tidak dapat mengakses skrip di GitHub repositori pribadi dengan meneruskan token Anda secara manual melalui SSH. Token akses harus diteruskan sebagai parameter `SecureString` Systems Manager. Untuk informasi lebih lanjut tentang pembuatan parameter `SecureString`, lihat [Membuat Parameter Store parameter di Systems Manager](sysman-paramstore-su-create.md).

## Jalankan Ansible Playbook dari GitHub (konsol)
<a name="integration-github-ansible-console"></a>

**Jalankan Ansible Playbook dari GitHub**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih **`AWS-RunRemoteScript`**.

1. Di **Parameter perintah**, lakukan hal berikut:
   + Di **Jenis Sumber**, pilih **GitHub**. 
   + Di kotak **Info sumber**, masukkan informasi yang diperlukan untuk mengakses sumber dalam format berikut.

     ```
     {
       "owner": "owner_name",
       "repository": "repository_name", 
       "getOptions": "branch:branch_name",
       "path": "path_to_scripts_or_directory",
       "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}" 
     }
     ```

     Contoh ini mengunduh sebuah file bernama `webserver.yml`. 

     ```
     {
         "owner": "TestUser1",
         "repository": "GitHubPrivateTest",
         "getOptions": "branch:myBranch",
         "path": "scripts/webserver.yml",
         "tokenInfo": "{{ssm-secure:mySecureStringParameter}}"
     }
     ```
**catatan**  
`"branch"` diperlukan hanya jika dokumen SSM Anda disimpan di cabang selain `master`.  
Untuk menggunakan versi skrip yang ada di *melakukan* tertentu di repositori anda, gunakan `commitID` dengan `getOptions` daripada `branch`. Sebagai contoh:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + Di bidang **Baris Perintah**, masukkan parameter untuk eksekusi skrip. Inilah contohnya.

     **ansible-playbook -i “localhost,” --check -c local webserver.yml**
   + (Opsional) Di bidang **Direktori Kerja**, masukkan nama direktori pada node tempat Anda ingin mengunduh dan menjalankan skrip.
   + (Opsional) Di **Batas Waktu Eksekusi**, tentukan jumlah detik bagi sistem untuk menunggu sebelum menggagalkan eksekusi perintah skrip. 

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan milik pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

## Jalankan Ansible Playbook dari GitHub dengan menggunakan AWS CLI
<a name="integration-github-ansible-cli"></a>

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan perintah berikut untuk mengunduh dan menjalankan skrip dariGitHub.

   ```
   aws ssm send-command \
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "instance-IDs"\
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"repository_name\", \"path\": \"path_to_file_or_directory\", \"tokenInfo\":\"{{ssm-secure:name_of_your_SecureString_parameter}}\" }"],"commandLine":["commands_to_run"]}'
   ```

   Berikut adalah contoh perintah untuk dijalankan pada mesin Linux lokal.

   ```
   aws ssm send-command \    
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "i-02573cafcfEXAMPLE" \
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\": \"GitHubPrivateTest\", \"path\": \"scripts/webserver.yml\", \"tokenInfo\":\"{{ssm-secure:mySecureStringParameter}}\" }"],"commandLine":["ansible-playbook -i “localhost,” --check -c local webserver.yml"]}'
   ```

# Jalankan skrip Python dari GitHub
<a name="integration-github-python"></a>

Bagian ini mencakup prosedur untuk membantu Anda menjalankan skrip Python GitHub dengan menggunakan AWS Systems Manager konsol atau (). AWS Command Line Interface AWS CLI

## Jalankan skrip Python dari GitHub (konsol)
<a name="integration-github-python-console"></a>

**Jalankan skrip Python dari GitHub**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih **`AWS-RunRemoteScript`**.

1. Untuk **Parameter perintah**, lakukan hal berikut:
   + Di **Jenis Sumber**, pilih **GitHub**. 
   + Di kotak **Info sumber**, masukkan informasi yang diperlukan untuk mengakses sumber dalam format berikut:

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "getOptions": "branch:branch_name",
         "path": "path_to_document",
         "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
     }
     ```

     Contoh berikut mengunduh direktori skrip bernama *complex-script*.

     ```
     {
         "owner": "TestUser1",
         "repository": "SSMTestDocsRepo",
         "getOptions": "branch:myBranch",
         "path": "scripts/python/complex-script",
         "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
     }
     ```
**catatan**  
`"branch"` diperlukan hanya jika skrip Anda disimpan di cabang selain `master`.  
Untuk menggunakan versi skrip yang ada di *melakukan* tertentu di repositori anda, gunakan `commitID` dengan `getOptions` daripada `branch`. Sebagai contoh:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + Untuk **Baris Perintah**, masukkan parameter untuk eksekusi skrip. Inilah contohnya.

     ```
     mainFile.py argument-1 argument-2
     ```

     Contoh ini menjalankan `mainFile.py`, yang kemudian dapat menjalankan skrip lainnya di direktori `complex-script`.
   + (Opsional) Untuk **Direktori Kerja**, masukkan nama direktori pada node tempat Anda ingin mengunduh dan menjalankan skrip.
   + (Opsional) Untuk **Batas Waktu Eksekusi**, tentukan jumlah detik bagi sistem untuk menunggu sebelum menggagalkan eksekusi perintah skrip. 

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan izin pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

## Jalankan skrip Python dari GitHub dengan menggunakan AWS CLI
<a name="integration-github-python-cli"></a>

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan perintah berikut untuk mengunduh dan menjalankan skrip dariGitHub.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'
   ```

   Inilah contohnya.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'
   ```

   Contoh ini mengunduh direktori skrip bernama `complex-script`. Entri `commandLine` menjalankan `mainFile.py`, yang kemudian dapat menjalankan skrip lainnya di direktori `complex-script`.

# Menggunakan Chef InSpec profil dengan Kepatuhan Systems Manager
<a name="integration-chef-inspec"></a>

AWS Systems Manager terintegrasi dengan [https://www.chef.io/products/chef-inspec](https://www.chef.io/products/chef-inspec). Chef InSpecadalah kerangka pengujian open-source yang memungkinkan Anda membuat profil yang dapat dibaca manusia untuk disimpan atau GitHub Amazon Simple Storage Service (Amazon S3). Kemudian Anda dapat menggunakan Systems Manager untuk menjalankan pemindaian kepatuhan dan melihat node yang sesuai dan tidak sesuai. *Profil* adalah persyaratan keamanan, kepatuhan, atau kebijakan untuk lingkungan komputasi Anda. Misalnya, Anda dapat membuat profil yang melakukan pemeriksaan berikut saat memindai node Anda dengan Kepatuhan, alat di AWS Systems Manager:
+ Periksa apakah port tertentu terbuka atau tertutup.
+ Periksa apakah aplikasi tertentu sedang berjalan.
+ Periksa apakah paket tertentu telah terinstal.
+ Periksa kunci Windows Registry untuk properti tertentu.

Anda dapat membuat InSpec profil *hanya* untuk instans Amazon Elastic Compute Cloud (Amazon EC2) yang dikelola dengan Systems Manager. Server lokal atau mesin virtual (VMs) tidak didukung. Chef InSpecProfil sampel berikut memeriksa apakah port 22 terbuka.

```
control 'Scan Port' do
impact 10.0
title 'Server: Configure the service port'
desc 'Always specify which port the SSH server should listen to.
Prevent unexpected settings.'
describe sshd_config do
its('Port') { should eq('22') }
end
end
```

InSpec mencakup kumpulan sumber daya yang membantu Anda menulis cek dan kontrol audit dengan cepat. InSpec menggunakan [InSpecDomain-specific Language (DSL)](https://docs.chef.io/inspec/7.0/reference/glossary/#dsl) untuk menulis kontrol ini di Ruby. Anda juga dapat menggunakan profil yang dibuat oleh komunitas InSpec pengguna yang besar. Misalnya, [DevSec chef-os-hardening](https://github.com/dev-sec/chef-os-hardening)proyek GitHub menyertakan lusinan profil untuk membantu Anda mengamankan node Anda. Anda dapat membuat dan menyimpan profil di GitHub atau Amazon S3. 

## Cara kerjanya
<a name="integration-chef-inspec-how"></a>

Berikut adalah cara kerja proses penggunaan InSpec profil dengan Kepatuhan:

1. Entah mengidentifikasi InSpec profil standar yang ingin Anda gunakan, atau buat sendiri. Anda dapat menggunakan [profil yang telah ditentukan](https://github.com/search?p=1&q=topic%3Ainspec+org%3Adev-sec&type=Repositories) GitHub untuk memulai. Untuk informasi tentang cara membuat InSpec profil Anda sendiri, lihat [Chef InSpecProfil Chef](https://www.inspec.io/docs/reference/profiles/).

1. Simpan profil di GitHub repositori publik atau pribadi, atau di bucket S3.

1. Jalankan Kepatuhan dengan InSpec profil Anda dengan menggunakan dokumen Systems Manager (dokumen SSM)`AWS-RunInspecChecks`. Anda dapat memulai pemindaian Kepatuhan dengan menggunakanRun Command, alat di AWS Systems Manager, untuk pemindaian sesuai permintaan, atau Anda dapat menjadwalkan pemindaian Kepatuhan reguler dengan menggunakanState Manager, alat di. AWS Systems Manager

1. Identifikasi node yang tidak sesuai dengan menggunakan Compliance API atau konsol Kepatuhan.

**catatan**  
Perhatikan informasi berikut.  
Chefmenggunakan klien di node Anda untuk memproses profil. Anda tidak perlu menginstal klien. Ketika Systems Manager menjalankan dokumen SSM `AWS-RunInspecChecks`, sistem memeriksa apakah klien terinstal. Jika tidak, Systems Manager menginstal Chef klien selama pemindaian, dan kemudian menghapus instalasi klien setelah pemindaian selesai.
Menjalankan dokumen SSM`AWS-RunInspecChecks`, seperti yang dijelaskan dalam topik ini, menetapkan jenis entri kepatuhan `Custom:Inspec` ke setiap node yang ditargetkan. Untuk menetapkan jenis kepatuhan ini, dokumen memanggil operasi [PutComplianceItems](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html)API.

## Menjalankan pemindaian InSpec kepatuhan
<a name="integration-chef-inspec-running"></a>

Bagian ini mencakup informasi tentang cara menjalankan pemindaian InSpec kepatuhan menggunakan konsol Systems Manager dan AWS Command Line Interface (AWS CLI). Prosedur konsol menunjukkan cara mengkonfigurasi State Manager untuk menjalankan pemindaian. AWS CLI Prosedur ini menunjukkan cara mengkonfigurasi Run Command untuk menjalankan pemindaian.

### Menjalankan pemindaian InSpec kepatuhan dengan State Manager (konsol)
<a name="integration-chef-inspec-running-console"></a>

**Untuk menjalankan pemindaian InSpec kepatuhan State Manager dengan menggunakan AWS Systems Manager konsol**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **State Manager**.

1. Pilih **Buat asosiasi**.

1. Di bagian **Berikan detail asosiasi**, masukkan nama.

1. Di daftar **Dokumen**, pilih **`AWS-RunInspecChecks`**.

1. Di daftar **Versi dokumen**, pilih **Terbaru pada waktu aktif**.

1. Di bagian **Parameter**, dalam daftar **Jenis Sumber**, pilih salah satu **GitHub**atau **S3**.

   Jika Anda memilih **GitHub**, masukkan jalur ke InSpec profil di GitHub repositori publik atau pribadi di bidang **Info Sumber**. Berikut adalah contoh jalur ke profil publik yang disediakan oleh tim Systems Manager dari lokasi berikut: [https://github.com/awslabs/amazon- ssm/tree/master/Compliance/InSpec/PortCheck](https://github.com/awslabs/amazon-ssm/tree/master/Compliance/InSpec/PortCheck).

   ```
   {"owner":"awslabs","repository":"amazon-ssm","path":"Compliance/InSpec/PortCheck","getOptions":"branch:master"}
   ```

   Jika Anda memilih **S3**, masukkan URL yang valid ke InSpec profil di bucket S3 di bidang **Info Sumber**. 

   Untuk informasi selengkapnya tentang cara Systems Manager terintegrasi dengan GitHub Amazon S3, lihat. [Menjalankan skrip dari GitHub](integration-remote-scripts.md) 

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Di bagian **Tentukan jadwal**, gunakan pilihan pembangun jadwal untuk membuat jadwal yang menentukan kapan Anda menginginkan pemindaian kepatuhan dijalankan.

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan milik pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Pilih **Buat Asosiasi**. Sistem membuat asosiasi dan secara otomatis menjalankan pemindaian Kepatuhan.

1. Tunggu beberapa menit sampai pemindaian selesai, lalu pilih **Kepatuhan** di panel navigasi.

1. Dalam **contoh terkelola yang sesuai**, cari node di mana kolom **Compliance Type** adalah **Custom:Inspec**.

1. Pilih ID node untuk melihat detail status yang tidak sesuai.

### Menjalankan pemindaian InSpec kepatuhan dengan Run Command (AWS CLI)
<a name="integration-chef-inspec-running-cli"></a>

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan salah satu perintah berikut untuk menjalankan InSpec profil dari salah satu GitHub atau Amazon S3.

   Perintah membawa parameter berikut:
   + **SourceType**: atau Amazon S3 GitHub
   + **SourceInfo**: URL ke folder profil baik InSpec di GitHub dalam atau ember S3. Folder harus berisi InSpec file dasar (\$1.yl) dan semua kontrol terkait (\$1.rb).

   **GitHub**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"Inspec.yml_file"}"]}'
   ```

   Inilah contohnya.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters '{"sourceType":["GitHub"],"getOptions":"branch:master","sourceInfo":["{\"owner\":\"awslabs\", \"repository\":\"amazon-ssm\", \"path\": \"Compliance/InSpec/PortCheck\"}"]}'
   ```

   **Amazon S3**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/Inspec.yml_file\"}"]}'
   ```

   Inilah contohnya.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/InSpec/PortCheck.yml\"}"]}' 
   ```

1. Jalankan perintah berikut untuk melihat ringkasan pemindaian Kepatuhan.

   ```
   aws ssm list-resource-compliance-summaries --filters Key=ComplianceType,Values=Custom:Inspec
   ```

1. Jalankan perintah berikut untuk melihat detail node yang tidak sesuai.

   ```
   aws ssm list-compliance-items --resource-ids node_ID --resource-type ManagedInstance --filters Key=DocumentName,Values=AWS-RunInspecChecks
   ```

# Berintegrasi dengan ServiceNow
<a name="integrations-partners-servicenow"></a>

ServiceNowmenyediakan sistem manajemen layanan berbasis cloud untuk membuat dan mengelola alur kerja tingkat organisasi, seperti untuk layanan TI, sistem tiket, dan dukungan. Konektor Manajemen AWS Layanan terintegrasi ServiceNow dengan Systems Manager untuk menyediakan, mengelola, dan mengoperasikan AWS sumber daya dariServiceNow. Anda dapat menggunakan Konektor Manajemen AWS Layanan untuk berintegrasi ServiceNow dengan OtomasiChange Manager, Manajer Insiden, danOpsCenter, semua alat di dalamnya AWS Systems Manager. 

Anda dapat melakukan tugas-tugas berikut menggunakanServiceNow: 
+ Jalankan pedoman otomatisasi dari Systems Manager. 
+ Melihat, memperbarui, dan menyelesaikan insiden dari Systems ManagerOpsItems. 
+ Melihat dan mengelola item operasional, seperti insiden, melalui Systems ManagerOpsCenter. 
+ Melihat dan menjalankan permintaan perubahan Systems Manager dari daftar templat perubahan yang telah disetujui sebelumnya. 
+ Kelola dan selesaikan insiden yang melibatkan aplikasi yang AWS dihosting dengan mengintegrasikan dengan Manajer Insiden. 

**catatan**  
Untuk informasi tentang cara mengintegrasikan denganServiceNow, lihat [Mengonfigurasi integrasi AWS layanan di Panduan](https://docs.aws.amazon.com/smc/latest/ag/sn-config-integ.html) *Administrator Konektor Manajemen AWS Layanan*.