DynamoDB IAMポリシーで特定属性だけを許可する
2021/01/11
検証記録です。
目次
対象テーブル
書籍のサンプルで作ったこちらです。
所属バンドの楽曲配信記録を蓄積するイメージのテーブルです。
IAMポリシー
IAMポリシーはユーザーガイドAmazon DynamoDB: 特定の列へのアクセスの許可を参考に、スキャンだけ許可した次のポリシーにしました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/SongsRevenue", "Condition": { "ForAllValues:StringEquals": { "dynamodb:Attributes": [ "ISRC", "RevenueId", "Month" ] }, "StringEqualsIfExists": {"dynamodb:Select": "SPECIFIC_ATTRIBUTES"} } } ] } |
属性で、ISRC, RevenueId, Monthのみ許可しています。
実行
IAMユーザーには、AWS管理ポリシーAWSCloudShellFullAccessをアタッチして、CloudShellを使えるようにしました。
CloudShellでPython3からboto3を使います。
|
1 2 |
$ python3 |
|
1 2 3 4 5 6 7 8 9 |
import boto3 table = boto3.resource('dynamodb').Table('SongsRevenue') table.scan( ProjectionExpression='ISRC, RevenueId, #M', ExpressionAttributeNames={ '#M': 'Month' } ) |
ProjectionExpressionで属性を指定して実行したら、結果が表示されました。
|
1 2 |
table.scan() |
ProjectionExpressionなしで実行すると、「is not authorized to perform: dynamodb:Scan」になりました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Amazon S3バケットでMFA Deleteを有効にする
バージョニングが有効なバケットでバージョン削除でMFA Deleteを有効にして …
-
-
Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました
AWS Summit Tokyo 2017でセッション「Going Server …
-
-
AWS Organizationsからメンバーアカウントを直接「閉じる」ことができるようになりました
これまでは、メンバーアカウントはOrganizations組織から「除外」して独 …
-
-
AWS Organizations SCPがリソースベースのポリシーには影響しないことを確認
AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確 …
-
-
テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)
Google Calendar Twilio ReminderのテキストをAma …
-
-
WordPressの年ごとのブログ投稿数を調べるSQL
毎年年末に使いそうなのでメモです。 [crayon-695a7bcd36de51 …
-
-
「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました
re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …
-
-
AWS CodePipeline クロスアカウントアクセスパイプライン
AWS CodePipelineでクロスアカウントアクセスのパイプライン作成手順 …
-
-
Amazon Becrock Nova Pro, Liteを校正目的で比較モードを試しました
書籍執筆の誤字脱字チェックと校正をしてもらうためにNovaを検討しています。 N …
-
-
AWS認定SAPの執筆開始にあたって環境を構築しました
AWS認定ソリューションアーキテクトプロフェッショナル対策本の執筆開始にあたりま …

