

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

# Mengelola kebijakan pengguna Elastic Beanstalk
<a name="AWSHowTo.iam.managed-policies"></a>

AWS Elastic Beanstalk menyediakan dua kebijakan terkelola yang memungkinkan Anda menetapkan akses penuh atau akses hanya-baca ke semua sumber daya yang dikelola Elastic Beanstalk. Anda dapat melampirkan kebijakan ke pengguna atau grup AWS Identity and Access Management (IAM), atau ke peran yang diambil oleh pengguna Anda.

**Untuk kebijakan yang dikelola**
+ **AdministratorAccess- AWSElastic Beanstalk** - Memberikan pengguna izin administratif penuh untuk membuat, memodifikasi, dan menghapus aplikasi Elastic Beanstalk, versi aplikasi, pengaturan konfigurasi, lingkungan, dan sumber daya dasarnya. Untuk melihat konten kebijakan terkelola, lihat halaman [AdministratorAccess- AWSElastic Beanstalk](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess-AWSElasticBeanstalk.html) di Panduan Referensi *Kebijakan AWS Terkelola*.
+ **AWSElasticBeanstalkReadOnly**— Memungkinkan pengguna untuk melihat aplikasi dan lingkungan, tetapi tidak melakukan operasi yang memodifikasinya. Ini menyediakan akses hanya-baca ke semua sumber daya Elastic Beanstalk, dan ke sumber daya lain AWS yang diambil oleh konsol Elastic Beanstalk. Perhatikan bahwa akses hanya-baca tidak mengaktifkan tindakan seperti mengunduh Elastic Beanstalk sehingga Anda dapat membacanya. Hal ini karena log dipentaskan di bucket Amazon S3, di mana Elastic Beanstalk akan memerlukan izin tulis. Lihat contoh di akhir topik ini untuk informasi tentang cara mengaktifkan akses ke log Elastic Beanstalk. Untuk melihat konten kebijakan terkelola, lihat [AWSElasticBeanstalkReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkReadOnly.html)halaman di *Panduan Referensi Kebijakan AWS Terkelola*.

**penting**  
Kebijakan terkelola Elastic Beanstalk tidak memberikan izin terperinci—mereka memberikan semua izin yang berpotensi diperlukan untuk bekerja dengan aplikasi Elastic Beanstalk. Dalam beberapa kasus, Anda mungkin ingin membatasi izin kebijakan terkelola kami lebih lanjut. Untuk contoh satu kasus penggunaan, lihat[Mencegah akses bucket Amazon S3 lintas lingkungan](AWSHowTo.iam.cross-env-s3-access.md).  
Kebijakan terkelola kami juga tidak mencakup izin ke sumber daya khusus yang mungkin Anda tambahkan ke solusi Anda, dan yang tidak dikelola oleh Elastic Beanstalk. Untuk menerapkan izin yang lebih rinci, izin minimum yang diperlukan, atau izin sumber daya kustom, gunakan [kebijakan khusus](#AWSHowTo.iam.policies).

**Kebijakan terkelola tidak lagi digunakan**  
Sebelumnya, Elastic Beanstalk mendukung dua kebijakan pengguna terkelola lainnya, dan. **AWSElasticBeanstalkFullAccess**AWSElasticBeanstalkReadOnlyAccess**** Kami berencana untuk menghentikan kebijakan-kebijakan sebelumnya. Anda mungkin masih dapat melihat dan menggunakannya di konsol IAM. Namun demikian, kami merekomendasikan Anda beralih ke menggunakan kebijakan pengguna terkelola baru, dan menambahkan kebijakan kustom untuk memberikan izin ke sumber daya kustom, jika Anda memiliki.

## Kebijakan untuk integrasi dengan layanan lain
<a name="iam-userpolicies-managed-other-services"></a>

Kami juga menyediakan kebijakan yang lebih terperinci yang memungkinkan Anda mengintegrasikan lingkungan Anda dengan layanan lain, jika Anda lebih suka menggunakannya. 
+ **AWSElasticBeanstalkRoleCWL** - Memungkinkan lingkungan untuk mengelola grup CloudWatch log Amazon Logs.
+ **AWSElasticBeanstalkRoleRDS** - Memungkinkan lingkungan untuk mengintegrasikan instans Amazon RDS.
+ **AWSElasticBeanstalkRoleWorkerTier**— Memungkinkan tingkat lingkungan pekerja untuk membuat tabel Amazon DynamoDB dan antrian Amazon SQS.
+ **AWSElasticBeanstalkRoleECS** - Memungkinkan lingkungan Docker multicontainer untuk mengelola cluster Amazon ECS.
+ **AWSElasticBeanstalkRoleCore**— Memungkinkan operasi inti dari lingkungan layanan web.
+ **AWSElasticBeanstalkRoleSNS** - Memungkinkan lingkungan untuk mengaktifkan integrasi topik Amazon SNS.

Untuk melihat sumber JSON untuk kebijakan terkelola tertentu, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html).

