AWS Organizationsでは、サービスコントロールポリシー(SCP)以外にも、組織全体の運用を効率化するための管理ポリシーが用意されています。タグポリシーによる命名規則の標準化、バックアップポリシーによるデータ保護の一元管理、AIサービスオプトアウトポリシーによるデータプライバシー制御など、これらのポリシーを適切に活用することで、マルチアカウント環境のガバナンスを大幅に強化できます。本記事では、各ポリシーの概念から実装手順、ベストプラクティスまでを体系的に解説します。
AWS Organizations管理ポリシーの全体像
AWS Organizationsでは、SCPを含む複数の種類のポリシーを使用して組織を管理できます。これらは「認可ポリシー」と「管理ポリシー」の2つのカテゴリに分類されます。
ポリシータイプの分類
mindmap
root((Organizations ポリシー))
認可ポリシー
サービスコントロールポリシー(SCP)
アカウント権限の上限設定
予防的ガードレール
管理ポリシー
タグポリシー
タグの標準化
コンプライアンス監視
バックアップポリシー
組織全体のバックアップ管理
AWS Backup連携
AIサービスオプトアウトポリシー
AI学習データの利用制御
プライバシー保護
チャットボットポリシー
AWS Chatbot設定の一元化
宣言的ポリシー
サービス属性の標準化各ポリシータイプの特徴を以下の表にまとめます。
| ポリシータイプ | カテゴリ | 主な目的 | 適用対象 |
|---|---|---|---|
| SCP | 認可 | アカウント権限の制限 | アカウント、OU |
| タグポリシー | 管理 | タグの標準化と検証 | リソースタグ |
| バックアップポリシー | 管理 | バックアップの一元管理 | 対象リソース |
| AIサービスオプトアウト | 管理 | AI学習データ利用の制御 | AIサービス |
| チャットボットポリシー | 管理 | Chatbot設定の統一 | AWS Chatbot |
| 宣言的ポリシー | 管理 | サービス属性の標準化 | 対象サービス |
管理ポリシーの有効化
管理ポリシーを使用するには、Organizations管理アカウントで各ポリシータイプを有効化する必要があります。
sequenceDiagram
participant Admin as 管理アカウント
participant Org as AWS Organizations
participant Member as メンバーアカウント
Admin->>Org: ポリシータイプを有効化
Org-->>Admin: 有効化完了
Admin->>Org: ポリシーを作成
Admin->>Org: ポリシーをアタッチ(Root/OU/アカウント)
Org->>Member: ポリシーが継承・適用AWS CLIでポリシータイプを有効化するコマンドは以下のとおりです。
|
|
タグポリシーによる命名規則の標準化
タグポリシーは、組織全体でタグの命名規則と使用可能な値を標準化するための機能です。タグはコスト配分、リソース管理、アクセス制御(ABAC)など多くの用途で使用されるため、一貫性のあるタグ付けは運用効率とガバナンスに直結します。
タグ管理の課題
マルチアカウント環境でタグを管理する際、以下のような課題が発生しがちです。
flowchart TB
subgraph "タグ管理の課題"
P1[命名規則の不統一<br/>Environment vs environment]
P2[値の表記揺れ<br/>Production, production, Prod, prod]
P3[必須タグの欠落<br/>CostCenterタグなし]
P4[不要タグの乱立<br/>管理不能なタグの増加]
end
subgraph "影響"
I1[コスト配分の不正確]
I2[リソース検索の困難]
I3[ABACポリシーの機能不全]
I4[監査対応の煩雑化]
end
P1 --> I1
P1 --> I2
P2 --> I1
P2 --> I3
P3 --> I1
P3 --> I4
P4 --> I2タグポリシーの構造
タグポリシーはJSON形式で記述し、タグキーごとにルールを定義します。
|
|
主要な要素は以下のとおりです。
| 要素 | 説明 |
|---|---|
tag_key |
タグキーの正規表現(大文字小文字の指定) |
tag_value |
許可されるタグ値のリスト |
enforced_for |
強制適用するリソースタイプ |
@@assign |
値を割り当てる演算子 |
@@append |
親ポリシーの値に追加する演算子 |
@@remove |
親ポリシーから値を削除する演算子 |
実践的なタグポリシーの設計
組織で一般的に必要となるタグポリシーの例を示します。
|
|
タグポリシーの作成とアタッチ
タグポリシーを作成し、OUまたはアカウントにアタッチする手順を示します。
|
|
タグコンプライアンスの確認
タグポリシーを適用した後、リソースが準拠しているかを確認できます。
|
|
マネジメントコンソールでは、Resource Groupsのタグポリシーページからコンプライアンスレポートをダウンロードすることもできます。
タグポリシー設計のベストプラクティス
効果的なタグポリシーを設計するためのベストプラクティスを紹介します。
flowchart LR
subgraph "設計原則"
direction TB
BP1[最小限のタグから開始]
BP2[段階的に強制適用を拡大]
BP3[継承を活用した階層設計]
end
subgraph "運用原則"
direction TB
OP1[定期的なコンプライアンス監査]
OP2[例外処理のプロセス確立]
OP3[タグカタログの維持]
end
BP1 --> OP1
BP2 --> OP2
BP3 --> OP3推奨される必須タグ
Environment: 環境識別(Production、Development等)CostCenter: コスト配分先の部門やプロジェクトOwner: リソースの責任者や担当チームApplication: 関連するアプリケーション名Compliance: 準拠すべきコンプライアンス要件
段階的な導入アプローチ
- まず監視モードで非準拠リソースを特定
- 既存リソースのタグを修正
- 主要なリソースタイプから強制適用を開始
- 徐々に対象リソースタイプを拡大
バックアップポリシーによる組織全体のデータ保護
バックアップポリシーは、AWS Backupと連携して組織全体のバックアップ戦略を一元管理するための機能です。個々のアカウントでバックアップを設定する代わりに、組織レベルでバックアップ計画を定義し、自動的に適用できます。
バックアップポリシーのアーキテクチャ
flowchart TB
subgraph "管理アカウント"
BP[バックアップポリシー]
end
subgraph "AWS Backup"
BV[バックアップボールト]
BR[バックアップルール]
end
subgraph "メンバーアカウント"
subgraph "Account A"
R1[EC2インスタンス]
R2[RDSデータベース]
R3[EFSファイルシステム]
end
subgraph "Account B"
R4[DynamoDBテーブル]
R5[S3バケット]
end
end
BP -->|ポリシー適用| BR
BR -->|自動バックアップ| R1
BR -->|自動バックアップ| R2
BR -->|自動バックアップ| R3
BR -->|自動バックアップ| R4
BR -->|自動バックアップ| R5
R1 -->|バックアップ保存| BV
R2 -->|バックアップ保存| BV
R3 -->|バックアップ保存| BV
R4 -->|バックアップ保存| BV
R5 -->|バックアップ保存| BVバックアップポリシーの構造
バックアップポリシーはJSON形式で定義し、バックアップ計画の詳細を指定します。
|
|
主要な要素の説明は以下のとおりです。
| 要素 | 説明 |
|---|---|
plans |
バックアップ計画の定義 |
regions |
バックアップを実行するリージョン |
rules |
バックアップルール(スケジュール、保持期間等) |
schedule_expression |
バックアップスケジュール(cron式) |
lifecycle |
バックアップの保持期間とコールドストレージ移行 |
target_backup_vault_name |
バックアップ保存先のボールト名 |
copy_actions |
クロスリージョンコピーの設定 |
selections |
バックアップ対象の選択条件(タグベース) |
階層別バックアップ戦略の実装
本番環境と開発環境で異なるバックアップ戦略を適用する例を示します。
本番環境向けバックアップポリシー(Production OU)
|
|
開発環境向けバックアップポリシー(Development OU)
|
|
バックアップポリシーの前提条件
バックアップポリシーを適用する前に、各メンバーアカウントで以下の準備が必要です。
flowchart TB
subgraph "前提条件"
direction TB
P1[AWS Backupサービスの有効化]
P2[バックアップボールトの作成]
P3[IAMロールの作成]
P4[クロスアカウント管理の有効化]
end
P1 --> P2
P2 --> P3
P3 --> P4AWS Backupのクロスアカウント管理を有効化
|
|
各アカウントでバックアップボールトを作成
|
|
バックアップジョブの監視
組織全体のバックアップ状況を監視するには、AWS Backup Audit Managerを活用します。
flowchart LR
subgraph "監視体制"
direction TB
BAM[Backup Audit Manager]
CW[CloudWatch メトリクス]
SNS[SNS 通知]
end
subgraph "レポート"
direction TB
R1[コンプライアンスレポート]
R2[バックアップジョブレポート]
R3[リストアテストレポート]
end
BAM --> R1
BAM --> R2
BAM --> R3
CW --> SNSAIサービスオプトアウトポリシー
AIサービスオプトアウトポリシーは、AWSのAIサービスがコンテンツを機械学習モデルの改善に使用することをオプトアウト(拒否)するための機能です。プライバシーやデータ主権に関する要件がある組織にとって重要なポリシーです。
オプトアウト対象のAIサービス
このポリシーで制御できるAIサービスは以下のとおりです。
| サービス | オプトアウトキー | 説明 |
|---|---|---|
| Amazon CodeGuru | codeguru |
コードレビューとプロファイリング |
| Amazon Comprehend | comprehend |
自然言語処理 |
| Amazon Lex | lex |
会話型AI |
| Amazon Polly | polly |
テキスト読み上げ |
| Amazon Rekognition | rekognition |
画像・動画分析 |
| Amazon Textract | textract |
ドキュメント分析 |
| Amazon Transcribe | transcribe |
音声文字起こし |
| Amazon Translate | translate |
機械翻訳 |
| Amazon Q | q |
生成AIアシスタント |
オプトアウトポリシーの構造
すべてのAIサービスに対してオプトアウトするポリシーの例を示します。
|
|
特定のサービスのみオプトアウトする場合は以下のように記述します。
|
|
ポリシーの作成とアタッチ
|
|
プライバシー要件に応じた設計
組織のプライバシー要件に応じて、OU単位で異なるポリシーを適用できます。
flowchart TB
ROOT[Root<br/>デフォルト: optIn]
subgraph "厳格なプライバシー要件"
OU1[ヘルスケア OU<br/>すべてoptOut]
OU2[金融 OU<br/>すべてoptOut]
end
subgraph "標準要件"
OU3[一般 OU<br/>デフォルト継承]
end
ROOT --> OU1
ROOT --> OU2
ROOT --> OU3チャットボットポリシーと宣言的ポリシー
AWS Organizationsでは、チャットボットポリシーと宣言的ポリシーも提供されています。
チャットボットポリシー
チャットボットポリシーは、AWS Chatbotの設定を組織全体で標準化するための機能です。SlackやMicrosoft Teamsとの連携設定、通知の許可範囲などを制御できます。
|
|
宣言的ポリシー
宣言的ポリシーは、特定のAWSサービスの属性を組織全体で標準化するための機能です。EC2のシリアルコンソールアクセスやEBSのデフォルト暗号化などを一元管理できます。
|
|
ポリシー適用のベストプラクティス
組織全体のポリシーを効果的に運用するためのベストプラクティスを紹介します。
継承の活用
ポリシーは組織のルートからOU、アカウントへと継承されます。この仕組みを活用して効率的にポリシーを管理します。
flowchart TB
subgraph "継承の例"
ROOT[Root<br/>基本タグポリシー]
OU1[Production OU<br/>厳格なバックアップポリシー]
OU2[Development OU<br/>簡易バックアップポリシー]
ACC1[本番アカウント<br/>継承されたポリシー適用]
ACC2[開発アカウント<br/>継承されたポリシー適用]
end
ROOT --> OU1
ROOT --> OU2
OU1 --> ACC1
OU2 --> ACC2有効なポリシーの確認
複数のポリシーが継承されている場合、最終的に適用される有効なポリシーを確認することが重要です。
|
|
段階的な導入
新しいポリシーを導入する際は、以下の手順で段階的に進めることを推奨します。
flowchart LR
S1[サンドボックス環境<br/>でテスト] --> S2[開発環境<br/>に適用]
S2 --> S3[ステージング環境<br/>に適用]
S3 --> S4[本番環境<br/>に適用]- サンドボックスアカウントでポリシーをテスト
- 開発環境のOUに適用して影響を確認
- ステージング環境に展開して本番相当のテスト
- 本番環境に適用
監査とコンプライアンス
定期的にポリシーの準拠状況を監査し、改善を行います。
| 監査項目 | 確認方法 | 頻度 |
|---|---|---|
| タグコンプライアンス | Resource Groups コンソール | 週次 |
| バックアップ完了状況 | AWS Backup レポート | 日次 |
| ポリシー変更履歴 | CloudTrail | リアルタイム |
| 非準拠リソース | Config Rules | 継続的 |
まとめ
AWS Organizationsの管理ポリシーを活用することで、マルチアカウント環境のガバナンスを大幅に強化できます。タグポリシーによる命名規則の標準化はコスト管理とリソース追跡を容易にし、バックアップポリシーは組織全体のデータ保護を一元化します。AIサービスオプトアウトポリシーはプライバシー要件への対応を簡素化します。
これらのポリシーは単独で使用することも、組み合わせて使用することもできます。組織の要件に応じて適切なポリシーを選択し、段階的に導入することで、セキュアで効率的なマルチアカウント環境を実現できます。