

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

# Gunakan alias untuk mengontrol akses ke tombol KMS
<a name="alias-authorization"></a>

Anda dapat mengontrol akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS. Untuk melakukannya, gunakan tombol ResourceAliases kondisi [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) dan [kms:](conditions-kms.md#conditions-kms-resource-aliases). Fitur ini merupakan bagian dari AWS KMS dukungan untuk [kontrol akses berbasis atribut](abac.md) (ABAC).

Kunci `kms:RequestAlias` kondisi memungkinkan atau menolak akses ke kunci KMS berdasarkan alias dalam permintaan. Kunci `kms:ResourceAliases` kondisi memungkinkan atau menolak akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS. 

Fitur-fitur ini tidak memungkinkan Anda untuk mengidentifikasi kunci KMS dengan menggunakan alias dalam `resource` elemen pernyataan kebijakan. Ketika alias adalah nilai `resource` elemen, kebijakan berlaku untuk sumber daya alias, bukan untuk kunci KMS apa pun yang mungkin terkait dengannya.

**catatan**  
Mungkin diperlukan waktu hingga lima menit untuk perubahan tag dan alias untuk memengaruhi otorisasi kunci KMS. Perubahan terbaru mungkin terlihat dalam operasi API sebelum mempengaruhi otorisasi.

Saat menggunakan alias untuk mengontrol akses ke kunci KMS, pertimbangkan hal berikut:
+ Gunakan alias untuk memperkuat praktik terbaik dari [akses dengan keistimewaan terkecil](iam-policies-best-practices.md). Berikan kepala sekolah IAM hanya izin yang mereka butuhkan hanya untuk kunci KMS yang harus mereka gunakan atau kelola. Misalnya, gunakan alias untuk mengidentifikasi kunci KMS yang digunakan untuk proyek. Kemudian berikan izin kepada tim proyek untuk hanya menggunakan kunci KMS dengan alias proyek. 
+ Berhati-hatilah tentang memberikan prinsipal izin `kms:CreateAlias`, `kms:UpdateAlias`, atau `kms:DeleteAlias` yang memungkinkan mereka menambahkan, mengedit, dan menghapus alias. Saat Anda menggunakan alias untuk mengontrol akses ke kunci KMS, mengubah alias dapat memberikan izin kepada prinsipal untuk menggunakan kunci KMS yang tidak diizinkan untuk digunakan. Ini juga dapat menolak akses ke kunci KMS yang diperlukan oleh kepala sekolah lain untuk melakukan pekerjaan mereka. 
+ Tinjau kepala sekolah di Anda Akun AWS yang saat ini memiliki izin untuk mengelola alias dan menyesuaikan izin, jika perlu. Administrator kunci yang tidak memiliki izin untuk mengubah kebijakan kunci atau membuat hibah dapat mengontrol akses ke kunci KMS jika mereka memiliki izin untuk mengelola alias. 

  Sebagai contoh, konsol [kebijakan kunci default untuk administrator kunci](key-policy-default.md#key-policy-default-allow-administrators) termasuk izin `kms:CreateAlias`, `kms:DeleteAlias`, dan `kms:UpdateAlias`. Kebijakan IAM mungkin memberikan izin alias untuk semua kunci KMS di Anda. Akun AWS Misalnya, kebijakan [AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser)terkelola memungkinkan prinsipal untuk membuat, menghapus, dan mencantumkan alias untuk semua kunci KMS tetapi tidak memperbaruinya.
+ Sebelum menetapkan kebijakan yang bergantung pada alias, tinjau alias pada kunci KMS di Anda. Akun AWS Pastikan bahwa kebijakan Anda hanya berlaku untuk alias yang ingin Anda sertakan. Gunakan [CloudTrail log](alias-ct.md) dan [CloudWatch alarm](monitoring-cloudwatch.md) untuk mengingatkan Anda tentang perubahan alias yang mungkin memengaruhi akses ke kunci KMS Anda. Selain itu, [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)tanggapannya mencakup tanggal pembuatan dan tanggal pembaruan terakhir untuk setiap alias.
+ Kondisi kebijakan alias menggunakan pencocokan pola; mereka tidak terikat pada instans tertentu dari alias. Kebijakan yang menggunakan kunci kondisi berbasis alias memengaruhi semua alias baru dan yang sudah ada yang cocok dengan pola. Jika Anda menghapus dan membuat ulang alias yang cocok dengan kondisi kebijakan, kondisi berlaku untuk alias baru, seperti halnya pada tanda lama. 

Kunci kondisi `kms:RequestAlias` bergantung pada alias yang ditentukan secara eksplisit dalam permintaan operasi. Kunci `kms:ResourceAliases` kondisi tergantung pada alias yang terkait dengan kunci KMS, meskipun tidak muncul dalam permintaan.

## km: RequestAlias
<a name="alias-auth-request-alias"></a>

Izinkan atau tolak akses ke kunci KMS berdasarkan alias yang mengidentifikasi kunci KMS dalam permintaan. Anda dapat menggunakan [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) condition key dalam [kebijakan kunci atau kebijakan](key-policies.md) IAM. Ini berlaku untuk operasi yang menggunakan alias untuk mengidentifikasi kunci KMS dalam permintaan, yaitu [operasi kriptografi](kms-cryptography.md#cryptographic-operations),, [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)dan. [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) Ini tidak berlaku untuk operasi alias, seperti [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)atau [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html).

**penting**  
Pernyataan `Deny` kebijakan dengan `kms:RequestAlias` kondisi tidak disarankan karena penelepon dapat memintasnya dengan menggunakan [ID kunci](concepts.md#key-id-key-id), [ARN](concepts.md#key-id-key-ARN) kunci, atau alias lain untuk mengidentifikasi kunci KMS dalam permintaan. Untuk menolak akses berdasarkan alias yang terkait dengan kunci KMS, gunakan kunci ResourceAliases kondisi [kms:](conditions-kms.md#conditions-kms-resource-aliases) sebagai gantinya.

Dalam kunci kondisi, tentukan [nama alias](concepts.md#key-id-alias-name) atau pola nama alias. Anda tidak dapat menentukan [ARN alias](concepts.md#key-id-alias-ARN).

Misalnya, pernyataan kebijakan kunci berikut memungkinkan prinsipal untuk menggunakan operasi yang ditentukan pada kunci KMS. Izin hanya efektif ketika permintaan menggunakan alias yang mencakup `alpha` untuk mengidentifikasi kunci KMS.

```
{
  "Sid": "Key policy using a request alias condition",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/alpha-developer"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:RequestAlias": "alias/*alpha*"
    }
  }
}
```

Contoh permintaan berikut dari prinsipal terotorisasi akan memenuhi kondisi tersebut. Namun, permintaan yang menggunakan [ID kunci](concepts.md#key-id-key-id), [ARN kunci](concepts.md#key-id-key-ARN), atau alias yang berbeda tidak akan memenuhi kondisi, bahkan jika nilai-nilai ini mengidentifikasi kunci KMS yang sama.

```
$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
```

## km: ResourceAliases
<a name="alias-auth-resource-aliases"></a>

Izinkan atau tolak akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS, bahkan jika alias tidak digunakan dalam permintaan. Kunci ResourceAliases kondisi [kms:](conditions-kms.md#conditions-kms-resource-aliases) memungkinkan Anda menentukan pola alias atau alias, seperti`alias/test*`, sehingga Anda dapat menggunakannya dalam kebijakan IAM untuk mengontrol akses ke beberapa kunci KMS di Wilayah yang sama. Ini berlaku untuk AWS KMS operasi apa pun yang menggunakan kunci KMS. 

Misalnya, kebijakan IAM berikut memungkinkan prinsipal memanggil operasi yang ditentukan pada kunci KMS menjadi dua. Akun AWS Namun, izin hanya berlaku untuk kunci KMS yang terkait dengan alias yang dimulai dengan. `restricted`

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AliasBasedIAMPolicy",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": [
        "arn:aws:kms:*:111122223333:key/*",
        "arn:aws:kms:*:444455556666:key/*"
      ],
      "Condition": {
        "ForAnyValue:StringLike": {
          "kms:ResourceAliases": "alias/restricted*"
        }
      }
    }
  ]
}
```

------

Kondisi `kms:ResourceAliases` adalah kondisi sumber daya, bukan permintaan. Dengan demikian, permintaan yang tidak menentukan alias masih dapat memenuhi kondisi.

Contoh permintaan berikut, yang menentukan alias yang cocok, memenuhi kondisi.

```
$ aws kms enable-key-rotation --key-id "alias/restricted-project"
```

Namun, contoh permintaan berikut juga memenuhi kondisi, asalkan kunci KMS yang ditentukan memiliki alias yang dimulai dengan`restricted`, bahkan jika alias itu tidak digunakan dalam permintaan.

```
$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
```