

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

# Membuat dan mengelola peran layanan untuk AWS IoT TwinMaker
<a name="twinmaker-gs-service-role"></a>

AWS IoT TwinMaker mengharuskan Anda menggunakan peran layanan untuk memungkinkannya mengakses sumber daya di layanan lain atas nama Anda. Peran ini harus memiliki hubungan kepercayaan dengan AWS IoT TwinMaker. Saat membuat ruang kerja, Anda harus menetapkan peran ini ke ruang kerja. Topik ini berisi contoh kebijakan yang menunjukkan cara mengonfigurasi izin untuk skenario umum.

## Tetapkan kepercayaan
<a name="twinmaker-gs-service-role-trust"></a>

Kebijakan berikut menetapkan hubungan kepercayaan antara peran Anda dan AWS IoT TwinMaker. Tetapkan hubungan kepercayaan ini ke peran yang Anda gunakan untuk ruang kerja Anda.

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

****  

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

------

## Izin Amazon S3
<a name="twinmaker-gs-service-role-s3"></a>

Kebijakan berikut memungkinkan peran Anda membaca dan menghapus dari dan menulis ke bucket Amazon S3. Ruang kerja menyimpan sumber daya di Amazon S3, sehingga izin Amazon S3 diperlukan untuk semua ruang kerja.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucket*",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*"
      ]
    }
  ]
}
```

------

**catatan**  
Saat Anda membuat ruang kerja, AWS IoT TwinMaker buat file di bucket Amazon S3 yang menunjukkan bahwa file tersebut digunakan oleh ruang kerja. Kebijakan ini memberikan AWS IoT TwinMaker izin untuk menghapus file tersebut saat Anda menghapus ruang kerja.  
AWS IoT TwinMaker menempatkan objek lain yang terkait dengan ruang kerja Anda. Anda bertanggung jawab untuk menghapus objek ini saat Anda menghapus ruang kerja.

## Tetapkan izin ke bucket Amazon S3 tertentu
<a name="twinmaker-gs-service-role-bucket"></a>

Saat membuat ruang kerja di AWS IoT TwinMaker konsol, Anda dapat memilih untuk AWS IoT TwinMaker membuat bucket Amazon S3 untuk Anda. Anda dapat menemukan informasi tentang bucket ini dengan menggunakan AWS CLI perintah berikut.

```
  aws iottwinmaker get-workspace --workspace-id workspace name              
```

Contoh berikut menunjukkan format output dari perintah ini.

```
{
    "arn": "arn:aws:iottwinmaker:region:account Id:workspace/workspace name",
    "creationDateTime": "2021-11-30T11:30:00.000000-08:00",
    "description": "",
    "role": "arn:aws:iam::account Id:role/service role name",
    "s3Location": "arn:aws:s3:::bucket name",
    "updateDateTime": "2021-11-30T11:30:00.000000-08:00",
    "workspaceId": "workspace name"
}
```

Untuk memperbarui kebijakan Anda sehingga menetapkan izin untuk bucket Amazon S3 tertentu, gunakan nilai. *bucket name*

Kebijakan berikut memungkinkan peran Anda membaca dan menghapus dari dan menulis ke bucket Amazon S3 tertentu.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucket*",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket name",
        "arn:aws:s3:::bucket name/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::iottwinmakerbucket/DO_NOT_DELETE_WORKSPACE_*"
      ]
    }
  ]
}
```

------

## Izin untuk konektor bawaan
<a name="twinmaker-gs-service-role-sitewise"></a>

Jika ruang kerja Anda berinteraksi dengan AWS layanan lain menggunakan konektor bawaan, Anda harus menyertakan izin untuk layanan tersebut dalam kebijakan ini. Jika Anda menggunakan jenis komponen **com.amazon.iotsitewise.connector**, Anda harus menyertakan izin untuk. AWS IoT SiteWise Untuk informasi selengkapnya tentang jenis komponen, lihat[Menggunakan dan membuat tipe komponen](twinmaker-component-types.md). 

