View a markdown version of this page

Membuat tabel dengan kebijakan berbasis sumber daya - Amazon DynamoDB

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

Membuat tabel dengan kebijakan berbasis sumber daya

Anda dapat menambahkan kebijakan berbasis sumber daya saat membuat tabel menggunakan konsol DynamoDB, CreateTable API, AWS SDK AWS CLI, atau template. CloudFormation

Contoh berikut membuat tabel bernama MusicCollection menggunakan create-table AWS CLI perintah. Perintah ini juga menyer resource-policy takan parameter yang menambahkan kebijakan berbasis sumber daya ke tabel. Kebijakan ini memungkinkan pengguna John untuk melakukan tindakan RestoreTableToPointInTime GetItem,, dan PutItem API pada tabel.

Ingatlah untuk mengganti italicized teks dengan informasi spesifik sumber daya Anda.

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --resource-policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::123456789012:user/John\" }, \"Action\": [ \"dynamodb:RestoreTableToPointInTime\", \"dynamodb:GetItem\", \"dynamodb:DescribeTable\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\" } ] }"
  1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB di. https://console.aws.amazon.com/dynamodb/

  2. Pada dasbor, pilih Buat tabel.

  3. Di Detail tabel, masukkan nama tabel, kunci partisi, dan urutkan detail kunci.

  4. Di Peng aturan tabel, pilih Ku stomisasi pengaturan.

  5. (Opsional) Tentukan pilihan Anda untuk kelas Tabel, Kalkulator kapasitas, pengaturan Read/write kapasitas, Inde ks sekunder, Enkripsi saat diam, dan Perlindungan penghapusan.

  6. Dalam Resource-based kebijakan, tambahkan kebijakan untuk menentukan izin akses untuk tabel dan indeksnya. Dalam kebijakan ini, Anda menentukan siapa yang memiliki akses ke sumber daya ini, dan tindakan yang diizinkan untuk dilakukan pada setiap sumber daya. Untuk menambahkan kebijakan, lakukan salah satu hal berikut:

    • Ketik atau tempel dokumen kebijakan JSON. Untuk detail tentang bahasa kebijakan IAM, lihat Membuat kebijakan menggunakan editor JSON di Panduan Pengguna IAM.

      Tip

      Untuk melihat contoh kebijakan berbasis sumber daya di Panduan Pengembang Amazon DynamoDB, pilih Contoh kebijakan.

    • Pilih Tambahkan pernyataan baru untuk menambahkan pernyataan baru dan masukkan informasi di bidang yang disediakan. Ulangi langkah ini sebanyak jumlah pernyataan yang ingin Anda tambahkan.

    penting

    Pastikan Anda menyelesaikan peringatan keamanan, kesalahan, atau saran sebelum menyimpan kebijakan.

    Contoh kebijakan IAM berikut memungkinkan pengguna John untuk melakukan tindakan RestoreTableToPointInTime, GetItem, dan PutItem API pada tabelMusicCollection.

    Ingatlah untuk mengganti italicized teks dengan informasi spesifik sumber daya Anda.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/username" }, "Action": [ "dynamodb:RestoreTableToPointInTime", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection" } ] }
  7. (Opsional) Pilih Pratinjau akses eksternal di sudut kanan bawah untuk melihat bagaimana kebijakan baru memengaruhi publik dan akses lintas akun ke sumber daya Anda. Sebelum Anda menyimpan kebijakan Anda, Anda dapat memeriksa apakah itu memperkenalkan temuan Penganalisa Akses IAM baru atau menyelesaikan temuan yang ada. Jika Anda tidak melihat penganalisis aktif, pilih Buka Penganalisis Akses untuk membuat penganalisis akun di Penganalisis Akses IAM. Untuk informasi selengkapnya, lihat Pr atinjau akses.

  8. Pilih Buat tabel.

Using the AWS::DynamoDB::Table resource

CloudFormation Template berikut membuat tabel dengan aliran menggunakan sumber daya AWS: :DynamoDB: :Table. Template ini juga menyertakan kebijakan berbasis sumber daya yang dilampirkan ke tabel dan aliran.

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MusicCollectionTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" } ], "BillingMode": "PROVISIONED", "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "StreamSpecification": { "StreamViewType": "OLD_IMAGE", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" } ] } } }, "TableName": "MusicCollection", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }
Using the AWS::DynamoDB::GlobalTable resource

CloudFormation Template berikut membuat tabel dengan sumber daya AWS: :DynamoDB:: dan melampirkan kebijakan berbasis GlobalTable sumber daya ke tabel dan alirannya.

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "GlobalMusicCollection": { "Type": "AWS::DynamoDB::GlobalTable", "Properties": { "TableName": "MusicCollection", "AttributeDefinitions": [{ "AttributeName": "Artist", "AttributeType": "S" }], "KeySchema": [{ "AttributeName": "Artist", "KeyType": "HASH" }], "BillingMode": "PAY_PER_REQUEST", "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "Replicas": [ { "Region": "us-east-1", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" }] } } } } ] } } } }