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

ポリシー ステートメントでリソースへのアクセスを許可または拒否するユーザ、グループ、またはテナント アカウントを指定するには、Principal要素を使用します。

  • バケット ポリシーの各ポリシー ステートメントには、Principal要素を含める必要があります。グループはプリンシパルとみなされるため、グループ ポリシーのポリシー ステートメントにはPrincipal要素は不要です。
  • ポリシーでは、「Principal」要素または「NotPrincipal」要素(除外の場合)でプリンシパルを指定します。
  • IDまたはURNを使用してアカウントベースのアイデンティティを指定する必要があります。
    "Principal": { "SGWS": "account_id"}
    "Principal": { "SGWS": "identity_urn" }
  • 次の例では、テナント アカウントID 27233906934684427525を使用しています。この場合、rootアカウントとそのすべてのユーザが含まれます。
     "Principal": { "SGWS": "27233906934684427525" }
  • rootアカウントのみを指定する場合は次のようになります。
    "Principal": { "SGWS": "urn:sgws:identity::27233906934684427525:root" }
  • 特定のフェデレーション ユーザ(「Bob」)のみを指定する場合は次のようになります。
    "Principal": { "SGWS": "urn:sgws:identity::27233906934684427525:federated-user/Bob" }
  • 特定のフェデレーション グループ(「Managers」)のみを指定する場合は次のようになります。
    "Principal": { "SGWS": "urn:sgws:identity::27233906934684427525:federated-group/Managers"  }
  • 匿名プリンシパルを指定する場合は次のようになります。
    "Principal": "*"
  • Bobが組織を離れてユーザ名Bobを削除したあとに、新たに加わったBobに同じユーザ名Bobを割り当てた場合、以前に在籍していたBobに付与されていた権限が意図せずに継承されることがあります。このようなあいまいさを排除するために、ユーザ名の代わりにUUIDを使用できます。次に例を示します。
    urn:sgws:identity::27233906934684427525:user-uuid/de305d54-75b4-431b-adb2-eb6b9e546013
  • グループ ポリシーの作成時は、まだ存在しないグループやユーザの名前もプリンシパルの値で指定することができます。