

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

# Alias di AWS KMS
<a name="kms-alias"></a>

*Alias* adalah nama yang ramah untuk a AWS KMS key. Misalnya, alias memungkinkan Anda merujuk ke kunci KMS sebagai `test-key` gantinya. `1234abcd-12ab-34cd-56ef-1234567890ab` 

[Anda dapat menggunakan alias untuk mengidentifikasi kunci KMS di AWS KMS konsol, dalam operasi, dan dalam [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operasi [kriptografi, seperti Enkripsi](kms-cryptography.md#cryptographic-operations) dan. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) Alias juga memudahkan untuk mengenali file [Kunci yang dikelola AWS](concepts.md#aws-managed-key). Alias untuk kunci KMS ini selalu memiliki formulir. `aws/<service-name>` Misalnya, alias Kunci yang dikelola AWS untuk Amazon DynamoDB adalah. `aws/dynamodb` Anda dapat menetapkan standar alias yang serupa untuk proyek Anda, seperti mendahului nama alias Anda dengan nama proyek atau kategori.

Anda juga dapat mengizinkan dan menolak akses ke kunci KMS berdasarkan aliasnya tanpa mengedit kebijakan atau mengelola hibah. Fitur ini merupakan bagian dari AWS KMS dukungan untuk [kontrol akses berbasis atribut](abac.md) (ABAC). Lihat perinciannya di [Gunakan alias untuk mengontrol akses ke tombol KMS](alias-authorization.md).

Sebagian besar kekuatan alias berasal dari kemampuan Anda untuk mengubah kunci KMS yang terkait dengan alias kapan saja. Alias dapat membuat kode Anda lebih mudah ditulis dan dipelihara. Misalnya, Anda menggunakan alias untuk merujuk ke kunci KMS tertentu dan Anda ingin mengubah kunci KMS. Dalam hal ini, cukup kaitkan alias dengan kunci KMS yang berbeda. Anda tidak perlu mengubah kode. 

Alias juga mempermudah menggunakan kembali kode yang sama di Wilayah AWS berbeda. Buat alias dengan nama yang sama di beberapa Wilayah dan kaitkan setiap alias dengan kunci KMS di Wilayahnya. Ketika kode berjalan di setiap Wilayah, alias mengacu pada kunci KMS terkait di Wilayah tersebut. Sebagai contoh, lihat [Pelajari cara menggunakan alias dalam aplikasi](alias-using.md).

[Anda dapat membuat alias untuk kunci KMS di AWS KMS konsol, dengan menggunakan [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)API, atau dengan menggunakan template. AWS::KMS::Alias CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)

 AWS KMS API menyediakan kontrol penuh atas alias di setiap akun dan Wilayah. API mencakup operasi untuk membuat alias ([CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)), melihat nama alias dan alias ARNs ([ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)), mengubah kunci KMS yang terkait dengan alias ([UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)), dan menghapus alias (). [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)

## Cara kerja alias
<a name="alias-about"></a>

Pelajari cara kerja alias di AWS KMS.

**Alias adalah sumber daya independen AWS **  
Alias bukan milik kunci KMS. Tindakan yang Anda lakukan pada alias tidak memengaruhi kunci KMS yang terkait. Anda dapat membuat alias untuk kunci KMS dan kemudian memperbarui alias sehingga dikaitkan dengan kunci KMS yang berbeda. Anda bahkan dapat menghapus alias tanpa efek apa pun pada kunci KMS terkait. Namun, jika Anda menghapus kunci KMS, semua alias yang terkait dengan kunci KMS tersebut akan dihapus.  
Jika Anda menetapkan alias sebagai sumber daya dalam kebijakan IAM, kebijakan tersebut merujuk ke alias, bukan ke kunci KMS terkait.

**Setiap alias memiliki dua format**  
Saat Anda membuat alias, Anda menentukan nama alias. AWS KMS membuat alias ARN untuk Anda.  
+ [ARN alias](concepts.md#key-id-alias-ARN) adalah Amazon Resource Name (ARN) yang secara unik mengidentifikasi alias. 

  ```
  # Alias ARN
  arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  ```
+ [Nama alias](concepts.md#key-id-alias-name) yang unik di akun dan Wilayah. Di AWS KMS API, nama alias selalu diawali oleh. `alias/` Awalan itu dihilangkan di konsol. AWS KMS 

  ```
  # Alias name
  alias/<alias-name>
  ```

**Alias bukan rahasia**  
Alias dapat ditampilkan dalam plaintext di CloudTrail log dan output lainnya. Jangan sertakan informasi rahasia atau sensitif dalam nama alias.

**Setiap alias dikaitkan dengan satu kunci KMS pada satu waktu**  
Alias dan kunci KMS-nya harus berada di akun dan Wilayah yang sama.   
Anda dapat mengaitkan alias dengan [kunci yang dikelola pelanggan](concepts.md#customer-mgn-key) apa pun di area yang sama Akun AWS dan Wilayah. Namun, Anda tidak memiliki izin untuk mengaitkan alias dengan [Kunci yang dikelola AWS](concepts.md#aws-managed-key).  
Misalnya, [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)output ini menunjukkan bahwa `test-key` alias dikaitkan dengan tepat satu kunci KMS target, yang diwakili oleh properti. `TargetKeyId`  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
}
```

**Beberapa alias dapat dikaitkan dengan kunci KMS yang sama**  
Misalnya, Anda dapat mengaitkan `test-key` dan `project-key` alias dengan kunci KMS yang sama.  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
},
{
     "AliasName": "alias/project-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1516435200.399,
     "LastUpdatedDate": 1516435200.399
}
```

**Alias harus unik di akun dan Wilayah**  
Misalnya, Anda hanya dapat memiliki satu alias `test-key` di setiap akun dan Wilayah. Alias peka huruf besar/kecil, tetapi alias yang berbeda hanya dalam kapitalisasi mereka sangat rentan terhadap kesalahan. Anda tidak dapat mengubah nama alias. Namun, Anda dapat menghapus alias dan membuat alias baru dengan nama yang diinginkan.

**Anda dapat membuat alias dengan nama yang sama di Wilayah yang berbeda**  
Misalnya, Anda dapat memiliki alias `finance-key` di AS Timur (Virginia U.) dan alias `finance-key` di Eropa (Frankfurt). Setiap alias akan dikaitkan dengan kunci KMS di Wilayahnya. Jika kode Anda merujuk pada nama alias seperti `alias/finance-key`, Anda dapat menjalankannya di beberapa Wilayah. Di setiap Wilayah, ia menggunakan kunci KMS yang berbeda. Lihat perinciannya di [Pelajari cara menggunakan alias dalam aplikasi](alias-using.md).

**Anda dapat mengubah kunci KMS yang terkait dengan alias**  
Anda dapat menggunakan [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operasi untuk mengaitkan alias dengan kunci KMS yang berbeda. Misalnya, jika `finance-key` alias dikaitkan dengan kunci `1234abcd-12ab-34cd-56ef-1234567890ab` KMS, Anda dapat memperbaruinya sehingga dikaitkan dengan kunci `0987dcba-09fe-87dc-65ba-ab0987654321` KMS.  
Namun, kunci KMS saat ini dan yang baru harus memiliki tipe yang sama (simetris atau keduanya asimetris atau keduanya HMAC), dan mereka harus memiliki [penggunaan kunci yang sama (ENCRYPT\$1DECRYPT atau SIGN\$1VERIFY](create-keys.md#key-usage) atau GENERATE\$1VERIFY\$1MAC). Pembatasan ini mencegah kesalahan dalam kode yang menggunakan alias. Jika Anda harus mengaitkan alias dengan jenis kunci yang berbeda, dan Anda telah mengurangi risiko, Anda dapat menghapus dan membuat ulang alias.

**Beberapa kunci KMS tidak memiliki alias**  
Ketika Anda membuat kunci KMS di AWS KMS konsol, Anda harus memberikan alias baru. Tetapi alias tidak diperlukan saat Anda menggunakan [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operasi untuk membuat kunci KMS. Selain itu, Anda dapat menggunakan [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operasi untuk mengubah kunci KMS yang terkait dengan alias dan [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operasi untuk menghapus alias. Akibatnya, beberapa kunci KMS mungkin memiliki beberapa alias, dan beberapa mungkin tidak memilikinya.

**AWS membuat alias di akun Anda**  
AWS membuat alias di akun Anda untuk [Kunci yang dikelola AWS](concepts.md#aws-managed-key). Alias ini memiliki nama formulir `alias/aws/<service-name>`, seperti `alias/aws/s3`.   
Beberapa AWS alias tidak memiliki kunci KMS. Alias yang telah ditentukan ini biasanya dikaitkan dengan Kunci yang dikelola AWS ketika Anda mulai menggunakan layanan.

**Gunakan alias untuk mengidentifikasi kunci KMS**  
Anda dapat menggunakan [nama alias](concepts.md#key-id-alias-name) atau [alias ARN](concepts.md#key-id-alias-ARN) untuk mengidentifikasi kunci KMS dalam operasi [kriptografi](kms-cryptography.md#cryptographic-operations),, dan. [DescribeKey[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) (Jika [kunci KMS berbeda Akun AWS](key-policy-modifying-external-accounts.md), Anda harus menggunakan [kunci ARN atau alias ARN](concepts.md#key-id-key-ARN).) Alias bukan pengidentifikasi yang valid untuk kunci KMS dalam operasi lain. AWS KMS Untuk informasi tentang [pengidentifikasi kunci](concepts.md#key-id) yang valid untuk setiap operasi AWS KMS API, lihat deskripsi `KeyId` parameter dalam Referensi *AWS Key Management Service API*.  
Anda tidak dapat menggunakan nama alias atau alias ARN untuk [mengidentifikasi kunci KMS dalam](cmks-in-iam-policies.md) kebijakan IAM. Untuk mengontrol akses ke kunci KMS berdasarkan aliasnya, gunakan kunci kondisi [kms: RequestAlias atau [kms](conditions-kms.md#conditions-kms-resource-aliases):](conditions-kms.md#conditions-kms-request-alias). ResourceAliases Lihat perinciannya di [ABAC untuk AWS KMS](abac.md).

# Mengontrol akses ke alias
<a name="alias-access"></a>

Saat Anda membuat atau mengubah alias, Anda memengaruhi alias dan kunci KMS yang terkait. Oleh karena itu, kepala sekolah yang mengelola alias harus memiliki izin untuk memanggil operasi alias pada alias dan pada semua kunci KMS yang terpengaruh. Anda dapat memberikan izin ini dengan menggunakan [kebijakan utama](key-policies.md), [Kebijakan IAM](iam-policies.md) dan [hibah](grants.md). 

**catatan**  
Berhati-hatilah saat memberikan izin prinsipal untuk mengelola tanda dan alias. Mengubah tag atau alias dapat mengizinkan atau menolak izin ke kunci yang dikelola pelanggan. Untuk detailnya, lihat [ABAC untuk AWS KMS](abac.md) dan [Gunakan alias untuk mengontrol akses ke tombol KMS](alias-authorization.md).

Untuk informasi tentang mengontrol akses ke semua AWS KMS operasi, lihat[Referensi izin](kms-api-permissions-reference.md).

Izin untuk membuat dan mengelola alias bekerja sebagai berikut.

## km: CreateAlias
<a name="alias-access-create"></a>

Untuk membuat alias, prinsipal memerlukan izin berikut untuk alias dan kunci KMS terkait. 
+ `kms:CreateAlias` untuk alias. Memberikan izin ini dalam kebijakan IAM yang melekat pada prinsipal yang diizinkan untuk membuat alias.

  Contoh pernyataan kebijakan berikut menentukan alias tertentu dalam elemen `Resource`. Tetapi Anda dapat membuat daftar beberapa alias ARNs atau menentukan pola alias, seperti “test\$1”. Anda juga dapat menentukan nilai `Resource` dari `"*"` untuk mengizinkan prinsipal untuk membuat alias apa pun di akun dan Wilayah. Izin untuk membuat alias juga dapat dimasukkan dalam izin `kms:Create*` untuk semua sumber daya di akun dan Wilayah.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:CreateAlias`untuk kunci KMS. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci. 

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:CreateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

Anda dapat menggunakan tombol kondisi untuk membatasi kunci KMS yang dapat Anda kaitkan dengan alias. Misalnya, Anda dapat menggunakan [kms: KeySpec](conditions-kms.md#conditions-kms-key-spec) condition key untuk mengizinkan prinsipal membuat alias hanya pada kunci KMS asimetris. Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi `kms:CreateAlias` izin pada sumber daya kunci KMS, lihat[AWS KMS izin](kms-api-permissions-reference.md).

## km: ListAliases
<a name="alias-access-view"></a>

Untuk mencantumkan alias di akun dan Wilayah, prinsipal harus memiliki izin `kms:ListAliases` dalam kebijakan IAM. Karena kebijakan ini tidak terkait dengan kunci KMS atau sumber alias tertentu, nilai elemen sumber daya dalam kebijakan [harus](iam-policies-best-practices.md#require-resource-star). `"*"` 

Misalnya, pernyataan kebijakan IAM berikut memberikan izin utama untuk mencantumkan semua kunci dan alias KMS di akun dan Wilayah.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:ListKeys",
      "kms:ListAliases"
    ],
    "Resource": "*"
  }
}
```

------

## km: UpdateAlias
<a name="alias-access-update"></a>

Untuk mengubah kunci KMS yang terkait dengan alias, prinsipal membutuhkan tiga elemen izin: satu untuk alias, satu untuk kunci KMS saat ini, dan satu untuk kunci KMS baru.

Misalnya, Anda ingin mengubah `test-key` alias dari kunci KMS dengan ID kunci 1234abcd-12ab-34cd-56ef-1234567890ab ke kunci KMS dengan ID kunci 0987dcba-09fe-87dc-65ba-ab0987654321. Dalam hal ini, sertakan pernyataan kebijakan yang serupa dengan contoh pada bagian ini.
+ `kms:UpdateAlias` untuk alias. Anda memberikan izin ini dalam kebijakan IAM yang melekat pada prinsipal. Kebijakan IAM berikut menentukan alias tertentu. Tetapi Anda dapat membuat daftar beberapa alias ARNs atau menentukan pola alias, seperti. `"test*"` Anda juga dapat menentukan nilai `Resource` dari `"*"` untuk mengizinkan prinsipal untuk memperbarui alias apa pun di akun dan Wilayah.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:UpdateAlias",
      "kms:ListAliases",
      "kms:ListKeys"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:UpdateAlias`untuk kunci KMS yang saat ini dikaitkan dengan alias. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```
+ `kms:UpdateAlias`untuk kunci KMS yang diasosiasikan operasi dengan alias. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

  ```
  {
    "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias", 
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

Anda dapat menggunakan tombol kondisi untuk membatasi salah satu atau kedua kunci KMS dalam suatu `UpdateAlias` operasi. Misalnya, Anda dapat menggunakan [kms: ResourceAliases](conditions-kms.md#conditions-kms-resource-aliases) condition key untuk mengizinkan prinsipal memperbarui alias hanya ketika kunci KMS target sudah memiliki alias tertentu. Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi `kms:UpdateAlias` izin pada sumber daya kunci KMS, lihat[AWS KMS izin](kms-api-permissions-reference.md).

## km: DeleteAlias
<a name="alias-access-delete"></a>

Untuk menghapus alias, prinsipal memerlukan izin untuk alias dan kunci KMS terkait. 

Seperti biasa, Anda harus berhati-hati saat memberikan izin kepada pengguna utama untuk menghapus sumber daya. Namun, menghapus alias tidak berpengaruh pada kunci KMS terkait. Meskipun mungkin menyebabkan kegagalan dalam aplikasi yang bergantung pada alias, jika Anda tidak sengaja menghapus alias, Anda dapat membuatnya kembali.
+ `kms:DeleteAlias` untuk alias. Berikan izin ini dalam kebijakan IAM yang melekat pada prinsipal yang diizinkan untuk menghapus alias.

  Contoh pernyataan kebijakan berikut menentukan alias dalam elemen. `Resource` Tetapi Anda dapat membuat daftar beberapa alias ARNs atau menentukan pola alias, seperti`"test*"`, Anda juga dapat menentukan `Resource` nilai `"*"` untuk memungkinkan prinsipal menghapus alias apa pun di akun dan Wilayah.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:DeleteAlias`untuk kunci KMS terkait. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"
    },
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

## Membatasi izin alias
<a name="alias-access-limiting"></a>

Anda dapat menggunakan tombol kondisi untuk membatasi izin alias ketika sumber daya adalah kunci KMS. Misalnya, kebijakan IAM berikut memungkinkan operasi alias pada kunci KMS di akun dan Wilayah tertentu. Namun, ia menggunakan kunci KeyOrigin kondisi [kms:](conditions-kms.md#conditions-kms-key-origin) untuk lebih membatasi izin ke kunci KMS dengan materi kunci dari. AWS KMS

Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi izin alias pada sumber daya kunci KMS, lihat. [AWS KMS izin](kms-api-permissions-reference.md)

```
{
  "Sid": "IAMPolicyKeyPermissions",
  "Effect": "Allow",
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/*",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Condition": {
    "StringEquals": {
      "kms:KeyOrigin": "AWS_KMS"
    }
  }  
}
```

Anda tidak dapat menggunakan kunci kondisi dalam pernyataan kebijakan di mana sumber daya adalah alias. Untuk membatasi alias yang dapat dikelola oleh prinsipal, gunakan nilai dari elemen `Resource` dari pernyataan kebijakan IAM yang mengontrol akses ke alias. Misalnya, pernyataan kebijakan berikut memungkinkan prinsipal untuk membuat, memperbarui, atau menghapus alias apa pun di Akun AWS dan Wilayah kecuali alias dimulai dengan. `Restricted`

```
{
  "Sid": "IAMPolicyForAnAliasAllow",
  "Effect": "Allow",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*"
},
{
  "Sid": "IAMPolicyForAnAliasDeny",
  "Effect": "Deny",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*"
}
```

# Buat alias
<a name="alias-create"></a>

Anda dapat membuat alias di AWS KMS konsol atau dengan menggunakan operasi AWS KMS API. 

Alias harus string berisi 1-256 karakter. Ini hanya dapat berisi karakter alfanumerik, garis miring depan (/), garis bawah (\$1), dan tanda garis (-). Nama alias untuk [kunci yang dikelola pelanggan](concepts.md#customer-mgn-key) tidak dapat dimulai dengan`alias/aws/`. `alias/aws/`Awalan dicadangkan untuk [Kunci yang dikelola AWS](concepts.md#aws-managed-key).

Anda dapat membuat alias untuk kunci KMS baru atau untuk kunci KMS yang ada. Anda dapat menambahkan alias sehingga kunci KMS tertentu digunakan dalam proyek atau aplikasi. 

Anda juga dapat menggunakan AWS CloudFormation template untuk membuat alias untuk kunci KMS. Untuk informasi selengkapnya, lihat [AWS::KMS::Alias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html) di *AWS CloudFormation Panduan Pengguna*.

## Menggunakan AWS KMS konsol
<a name="alias-create-console"></a>

Saat Anda [membuat kunci KMS](create-keys.md) di AWS KMS konsol, Anda harus membuat alias untuk kunci KMS baru. Untuk membuat alias untuk kunci KMS yang ada, gunakan tab **Alias** pada halaman detail untuk kunci KMS.

1. Masuk ke Konsol Manajemen AWS dan buka konsol AWS Key Management Service (AWS KMS) di [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Di panel navigasi, pilih **Kunci yang dikelola pelanggan**. Anda tidak dapat mengelola alias untuk Kunci yang dikelola AWS atau Kunci milik AWS.

1. Dalam tabel, pilih ID kunci atau alias kunci KMS. Kemudian, pada halaman detail kunci KMS, pilih tab **Alias**.

   *Jika kunci KMS memiliki beberapa alias, kolom **Alias** dalam tabel menampilkan satu alias dan ringkasan alias, seperti **(**\$1 n lebih).* Memilih ringkasan alias akan membawa Anda langsung ke tab **Alias** pada halaman detail kunci KMS.

1. Pada tab **Alias**, pilih **Buat alias**. Masukkan nama alias dan pilih **Buat alias**.
**penting**  
Jangan sertakan informasi rahasia atau sensitif di bidang ini. Bidang ini dapat ditampilkan dalam plaintext di CloudTrail log dan output lainnya.
**catatan**  
Jangan tambahkan `alias/` awalan. Konsol secara otomatis menambahkannya untuk Anda. Jika Anda memasukkan `alias/ExampleAlias`, nama alias sebenarnya akan `alias/alias/ExampleAlias`.

## Menggunakan AWS KMS API
<a name="alias-create-api"></a>

Untuk membuat alias, gunakan [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operasi. Berbeda dengan proses pembuatan kunci KMS di konsol, [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operasi tidak membuat alias untuk kunci KMS baru.

**penting**  
Jangan sertakan informasi rahasia atau sensitif di bidang ini. Bidang ini dapat ditampilkan dalam plaintext di CloudTrail log dan output lainnya.

Anda dapat menggunakan `CreateAlias` operasi untuk membuat alias untuk kunci KMS baru tanpa alias. Anda juga dapat menggunakan `CreateAlias` operasi untuk menambahkan alias ke kunci KMS yang ada atau untuk membuat ulang alias yang tidak sengaja dihapus. 

Dalam operasi AWS KMS API, nama alias harus dimulai dengan `alias/` diikuti dengan nama, seperti`alias/ExampleAlias`. Alias harus unik di akun dan Wilayah. Untuk menemukan nama alias yang sudah digunakan, gunakan [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operasi. Nama alias peka terhadap huruf besar-kecil.

`TargetKeyId`Dapat berupa [kunci yang dikelola pelanggan](concepts.md#customer-mgn-key) dalam hal yang sama Wilayah AWS. Untuk mengidentifikasi kunci KMS, gunakan [ID kunci](concepts.md#key-id-key-id) atau [kunci ARN](concepts.md#key-id-key-ARN). Anda tidak dapat menggunakan alias lain.

Contoh berikut membuat `example-key` alias dan mengaitkannya dengan kunci KMS tertentu. Contoh-contoh ini menggunakan AWS Command Line Interface (AWS CLI). Untuk contoh dalam beberapa bahasa pemrograman, lihat [Gunakan `CreateAlias` dengan AWS SDK atau CLI](example_kms_CreateAlias_section.md).

```
$ aws kms create-alias \
    --alias-name alias/example-key \
    --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
```

`CreateAlias`tidak mengembalikan output apa pun. Untuk melihat alias baru, gunakan operasi `ListAliases`. Lihat perinciannya di [Menggunakan AWS KMS API](alias-view.md#alias-view-api).

# Temukan nama alias dan alias ARN untuk kunci KMS
<a name="alias-view"></a>

Alias memudahkan untuk mengenali kunci KMS di konsol. AWS KMS Anda dapat melihat alias untuk kunci KMS di AWS KMS konsol atau dengan menggunakan operasi. [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)Operasi, yang mengembalikan properti kunci KMS, tidak termasuk alias.

Prosedur berikut menunjukkan cara melihat dan mengidentifikasi alias yang terkait dengan kunci KMS menggunakan AWS KMS konsol dan AWS KMS API. Contoh AWS KMS API menggunakan [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), tetapi Anda dapat menggunakan bahasa pemrograman yang didukung.

## Menggunakan AWS KMS konsol
<a name="alias-view-console"></a>

 AWS KMS Konsol menampilkan alias yang terkait dengan kunci KMS. 

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

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Untuk melihat tombol di akun yang Anda buat dan kelola, di panel navigasi pilih **CMK**. Untuk melihat kunci di akun yang AWS membuat dan mengelola untuk Anda, di panel navigasi, pilih **kunci AWS terkelola**.

1. Kolom **Alias** menampilkan alias untuk setiap tombol KMS. Jika kunci KMS tidak memiliki alias, tanda hubung (**-**) muncul di kolom **Alias**.

   *Jika kunci KMS memiliki beberapa alias, kolom **Alias** juga memiliki ringkasan alias, seperti **(\$1** n lebih).* Misalnya, kunci KMS berikut memiliki dua alias, salah satunya adalah. `key-test` 

   **Untuk menemukan nama alias dan alias ARN dari semua alias untuk kunci KMS, gunakan tab Alias.** 
   + Untuk pergi langsung ke tab **Alias**, di kolom **Alias**, pilih ringkasan alias (**\$1*n* lebih banyak**). Ringkasan alias hanya muncul jika kunci KMS memiliki lebih dari satu alias.
   + **Atau, pilih alias atau ID kunci dari kunci KMS (yang membuka halaman detail untuk tombol KMS) dan kemudian pilih tab Alias.** Tab ada di bawah bagian **Konfigurasi umum**.   
![\[Kunci yang dikelola pelanggan interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. Tab **Alias** menampilkan nama alias dan alias ARN dari semua alias untuk kunci KMS. Anda juga dapat membuat dan menghapus alias untuk tombol KMS pada tab ini.  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/alias-tab-1.png)

**Kunci yang dikelola AWS**  
Anda dapat menggunakan alias untuk mengenali Kunci yang dikelola AWS, seperti yang ditunjukkan pada **Kunci yang dikelola AWS**halaman contoh ini. Alias untuk Kunci yang dikelola AWS selalu memiliki format:`aws/<service-name>`. Misalnya, alias Kunci yang dikelola AWS untuk Amazon DynamoDB adalah. `aws/dynamodb`

![\[Alias di Kunci yang dikelola AWShalaman konsol AWS KMS\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


## Menggunakan AWS KMS API
<a name="alias-view-api"></a>

[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)Operasi mengembalikan nama alias dan alias ARN alias di akun dan Wilayah. Outputnya mencakup alias untuk Kunci yang dikelola AWS dan untuk kunci yang dikelola pelanggan. Alias untuk Kunci yang dikelola AWS memiliki format`aws/<service-name>`, seperti`aws/dynamodb`.

Respons mungkin juga menyertakan alias yang tidak memiliki bidang `TargetKeyId`. Ini adalah alias yang AWS telah ditentukan sebelumnya yang telah dibuat tetapi belum dikaitkan dengan kunci KMS.

```
$ aws kms list-aliases
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1516435200.399,
            "LastUpdatedDate": 1516435200.399
        },        
        {
            "AliasName": "alias/ECC-P521-Sign",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1693622000.704,
            "LastUpdatedDate": 1693622000.704
        },
        {
            "AliasName": "alias/ImportedKey",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey",
            "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d",
            "CreationDate": 1493622000.704,
            "LastUpdatedDate": 1521097200.235
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        },
        {
            "AliasName": "alias/aws/dynamodb",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb",
            "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef",
            "CreationDate": 1521097200.454,
            "LastUpdatedDate": 1521097200.454
        },
        {
            "AliasName": "alias/aws/ebs",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs",
            "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321",
            "CreationDate": 1466518990.200,
            "LastUpdatedDate": 1466518990.200
        }
    ]
}
```

Untuk mendapatkan semua alias yang terkait dengan kunci KMS tertentu, gunakan `KeyId` parameter opsional operasi. `ListAliases` `KeyId`Parameter mengambil [ID kunci](concepts.md#key-id-key-id) atau [kunci ARN](concepts.md#key-id-key-ARN) dari kunci KMS. 

Contoh ini mendapatkan semua alias yang terkait dengan kunci `0987dcba-09fe-87dc-65ba-ab0987654321` KMS.

```
$ aws kms list-aliases --key-id 0987dcba-09fe-87dc-65ba-ab0987654321
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": "2018-01-20T15:23:10.194000-07:00",
            "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        }
    ]
}
```

Parameter `KeyId` tidak mengambil karakter wildcard, tetapi Anda dapat menggunakan fitur bahasa pemrograman Anda untuk menyaring respons. 

Misalnya, AWS CLI perintah berikut hanya mendapatkan alias untuk Kunci yang dikelola AWS.

```
$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'
```

Perintah berikut hanya mendapatkan alias `access-key`. Nama alias peka terhadap huruf besar-kecil.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/access-key`]'
[
    {
        "AliasName": "alias/access-key",
        "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
        "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": "2018-01-20T15:23:10.194000-07:00",
        "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
    }
]
```

# Perbarui alias
<a name="alias-update"></a>

Karena alias adalah sumber daya independen, Anda dapat mengubah kunci KMS yang terkait dengan alias. Misalnya, jika `test-key` alias dikaitkan dengan satu kunci KMS, Anda dapat menggunakan [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operasi untuk mengaitkannya dengan kunci KMS yang berbeda. Ini adalah salah satu dari beberapa cara untuk [memutar kunci KMS secara manual](rotate-keys.md) tanpa mengubah materi utamanya. Anda juga dapat memperbarui kunci KMS sehingga aplikasi yang menggunakan satu kunci KMS untuk sumber daya baru sekarang menggunakan kunci KMS yang berbeda.

Anda tidak dapat memperbarui alias di AWS KMS konsol. Juga, Anda tidak dapat menggunakan `UpdateAlias` (atau operasi lainnya) untuk mengubah nama alias. Untuk mengubah nama alias, hapus alias saat ini dan kemudian buat alias baru untuk kunci KMS.

Saat Anda memperbarui alias, kunci KMS saat ini dan kunci KMS baru harus tipe yang sama (simetris atau asimetris atau HMAC). Mereka juga harus memiliki penggunaan kunci yang sama (`ENCRYPT_DECRYPT`atau `SIGN_VERIFY` atau GENERATE\$1VERIFY\$1MAC). Pembatasan ini mencegah kesalahan kriptografi dalam kode yang menggunakan alias. 

Contoh berikut dimulai dengan menggunakan [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operasi untuk menunjukkan bahwa `test-key` alias saat ini dikaitkan dengan kunci KMS. `1234abcd-12ab-34cd-56ef-1234567890ab` 

```
$ aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{
    "Aliases": [
        {
            "AliasName": "alias/test-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1593622000.191,
            "LastUpdatedDate": 1593622000.191
        }
    ]
}
```

Selanjutnya, ia menggunakan `UpdateAlias` operasi untuk mengubah kunci KMS yang terkait dengan `test-key` alias ke kunci KMS. `0987dcba-09fe-87dc-65ba-ab0987654321` Anda tidak perlu menentukan kunci KMS yang saat ini terkait, hanya kunci KMS baru (“target”). Nama alias peka terhadap huruf besar-kecil.

```
$ aws kms update-alias --alias-name 'alias/test-key' --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
```

Untuk memverifikasi bahwa alias sekarang dikaitkan dengan kunci KMS target, gunakan `ListAliases` operasi lagi. AWS CLI Perintah ini menggunakan `--query` parameter untuk mendapatkan hanya `test-key` alias. Bidang `TargetKeyId` dan `LastUpdatedDate` diperbarui.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]'
[
    {
        "AliasName": "alias/test-key",
        "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
        "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": 1593622000.191,
        "LastUpdatedDate": 1604958290.154
    }
]
```

# Hapus alias
<a name="alias-delete"></a>

Anda dapat menghapus alias di AWS KMS konsol atau dengan menggunakan [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operasi. Sebelum menghapus alias, pastikan bahwa itu tidak digunakan. Meskipun menghapus alias tidak memengaruhi kunci KMS terkait, itu mungkin menimbulkan masalah untuk aplikasi apa pun yang menggunakan alias. Jika Anda menghapus alias secara tidak sengaja, Anda dapat membuat alias baru dengan nama yang sama dan mengaitkannya dengan kunci KMS yang sama atau berbeda.

Jika Anda menghapus kunci KMS, semua alias yang terkait dengan kunci KMS tersebut akan dihapus.

## Menggunakan AWS KMS konsol
<a name="alias-delete-console"></a>

Untuk menghapus alias di AWS KMS konsol, gunakan tab **Alias** pada halaman detail untuk tombol KMS. Anda dapat menghapus beberapa alias untuk kunci KMS sekaligus.

1. Masuk ke Konsol Manajemen AWS dan buka konsol AWS Key Management Service (AWS KMS) di [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Di panel navigasi, pilih **Kunci yang dikelola pelanggan**. Anda tidak dapat mengelola alias untuk Kunci yang dikelola AWS atau Kunci milik AWS.

1. Dalam tabel, pilih ID kunci atau alias kunci KMS. Kemudian, pada halaman detail kunci KMS, pilih tab **Alias**.

   *Jika kunci KMS memiliki beberapa alias, kolom **Alias** dalam tabel menampilkan satu alias dan ringkasan alias, seperti **(**\$1 n lebih).* Memilih ringkasan alias akan membawa Anda langsung ke tab **Alias** pada halaman detail kunci KMS.

1. Pada tab **Alias**, pilih kotak centang di samping alias yang ingin Anda hapus. Kemudian pilih **Hapus**.

## Menggunakan AWS KMS API
<a name="alias-delete-api"></a>

Untuk menghapus alias, gunakan [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operasi. Operasi ini menghapus satu alias pada satu waktu. Nama alias peka terhadap huruf besar-kecil dan harus didahului oleh prefiks `alias/`.

Misalnya, perintah berikut menghapus alias `test-key`. Perintah ini tidak memberikan output apa pun. 

```
$ aws kms delete-alias --alias-name alias/test-key
```

Untuk memverifikasi bahwa alias dihapus, gunakan [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operasi. Perintah berikut menggunakan `--query` parameter dalam AWS CLI untuk mendapatkan hanya `test-key` alias. Tanda kurung kosong dalam respons menunjukkan bahwa respons `ListAliases` tidak menyertakan alias `test-key`. Untuk menghilangkan tanda kurung, gunakan parameter dan nilai `--output text`.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]'
[]
```

# 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"
```

# Pelajari cara menggunakan alias dalam aplikasi
<a name="alias-using"></a>

Anda dapat menggunakan alias untuk mewakili kunci KMS dalam kode aplikasi Anda. `KeyId`Parameter dalam [operasi AWS KMS 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)menerima nama alias atau alias ARN.

Misalnya, `GenerateDataKey` perintah berikut menggunakan nama alias (`alias/finance`) untuk mengidentifikasi kunci KMS. Nama alias adalah nilai dari parameter `KeyId`. 

```
$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256
```

Jika kunci KMS berbeda Akun AWS, Anda harus menggunakan kunci ARN atau alias ARN dalam operasi ini. Saat menggunakan alias ARN, ingatlah bahwa alias untuk kunci KMS didefinisikan dalam akun yang memiliki kunci KMS dan mungkin berbeda di setiap Wilayah. Untuk bantuan menemukan alias ARN, lihat [Temukan nama alias dan alias ARN untuk kunci KMS](alias-view.md).

Misalnya, `GenerateDataKey` perintah berikut menggunakan kunci KMS yang tidak ada di akun pemanggil. `ExampleAlias`Alias dikaitkan dengan kunci KMS di akun dan Wilayah yang ditentukan.

```
$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256
```

Salah satu penggunaan alias yang paling kuat adalah pada aplikasi yang berjalan dalam beberapa Wilayah AWS. Misalnya, Anda mungkin memiliki aplikasi global yang menggunakan [kunci KMS asimetris](symmetric-asymmetric.md) RSA untuk penandatanganan dan verifikasi. 
+ Di AS Barat (Oregon) (us-west-2), Anda dapat menggunakan `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`. 
+ Di Eropa (Frankfurt) (eu-central-1), Anda dapat menggunakan `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321`
+ Di Asia Pasifik (Singapura) (ap-southeast-1), Anda ingin menggunakan `arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d`.

Anda dapat membuat versi aplikasi yang berbeda di setiap Wilayah atau menggunakan kamus atau pernyataan switch untuk memilih kunci KMS yang tepat untuk setiap Wilayah. Tetapi jauh lebih mudah untuk membuat alias dengan nama alias yang sama di setiap Wilayah. Ingat bahwa nama alias peka terhadap huruf besar-kecil.

```
aws --region us-west-2 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

aws --region eu-central-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

aws --region ap-southeast-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
```

Kemudian, gunakan alias dalam kode Anda. Ketika kode Anda berjalan di setiap Wilayah, alias akan merujuk ke kunci KMS terkait di Wilayah tersebut. Sebagai contoh, kode ini memanggil operasi [Tanda tangan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) dengan nama alias.

```
aws kms sign --key-id alias/new-app \
    --message $message \
    --message-type RAW \
    --signing-algorithm RSASSA_PSS_SHA_384
```

Namun, ada risiko bahwa alias mungkin dihapus atau diperbarui untuk dikaitkan dengan kunci KMS yang berbeda. Dalam hal ini, upaya aplikasi untuk memverifikasi tanda tangan menggunakan nama alias akan gagal, dan Anda mungkin perlu membuat ulang atau memperbarui alias.

Untuk mengurangi risiko ini, berhati-hatilah dengan memberikan prinsipal izin untuk mengelola alias yang Anda gunakan dalam aplikasi Anda. Untuk rincian selengkapnya, lihat [Mengontrol akses ke alias](alias-access.md).

Ada beberapa solusi lain untuk aplikasi yang mengenkripsi data dalam beberapa Wilayah AWS, termasuk [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).

# Temukan alias di log AWS CloudTrail
<a name="alias-ct"></a>

Anda dapat menggunakan alias untuk mewakili AWS KMS key dalam operasi AWS KMS API. Ketika Anda melakukannya, alias dan kunci ARN dari kunci KMS dicatat dalam entri log AWS CloudTrail untuk acara tersebut. Alias muncul dalam bidang `requestParameters`. ARN kunci muncul dalam bidang `resources`. Hal ini berlaku bahkan ketika AWS layanan menggunakan Kunci yang dikelola AWS di akun Anda. 

Misalnya, [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)permintaan berikut menggunakan `project-key` alias untuk mewakili kunci KMS.

```
$ aws kms generate-data-key --key-id alias/project-key --key-spec AES_256
```

Ketika permintaan ini dicatat dalam CloudTrail log, entri log mencakup alias dan ARN kunci dari kunci KMS aktual yang digunakan. 

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDE",
        "arn": "arn:aws:iam::111122223333:role/ProjectDev",
        "accountId": "111122223333",
        "accessKeyId": "FFHIJ",
        "userName": "example-dev"
    },
    "eventTime": "2020-06-29T23:36:41Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "205.205.123.000",
    "userAgent": "aws-cli/1.18.89 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.12",
    "requestParameters": {
        "keyId": "alias/project-key",
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "d93f57f5-d4c5-4bab-8139-5a1f7824a363",
    "eventID": "d63001e2-dbc6-4aae-90cb-e5370aca7125",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "111122223333"
}
```

Untuk detail tentang AWS KMS operasi pencatatan di CloudTrail log, lihat[Logging panggilan AWS KMS API dengan AWS CloudTrail](logging-using-cloudtrail.md).