全部产品
Search
文档中心

IoT Platform:Izin Kustom

更新时间:Jul 06, 2025

Anda dapat membuat kebijakan kustom untuk mengelola izin secara lebih rinci.

Informasi Latar Belakang

Anda dapat menentukan izin untuk mengizinkan atau menolak operasi pada sumber daya dalam kondisi tertentu. Izin didefinisikan dalam kebijakan Resource Access Management (RAM). Anda dapat mendefinisikan izin kustom dengan membuat kebijakan kustom.

Untuk informasi lebih lanjut, lihat Buat kebijakan kustom. Topik ini menjelaskan cara membuat kebijakan kustom dengan mengedit skrip di tab JSON dari konsol RAM.

Prosedur

  1. Masuk ke Konsol RAM sebagai pengguna RAM yang memiliki hak administratif.

  2. Di panel navigasi sebelah kiri, pilih Permissions > Policies.

  3. Pada halaman Policies, klik Create Policy.

    image

  4. Pada halaman Create Policy, klik tab JSON.

    image

  5. Masukkan konten kebijakan berikut di editor kode dan klik Masukkan konten kebijakan..

    Untuk informasi lebih lanjut tentang sintaks dan struktur kebijakan RAM, lihat Struktur dan sintaks kebijakan.

    Konfigurasikan kebijakan dalam format JSON. Elemen-elemen berikut diperlukan:

    • Action: tindakan yang ingin Anda otorisasi. Tindakan Platform IoT dimulai dengan iot:. Untuk informasi lebih lanjut tentang tindakan dan contohnya, lihat bagian "Tentukan tindakan" dari topik ini.

    • Effect: jenis otorisasi. Nilai valid: Allow dan Deny.

    • Resource: sumber daya yang ingin Anda otorisasi kepada pengguna RAM untuk diakses.

      Jika Anda ingin memberi otorisasi kepada pengguna RAM untuk mengakses semua sumber daya Platform IoT Anda, atur parameter ini ke *.

    • Condition: kondisi. IoT tidak mendukung definisi Condition.

    Untuk informasi lebih lanjut, lihat Elemen dasar kebijakan.

  6. Dalam kotak dialog Create Policy, konfigurasikan parameter Name dan Description lalu klik OK.

Tentukan tindakan

Untuk menentukan tindakan untuk suatu kebijakan, Anda harus menentukan operasi API di elemen Action. Saat Anda membuat kebijakan untuk memberikan izin pada Platform IoT, tentukan tindakan Platform IoT di elemen Action. Setiap tindakan Platform IoT harus dimulai dengan iot:. Beberapa tindakan harus dipisahkan oleh koma (,). Anda dapat mengatur nilai elemen Action ke asterisk (*), yang menunjukkan wildcard. Untuk informasi tentang operasi API Platform IoT, lihat Pemetaan operasi Platform IoT dan kebijakan RAM.

Contoh berikut menunjukkan cara menentukan tindakan.

  • Tentukan satu operasi API untuk mendefinisikan tindakan.

    "Action": "iot:CreateProduct"
  • Tentukan beberapa operasi API untuk mendefinisikan tindakan.

    "Action": [
    "iot:UpdateProduct",
    "iot:QueryProduct"
    ]
  • Tentukan semua operasi API hanya-baca untuk mendefinisikan tindakan, termasuk tindakan yang dilakukan ketika mesin aturan meneruskan data produk.

    {
      "Version": "1", 
      "Statement": [
        {
          "Action": [
            "iot:Query*", 
            "iot:List*", 
            "iot:Get*", 
            "iot:BatchGet*", 
            "iot:Check*"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "rds:DescribeDBInstances", 
            "rds:DescribeDatabases", 
            "rds:DescribeAccounts", 
            "rds:DescribeDBInstanceNetInfo"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:ListRoles", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "mns:ListTopic", 
            "mns:GetTopicRef"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "ots:ListInstance", 
            "ots:GetInstance", 
            "ots:ListTable", 
            "ots:DescribeTable"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "fc:ListServices", 
            "fc:GetService", 
            "fc:GetFunction", 
            "fc:ListFunctions"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "log:ListShards", 
            "log:ListLogStores", 
            "log:ListProject"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "cms:QueryMetricList"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }
      ]
    }
  • Tentukan semua operasi API baca/tulis untuk mendefinisikan tindakan, termasuk tindakan yang dilakukan ketika mesin aturan meneruskan data produk.

    {
      "Version": "1", 
      "Statement": [
        {
          "Action": "iot:*", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "rds:DescribeDBInstances", 
            "rds:DescribeDatabases", 
            "rds:DescribeAccounts", 
            "rds:DescribeDBInstanceNetInfo", 
            "rds:ModifySecurityIps"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:ListRoles", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "mns:ListTopic", 
            "mns:GetTopicRef"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "ots:ListInstance", 
            "ots:ListTable", 
            "ots:DescribeTable", 
            "ots:GetInstance"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "fc:ListServices", 
            "fc:GetService", 
            "fc:GetFunction", 
            "fc:ListFunctions"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "log:ListShards", 
            "log:ListLogStores", 
            "log:ListProject"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:PassRole", 
          "Resource": "*", 
          "Effect": "Allow", 
          "Condition": {
            "StringEquals": {
              "acs:Service": "iot.aliyuncs.com"
            }
          }
        }, 
        {
          "Action": [
            "cms:QueryMetricList"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }
      ]
    }

Setelah kebijakan dibuat, Anda dapat melampirkan kebijakan tersebut ke pengguna RAM. Kemudian, pengguna RAM dapat melakukan operasi yang didefinisikan dalam kebijakan. Untuk informasi lebih lanjut tentang cara membuat dan memberi otorisasi kepada pengguna RAM, lihat Akses Platform IoT sebagai pengguna RAM.