DynamoDB IAMポリシーで特定項目だけを許可する
2021/01/10
検証記録です。
目次
対象テーブル
書籍のサンプルで作ったこちらです。
所属バンドの楽曲配信記録を蓄積するイメージのテーブルです。
IAMポリシー
IAMポリシーはユーザーガイドAmazon DynamoDB: DynamoDB ID に基づいた Amazon Cognito への行レベルのアクセスを許可するを参考に、クエリだけ許可した次のポリシーにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:Query" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/SongsRevenue", "Condition": { "ForAllValues:StringEquals": { "dynamodb:LeadingKeys": "TCJPC1574876" } } } ] } |
ISRCキーがTCJPC1574876の項目のみ許可しています。
実行
IAMユーザーには、AWS管理ポリシーAWSCloudShellFullAccessをアタッチして、CloudShellを使えるようにしました。
CloudShellでPython3からboto3を使います。
1 2 |
$ python3 |
1 2 3 4 5 6 7 |
import boto3 table = boto3.resource('dynamodb').Table('SongsRevenue') from boto3.dynamodb.conditions import Key table.query( KeyConditionExpression=Key('ISRC').eq('TCJPC1574876') ) |
結果が表示されました。
1 2 3 4 |
table.query( KeyConditionExpression=Key('ISRC').eq('TCJPC00000') ) |
キーの値を変えて実行すると、「is not authorized to perform: dynamodb:Query」になりました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール
久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …
-
-
AWS Organizations SCPがリソースベースのポリシーには影響しないことを確認
AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確 …
-
-
ALBにWAFを関連付けて特定のヘッダー以外はブロックする
おかげさまで、ブログのアクセスも増えてきて、t3.nano EC2インスタンス単 …
-
-
API Gatewayで顧客レベルの使用量プランを設定する
API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …
-
-
AWS Lambda(Python3.7)でPandocを実行する
昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …
-
-
kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする
こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …
-
-
GoogleForm,GASからAPI Gateway, Lambdaで入力情報をDynamoDBに格納する
vol.26 AWS認定試験テキスト認定クラウドプラクティショナーのデモ(Dyn …
-
-
別アカウントのVPCからAWS PrivateLinkを使う
VPC エンドポイントサービス (AWS PrivateLink)を参考にしまし …
-
-
AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した
以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …
-
-
試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る
1年間の無料キャンペーン期間中に検証する とある勉強会でせっかくAWSのアカウン …