AWS DynamoDB提供了多种基于角色的访问控制方法来管理数据的访问和授权。以下是一个示例,说明如何使用AWS SDK for Python(boto3)实现此目的。
首先,使用IAM创建一个具有必要访问权限的用户并获取其访问密钥。然后,在代码中指定该用户的访问密钥和密钥ID。
import boto3
ACCESS_KEY = ''
SECRET_KEY = ''
dynamodb = boto3.resource('dynamodb',
region_name='us-west-2',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
然后,定义一个策略,该策略将授予用户对特定表的读写访问权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowFullAccessToTable",
"Effect": "Allow",
"Action": [
"dynamodb:*"
],
"Resource": [
"arn:aws:dynamodb:::table/"
]
}
]
}
将策略应用到指定用户的IAM身份。
最后,在编写代码时,请确保对DynamoDB表进行适当的异常处理,并使用仅适用于特定用户的访问密钥和密钥ID进行身份验证。
table = dynamodb.Table('')
try:
response = table.get_item(Key={'': ''})
item = response['Item']
print(item)
except ClientError as e:
print(e.response['Error']['Message'])