## Mengontrol akses dengan kebijakan terkelola
<a name="iam-userpolicies-managed"></a>

Anda dapat menggunakan kebijakan terkelola untuk memberikan akses penuh atau akses hanya-baca ke Elastic Beanstalk. Elastic Beanstalk memperbarui kebijakan ini secara otomatis ketika izin tambahan diperlukan untuk mengakses fitur baru.

**Untuk menerapkan kebijakan terkelola untuk pengguna atau grup IAM**

1. Buka [halaman **kebijakan**](https://console.aws.amazon.com/iam/home#policies) di Konsol IAM.

1. Di kotak pencarian, ketik **AWSElasticBeanstalk** untuk memfilter kebijakan.

1. Dalam daftar kebijakan, pilih kotak centang di sebelah **AWSElasticBeanstalkReadOnly**atau **AdministratorAccess- AWSElastic Beanstalk**.

1. Pilih **Tindakan kebijakan**, lalu pilih **Lampirkan**.

1. Pilih satu atau beberapa pengguna dan grup untuk melampirkan kebijakan. Anda bisa menggunakan menu **Filter** dan kotak pencarian untuk memfilter daftar entitas utama.

1. Pilih **Pasang kebijakan**.

## Membuat kebijakan pengguna kustom
<a name="AWSHowTo.iam.policies"></a>

Anda dapat membuat kebijakan IAM Anda sendiri untuk mengizinkan atau menolak tindakan API Elastic Beanstalk tertentu pada sumber Elastic Beanstalk tertentu, dan untuk mengontrol akses ke sumber daya kustom yang tidak dikelola oleh Elastic Beanstalk. Untuk informasi selengkapnya tentang melampirkan kebijakan ke pengguna atau grup, lihat [Bekerja dengan Kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html) di *Panduan Pengguna IAM*. Untuk informasi lebih lanjut tentang membuat kebijakan IAM, lihat [Membuat Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

**catatan**  
Meskipun Anda dapat membatasi bagaimana pengguna berinteraksi dengan API Elastic Beanstalk, saat ini tidak ada cara yang efektif untuk mencegah pengguna yang memiliki izin untuk membuat sumber daya yang mendasari diperlukan dari menciptakan sumber daya lain di Amazon EC2 dan layanan lainnya.  
Pikirkan kebijakan ini sebagai cara yang efektif untuk mendistribusikan tanggung jawab Elastic Beanstalk, bukan sebagai cara untuk mengamankan semua sumber daya yang mendasarinya.

**penting**  
Jika Anda memiliki kebijakan khusus yang ditetapkan ke peran layanan Elastic Beanstalk, penting bagi Anda untuk menetapkan izin yang tepat untuk templat peluncuran. Jika tidak, Anda mungkin tidak memiliki izin yang diperlukan untuk memperbarui lingkungan atau meluncurkan yang baru. Untuk informasi selengkapnya, lihat [Izin yang diperlukan untuk template peluncuran](environments-cfg-autoscaling-launch-templates.md#environments-cfg-autoscaling-launch-templates-permissions). 

Kebijakan IAM berisi pernyataan kebijakan yang menjelaskan izin yang ingin Anda berikan. Ketika Anda membuat pernyataan kebijakan untuk Elastic Beanstalk, Anda perlu memahami bagaimana menggunakan empat bagian berikut dari pernyataan kebijakan:
+ **Efek** menentukan apakah untuk mengizinkan atau menolak tindakan dalam pernyataan.
+ **Tindakan** menentukan [operasi API](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_Operations.html) yang ingin Anda kendalikan. Misalnya, gunakan `elasticbeanstalk:CreateEnvironment` untuk menentukan operasi `CreateEnvironment`. Operasi tertentu, seperti menciptakan lingkungan, memerlukan izin tambahan untuk melakukan tindakan tersebut. Untuk informasi selengkapnya, lihat [Sumber daya dan kondisi untuk tindakan Elastic Beanstalk](AWSHowTo.iam.policies.actions.md). 
**catatan**  
Untuk menggunakan operasi API [https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html), menentukan salah satu dari dua tindakan virtual berikut (atau keduanya) bukan nama operasi API:  

`elasticbeanstalk:AddTags`  
Mengontrol izin untuk menelepon `UpdateTagsForResource` dan meneruskan daftar tag untuk add-in di parameter `TagsToAdd`.

`elasticbeanstalk:RemoveTags`  
Mengontrol izin untuk menelepon `UpdateTagsForResource` dan meneruskan daftar kunci tag untuk menghapus di parameter `TagsToRemove`.
+ **Sumber Daya** menentukan sumber daya yang Anda inginkan untuk mengontrol akses. Untuk menentukan sumber Elastic Beanstalk, buat daftar [Amazon Resource Name](AWSHowTo.iam.policies.arn.md) (ARN) dari setiap sumber daya.
+ (opsional) **Ketentuan** menentukan pembatasan izin yang diberikan dalam pernyataan. Untuk informasi selengkapnya, lihat [Sumber daya dan kondisi untuk tindakan Elastic Beanstalk](AWSHowTo.iam.policies.actions.md).

Bagian berikut menunjukkan beberapa kasus di mana Anda mungkin mempertimbangkan kebijakan pengguna kustom.

### Memungkinkan penciptaan lingkungan Elastic Beanstalk terbatas
<a name="AWSHowTo.iam.policy.env-creation"></a>

Kebijakan dalam contoh berikut mengizinkan pengguna untuk memanggil tindakan `CreateEnvironment` untuk membuat lingkungan yang namanya dimulai dengan **Test** dengan aplikasi dan versi aplikasi yang ditentukan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"CreateEnvironmentPerm",
      "Action": [
        "elasticbeanstalk:CreateEnvironment"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My First Elastic Beanstalk Application/Test*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My First Elastic Beanstalk Application"],
          "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My First Elastic Beanstalk Application/First Release"]
        }
      }
    },
    {
      "Sid":"AllNonResourceCalls",
      "Action":[
        "elasticbeanstalk:CheckDNSAvailability",
        "elasticbeanstalk:CreateStorageLocation"
      ],
      "Effect":"Allow",
      "Resource":[
        "*"
      ]
    }
  ]
}
```

------

Kebijakan di atas menunjukkan bagaimana untuk memberikan akses terbatas untuk operasi Elastic Beanstalk. Untuk benar-benar meluncurkan lingkungan, pengguna harus memiliki izin untuk membuat AWS sumber daya yang memberi daya pada lingkungan juga. Sebagai contoh, kebijakan berikut memberikan akses ke set default sumber daya untuk lingkungan server web:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*",
        "ecs:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "sqs:*"
        ],
      "Resource": "*"
    }
  ]
}
```