**catatan**  
Jika Anda berinteraksi dengan AWS layanan lain menggunakan jenis komponen kustom, Anda harus memberikan izin peran untuk menjalankan fungsi Lambda yang mengimplementasikan fungsi dalam tipe komponen Anda. Untuk informasi selengkapnya, lihat [Izin untuk konektor ke sumber data eksternal](#twinmaker-gs-service-role-external).

Contoh berikut menunjukkan cara memasukkan AWS IoT SiteWise dalam kebijakan Anda.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucket*",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket name",
        "arn:aws:s3:::bucket name/*"
      ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "iotsitewise:DescribeAsset"
        ],
        "Resource": "arn:aws:s3:::bucket name"
        },
    {
        "Effect": "Allow",
        "Action": [
            "iotsitewise:DescribeAssetModel"
        ],
        "Resource": "arn:aws:s3:::bucket name"
        },
    {
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*"
      ]
    }
  ]
}
```

------

Jika Anda menggunakan tipe komponen **com.amazon.iotsitewise.connector** dan perlu membaca data properti dari, Anda harus menyertakan izin berikut dalam kebijakan Anda. AWS IoT SiteWise

```
...
{
    "Action": [
        "iotsitewise:GetPropertyValueHistory",
    ],
    "Resource": [
        "AWS IoT SiteWise asset resource ARN"
    ],
    "Effect": "Allow"
},
...
```

Jika Anda menggunakan tipe komponen **com.amazon.iotsitewise.connector** dan perlu menulis data properti, Anda harus menyertakan izin berikut dalam kebijakan Anda. AWS IoT SiteWise

```
...
{
    "Action": [
        "iotsitewise:BatchPutPropertyValues",
    ],
    "Resource": [
        "AWS IoT SiteWise asset resource ARN"
    ],
    "Effect": "Allow"
},
...
```

Jika Anda menggunakan jenis komponen **com.amazon.iotsitewise.connector.edgevideo, Anda harus menyertakan izin untuk dan Kinesis** Video Streams. AWS IoT SiteWise Kebijakan contoh berikut menunjukkan cara menyertakan AWS IoT SiteWise dan izin Kinesis Video Streams dalam kebijakan Anda. 

```
...
{
    "Action": [
        "iotsitewise:DescribeAsset",
        "iotsitewise:GetAssetPropertyValue"
    ],
    "Resource": [
        "AWS IoT SiteWise asset resource ARN for the Edge Connector for Kinesis Video Streams"
    ],
    "Effect": "Allow"
},
{
    "Action": [
        "iotsitewise:DescribeAssetModel"
    ],
    "Resource": [
        "AWS IoT SiteWise model resource ARN for the Edge Connector for Kinesis Video Streams"
    ],
    "Effect": "Allow"
},
{
    "Action": [
        "kinesisvideo:DescribeStream"
    ],
    "Resource": [
        "Kinesis Video Streams stream ARN"
    ],
    "Effect": "Allow"
},
...
```

## Izin untuk konektor ke sumber data eksternal
<a name="twinmaker-gs-service-role-external"></a>

Jika Anda membuat tipe komponen yang menggunakan fungsi yang terhubung ke sumber data eksternal, Anda harus memberikan izin peran layanan untuk menggunakan fungsi Lambda yang mengimplementasikan fungsi tersebut. Untuk informasi selengkapnya tentang membuat tipe dan fungsi komponen, lihat[Menggunakan dan membuat tipe komponen](twinmaker-component-types.md).

Contoh berikut memberikan izin ke peran layanan Anda untuk menggunakan fungsi Lambda.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucket*",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
          "arn:aws:s3:::amzn-s3-demo-bucket",
          "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ]
    },
    {
        "Action": [
            "lambda:invokeFunction"
        ],
        "Resource": [
        "arn:aws:lambda:us-east-1:111122223333:function:example-function"
        ],
        "Effect": "Allow"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*"
      ]
    }
  ]
}
```

------

Untuk informasi selengkapnya tentang membuat peran dan menetapkan kebijakan serta hubungan kepercayaan kepada mereka dengan menggunakan konsol IAM, API IAM AWS CLI, dan IAM, lihat [Membuat peran untuk mendelegasikan izin ke sebuah](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). Layanan AWS

## Ubah peran IAM ruang kerja Anda untuk menggunakan konektor data Athena
<a name="athena-tabular-data-connector-ws-IAM"></a>

Untuk menggunakan [konektor data tabular AWS IoT TwinMaker Athena](https://docs.aws.amazon.com//iot-twinmaker/latest/guide/athena-tabular-data-connector.html), Anda harus memperbarui peran IAM ruang AWS IoT TwinMaker kerja Anda. Tambahkan izin berikut ke peran IAM ruang kerja Anda:

**catatan**  
Perubahan IAM ini hanya berfungsi untuk data tabular Athena yang disimpan dengan dan AWS Glue Amazon S3. Untuk menggunakan Athena dengan sumber data lain, Anda harus mengonfigurasi peran IAM untuk Athena, lihat [Identitas dan manajemen akses](https://docs.aws.amazon.com/athena/latest/ug/security-iam-athena.html) di Athena.

```
{
    "Effect": "Allow",
    "Action": [
        "athena:GetQueryExecution",
        "athena:GetQueryResults",
        "athena:GetTableMetadata",
        "athena:GetWorkGroup",
        "athena:StartQueryExecution",
        "athena:StopQueryExecution"
    ],
    "Resource": [
        "athena resouces arn"
    ]
},// Athena permission
{
    "Effect": "Allow",
    "Action": [
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetDatabase",
        "glue:GetDatabases"
    ],
    "Resource": [
        "glue resouces arn"
    ]
},// This is an example for accessing aws glue
{
    "Effect": "Allow",
    "Action": [
        "s3:ListBucket",
        "s3:GetObject"
    ],
    "Resource": [
        "Amazon S3 data source bucket resources arn"
    ]
}, // S3 bucket for storing the tabular data.
{
    "Effect": "Allow",
    "Action": [
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:PutObject",
        "s3:PutBucketPublicAccessBlock"
    ],
    "Resource": [
        "S3 query result bucket resources arn"
    ]
} // Storing the query results
```

 Baca [Identitas dan manajemen akses di Athena](https://docs.aws.amazon.com/athena/latest/ug/security-iam-athena.html) untuk informasi lebih lanjut tentang konfigurasi IAM Athena.