AWS Certified Generative AI Developer - Professional 資格対策コース
セキュアな AI 環境(PrivateLink・IAM・KMS・Lake Formation)
このレッスンで学ぶこと 対応試験ドメイン D3 タスク 3.2.1(セキュアな AI 環境の構築)。AWS PrivateLink・IAM・AWS KMS・AWS Secrets Manager・AWS Lake Formation を組み合わせ、Amazon Bedrock を中心とした生成 AI 環境を多層で守る設計判断を身につけます。
解説
セキュアな AI 環境は「ネットワーク」「権限」「暗号化」「資格情報」「データガバナンス」の各層を AWS のどのサービスで固めるかの設計です。生成 AI 特有というより、AWS の基本的な防御を Bedrock 周りに正しく当てる力が問われます。
ネットワークを閉じる(AWS PrivateLink)
Amazon Bedrock への通信をインターネットに出さず、VPC 内からプライベートに到達させるのが AWS PrivateLink(インターフェース型 VPC エンドポイント)です。トラフィックは AWS バックボーン内に留まり、パブリック経路を経由しません。
| 方式 | 特徴 |
|---|---|
| AWS PrivateLink(インターフェース VPC エンドポイント) | Bedrock など対応サービスへプライベート IP で接続。トラフィックは AWS 内に留まる |
| ゲートウェイ VPC エンドポイント | Amazon S3・DynamoDB 向け。ルートテーブル経由 |
| NAT ゲートウェイ | アウトバウンドをインターネット経由で許可(プライベート接続ではない) |
「Bedrock への通信をインターネットに出さない」という要件は PrivateLink が答えで、NAT ゲートウェイは逆(インターネット経由)です。
権限を絞る(IAM)
IAM で最小権限を設計します。bedrock:InvokeModel や特定モデルの ARN、特定 Guardrail へのアクションだけを許可し、不要な権限は付けません。リソースポリシーや条件キー(aws:SourceVpce で特定 VPC エンドポイント経由のみ許可など)で境界を強めます。
暗号化する(AWS KMS)
保存データ・ログ・Knowledge Bases のベクトルストアなどを AWS KMS のカスタマーマネージドキー(CMK)で暗号化し、鍵へのアクセスも IAM・鍵ポリシーで制御します。「誰が鍵を使えるか」を握ることがデータ管理の要です。
資格情報を守る(AWS Secrets Manager)
外部 API キーや DB 接続情報を AWS Secrets Manager に保管し、ローテーションを自動化します。コードや環境変数に資格情報をハードコードしないのは試験でも実装でも鉄則です。Bedrock 呼び出しは IAM ロールで認可するのが基本です。
データレイクを統治する(AWS Lake Formation)
学習・RAG の元データがデータレイク上にあるなら、AWS Lake Formation でテーブル・列・行・タグ単位のきめ細かいアクセス制御を一元管理します。素の S3 バケットポリシー + IAM だけより、データレイクのガバナンスを集中管理できます。
Python
import boto3
# 資格情報はハードコードせず IAM ロール、外部シークレットは Secrets Manager から取得
sm = boto3.client("secretsmanager", region_name="us-east-1")
api_key = sm.get_secret_value(SecretId="external/llm-tool-key")["SecretString"]
# Bedrock 呼び出しは VPC エンドポイント(PrivateLink)経由・IAM ロール認可で行う
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")試験で問われるポイント
- AWS PrivateLink と NAT ゲートウェイは逆。PrivateLink は通信を AWS 内に閉じてプライベート到達、NAT はインターネット経由のアウトバウンド。「Bedrock 通信をインターネットに出さない」は PrivateLink
- AWS PrivateLink(インターフェース VPC エンドポイント)とゲートウェイ VPC エンドポイントの違い。Bedrock など多くのサービスはインターフェース型(PrivateLink)、S3・DynamoDB はゲートウェイ型
- 資格情報は AWS Secrets Manager。ハードコードや平文の環境変数はひっかけ。Bedrock 自体の認可は IAM ロール
- データレイクのきめ細かいアクセス制御は AWS Lake Formation。列・行・タグ単位の一元管理が要件なら S3 バケットポリシー単独より Lake Formation
- 暗号化鍵の管理主体は AWS KMS の CMK。「誰が鍵を使えるか」を IAM・鍵ポリシーで制御する判断が問われる
- 試験で問われるのは AWS のどのサービスでどの層を守るかであり、一般的なセキュリティ論ではない
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| Bedrock 通信を AWS 内に閉じる | AWS PrivateLink(インターフェース VPC エンドポイント) | NAT ゲートウェイ(インターネット経由)/ ゲートウェイ VPC エンドポイント(S3・DynamoDB 向け) |
| 外部 API キー・接続情報の安全な保管とローテーション | AWS Secrets Manager | コード・環境変数へのハードコード |
| データレイクの列・行・タグ単位のアクセス制御 | AWS Lake Formation | S3 バケットポリシー単独(粒度・一元管理が弱い) |
| 保存データ・ログ・鍵の暗号化と鍵アクセス制御 | AWS KMS(CMK) | IAM 単体(鍵そのものの管理は KMS) |
まとめ
セキュアな AI 環境は層の集合です。AWS PrivateLink でネットワークを閉じ、IAM で最小権限、AWS KMS で暗号化と鍵管理、AWS Secrets Manager で資格情報、AWS Lake Formation でデータレイクのアクセス制御を担います。PrivateLink と NAT の違い、Secrets Manager とハードコードの対比が頻出論点です。
次のステップ
次のクイズレッスンで、本番形式のシナリオ問題に挑戦してセキュアな AI 環境設計の判断力を確認しましょう。
関連レッスン
- PII 保護とプライバシー(pro-pii-privacy)
- コンプライアンス・モデルカード・監査証跡設計(pro-compliance)
- セキュアアクセス(pro-secure-access)