------

### Memungkinkan akses ke log Elastic Beanstalk yang disimpan di Amazon S3
<a name="AWSHowTo.iam.policy.view-s3-logs"></a>

Kebijakan dalam contoh berikut memungkinkan pengguna untuk menarik Elastic Beanstalk log, tahap mereka di Amazon S3, dan mengambil mereka.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3:DeleteObject",
        "s3:GetObjectAcl",
        "s3:PutObjectAcl"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::elasticbeanstalk-*"
    }
  ]
}
```

------

**catatan**  
Untuk membatasi izin ini untuk hanya lintasan log, gunakan format sumber daya berikut.   

```
"arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/resources/environments/logs/*"
```

### Mengaktifkan pengelolaan aplikasi Elastic Beanstalk tertentu
<a name="AWSHowTo.iam.policy.manage-app"></a>

Kebijakan dalam contoh berikut memungkinkan pengguna untuk mengelola lingkungan dan sumber daya lainnya dalam satu aplikasi Elastic Beanstalk tertentu. Kebijakan tersebut menyangkal tindakan Elastic Beanstalk pada sumber daya aplikasi lain, dan juga menyangkal pembuatan dan penghapusan aplikasi Elastic Beanstalk.

**catatan**  
Kebijakan ini tidak menolak akses ke sumber daya apa pun melalui layanan lain. Ini menunjukkan cara yang efektif untuk mendistribusikan tanggung jawab untuk mengelola aplikasi Elastic Beanstalk di antara pengguna yang berbeda, bukan sebagai cara untuk mengamankan sumber daya yang mendasarinya.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:CreateApplication",
        "elasticbeanstalk:DeleteApplication"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:CreateApplicationVersion",
        "elasticbeanstalk:CreateConfigurationTemplate",
        "elasticbeanstalk:CreateEnvironment",
        "elasticbeanstalk:DeleteApplicationVersion",
        "elasticbeanstalk:DeleteConfigurationTemplate",
        "elasticbeanstalk:DeleteEnvironmentConfiguration",
        "elasticbeanstalk:DescribeApplicationVersions",
        "elasticbeanstalk:DescribeConfigurationOptions",
        "elasticbeanstalk:DescribeConfigurationSettings",
        "elasticbeanstalk:DescribeEnvironmentResources",
        "elasticbeanstalk:DescribeEnvironments",
        "elasticbeanstalk:DescribeEvents",
        "elasticbeanstalk:DeleteEnvironmentConfiguration",
        "elasticbeanstalk:RebuildEnvironment",
        "elasticbeanstalk:RequestEnvironmentInfo",
        "elasticbeanstalk:RestartAppServer",
        "elasticbeanstalk:RetrieveEnvironmentInfo",
        "elasticbeanstalk:SwapEnvironmentCNAMEs",
        "elasticbeanstalk:TerminateEnvironment",
        "elasticbeanstalk:UpdateApplicationVersion",
        "elasticbeanstalk:UpdateConfigurationTemplate",
        "elasticbeanstalk:UpdateEnvironment",
        "elasticbeanstalk:RetrieveEnvironmentInfo",
        "elasticbeanstalk:ValidateConfigurationSettings"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "elasticbeanstalk:InApplication": [
            "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/myapplication"
          ]
        }
      }
    }
  ]
}
```

------