Slide 13
Slide 13 text
12
KDDI Agile Development Center Corporation
AWS CDKで楽にアクセス設定を行う
「grantXXX」メソッドの利用
• AWS CDKでは、大半のリソースに「grantXXX」というメソッドが用意されており、これを使用することでIAM
Policyを自分で定義することなくアクセス設定が行える
• 一例として、下記のようなメソッドが用意されている(リソースにより異なる)
◦ grantReadData/grantReadWrite:読み取りアクセス/読み書きアクセスのみ許可する
◦ grantFullAccess:読み取り&書き込みを始め、全アクションを許可 etc.
• CDKでの具体的な使用法は、下記ソースを参照
// grantXXXメソッドの使い方は下記の通り。
// 「アクセス先のリソース」は主にDBやストレージ、「アクセス元のリソース」は主にIAM UserやLambda関数などが該当。
// ちなみに「アクセス元のリソース」にIAM PolicyやIAM Roleを指定することもできます。(IGrantableインターフェースを実装しているので)
アクセス先のリソース.grantXXX(アクセス元のリソース);
// 例)Lambda関数とDynamoDBテーブルを定義する
const lambda = new lambda.Function(…);
const dynamo = new dynamodb.TableV2(…);
// 下記の定義を行うことで、Lambda関数がDynamoDBに読み取りアクセス用のIAM Policyを自動で作成&IAM Roleにアタッチしてくれる
dynamo.grantReadData(lambda);
// 「grant」メソッドで、許可するアクションを明示的に指定することも可能
dynamo.grant (lambda, “dynamodb:Scan”, “dynamodb:Query”);