AWS Secrets Manager の認証とアクセスコントロール
Secrets Manager は AWS Identity and Access Management (IAM) を使用して、シークレットへのアクセスを保護します。IAM は認証とアクセスコントロールを提供します。認証は、リクエストを実行するアイデンティティを検証するものです。Secrets Manager は、パスワード、アクセスキー、および多要素認証 (MFA) トークンでのサインインプロセスを使用して、ユーザーのアイデンティティを検証します。AWS へのサインインを参照してください。アクセスコントロールは、シークレットなどの AWS リソースで、承認された個人のみがオペレーションを実行できるようにします。Secrets Manager は、ポリシーを使用して、リソースにアクセスできるユーザー、およびそのアイデンティティがそれらのリソースに対して実行できるアクションを定義します。IAM でのポリシーとアクセス許可を参照してください。
Secrets Manager 管理者のアクセス許可
Secrets Manager 管理者のアクセス許可を付与するには、[Adding and removing IAM identity permissions] (IAM アイデンティティのアクセス許可の追加および削除) をクリックし、次のポリシーをアタッチします。
エンドユーザーには管理者のアクセス許可を付与しないことをお勧めします。これを付与すると、ユーザーはシークレットを作成および管理できますが、ローテーションを有効にするために必要なアクセス許可 (IAMFullAccess) により、エンドユーザーには適切ではない重要なアクセス許可が付与されます。
シークレットへのアクセス許可
IAM アクセス許可ポリシーを使用すると、シークレットにアクセスできるユーザーまたはサービスを制御できます。アクセス許可のポリシーは、誰がどのアクションをどのリソースで実行できるかを示します。次のようにできます。
Lambda ローテーション関数のアクセス許可
Secrets Manager は AWS Lambda 関数を使用してシークレットをローテーションします。Lambda 関数には、シークレットと、シークレットにその認証情報が含まれているデータベースまたはサービスへのアクセス許可が必要です。「ローテーションへのアクセス許可」を参照してください。
暗号化キーのアクセス許可
Secrets Manager は AWS Key Management Service (AWS KMS) キーを使用してシークレットを暗号化します。AWS マネージドキー aws/secretsmanager
には正しいアクセス許可が自動的に割り当てられています。別の KMS キーを使用する場合、Secrets Manager にはそのキーに対するアクセス許可が必要です。「KMS キーのアクセス許可」を参照してください。