メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

ポリシーでのプリンシパルの指定

Principal エレメントは、リソースへのアクセスを許可または拒否するユーザー、アカウント、サービス、または他のエンティティを指定します。Principal エレメントの指定が必要になるのは、バケットポリシーのみです。特定のユーザーに直接ポリシーをアタッチするユーザーポリシーでは、必要ありません。Principal を指定する例を以下に示します。詳細については、『IAM ユーザーガイド』の「プリンシパル」を参照してください。

  • AWS アカウントにアクセス許可を付与するには、以下の形式を使用してアカウントを指定します。

    Copy
    "AWS":"account-ARN"

    (例:

    Copy
    "Principal":{"AWS":"arn:aws:iam::AccountNumber-WithoutHyphens:root"}

    Amazon S3 では、正規ユーザー ID(難読化された AWS アカウント ID)もサポートされています。以下の形式を使用して、この ID を指定できます。

    Copy
    "CanonicalUser":"64-digit-alphanumeric-value"

    (例:

    Copy
    "Principal":{"CanonicalUser":"64-digit-alphanumeric-value"}

    AWS アカウントに関連付けられている正規ユーザー ID を確認するには

    1. http://aws.amazon.com にアクセスし、[My Account/Console] ドロップダウンメニューから [Security Credentials] を選択します。

    2. 適切なアカウント認証情報を使用して、サインインします。

    3. [Account Identifiers] をクリックします。

  • アカウント内の IAM ユーザーにアクセス許可を付与するには、"AWS":"user-ARN" の名前と値のペアを指定する必要があります。

    Copy
    "Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}
  • 匿名アクセスと呼ばれるアクセス権限を全員に付与するには、Principal の値としてワイルドカード「*」を設定します。たとえば、バケットを Web サイトとして設定する場合、以下のように、バケット内のすべてのオブジェクトを公開し、誰でもアクセスできるようにすることができます。

    Copy
    "Principal" : "*"
  • また、CloudFront オリジンアクセスアイデンティティと関連付けられた正規ユーザー ID を使用して、このアイデンティティを付与できます。プライベートコンテンツの提供に関する CloudFront のサポートについては、『Amazon CloudFront 開発者ガイド』のトピック「Serving Private Content」を参照してください。CloudFront ディストリビューションのオリジンアイデンティティには、AWS アカウントではなく、正規ユーザー ID を指定する必要があります。

アクセスポリシー言語の他のエレメントについては、「アクセスポリシー言語の概要」を参照してください。