アクセス許可ポリシーを AWS Secrets Manager シークレットにアタッチする - AWS Secrets Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アクセス許可ポリシーを AWS Secrets Manager シークレットにアタッチする

リソースベースのポリシーで、シークレットにアクセスできるユーザーと、ユーザーがそのシークレットで実行できるアクションを指定します。リソースベースのポリシーを使用して、以下を行うことができます。

  • 単一のシークレットへのアクセスを複数のユーザーまたはロールに許可します。

  • AWS 他のアカウントのユーザーまたはロールにアクセス権を付与します。

のアクセス許可ポリシーの例 AWS Secrets Manager を参照してください。

コンソールでリソースベースのポリシーをシークレットにアタッチすると、Secrets Manager は自動化された推論エンジン Zelkova と API ValidateResourcePolicy を使用して、シークレットへのアクセス許可を幅広い範囲の IAM プリンシパルに付与しないようにします。または、CLI または SDK からの BlockPublicPolicy パラメータを含む PutResourcePolicy API を呼び出しします。

重要

BlockPublicPolicyリソースポリシーの検証とパラメータは、シークレットに直接関連付けられているリソースポリシーによってパブリックアクセスが許可されるのを防ぐことで、リソースを保護するのに役立ちます。これらの機能を使用することに加えて、以下のポリシーを注意深く調べて、パブリックアクセスを許可していないことを確認してください。

  • AWS 関連するプリンシパル (IAM ロールなど) にアタッチされている ID ベースのポリシー

  • AWS 関連リソースにアタッチされたリソースベースのポリシー (() キーなど) AWS Key Management Service AWS KMS

シークレットへの権限を確認するには、を参照してください。 シークレットへのアクセス許可を持つユーザーを特定する

シークレットのリソースポリシーを表示、変更、または削除するには (コンソール)
  1. Secrets Manager のコンソール (https://console.aws.amazon.com/secretsmanager/) を開きます。

  2. シークレットのリストから、自分のシークレットを選択します。

  3. シークレットの詳細ページの [概要] タブの [リソース許可] セクションで、[許可を編集] を選択します。

  4. [Code] (コード) フィールドで、次のいずれかの操作を行い、[Save] (保存する) をクリックします。

    • リソースポリシーをアタッチまたは変更するには、ポリシーを入力します。

    • ポリシーを削除するには、[Code] (コード) フィールドをクリアします。

AWS CLI

例 リソースポリシーを取得する

次に、シークレットにアタッチされたリソースベースのポリシーを取得する、get-resource-policy の例を示します。

aws secretsmanager get-resource-policy \ --secret-id MyTestSecret
例 リソースポリシーを削除する

次に、シークレットにアタッチされているリソースベースのアポリシーを削除する、delete-resource-policy の例を示します。

aws secretsmanager delete-resource-policy \ --secret-id MyTestSecret
例 リソースポリシーを追加する

次の put-resource-policy の例では、ポリシーが広範なアクセスをシークレットに提供していないことを最初に確認しながら、シークレットに許可ポリシーを追加しています。このポリシーは、ファイルから読み込まれます。詳細については、『 AWS CLI ユーザーガイド』の「AWS CLI ファイルからのパラメータのロード」を参照してください。

aws secretsmanager put-resource-policy \ --secret-id MyTestSecret \ --resource-policy file://mypolicy.json \ --block-public-policy

mypolicy.json の内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

AWS SDK

シークレットにアタッチされているポリシーを取得するには、GetResourcePolicy を使用します。

シークレットにアタッチされているポリシーを削除するには、DeleteResourcePolicy を使用します。

ポリシーをシークレットにアタッチするには、PutResourcePolicy を使用します。ポリシーがすでにアタッチされている場合、コマンドはそのポリシーを新しいポリシーに置き換えます。ポリシーは、JSON 構造化テキストとしてフォーマットする必要があります。JSON ポリシードキュメント構造を参照してください。のアクセス許可ポリシーの例 AWS Secrets Manager を使用して、ポリシーの記述を開始します。

詳細については、「AWS SDKs」を参照してください。