本ドキュメントでは、Alibaba Cloud リソースアクセスマネージメント(RAM)で権限を定義するために使用されるポリシーの要素について説明します。

要素

要素名 説明
Effect

ステートメントの結果が許可か、拒否のいずれになるかを指定します。

有効値: 許可 | 拒否

Action 操作対象となるリソースを指定します。
Resource 権限付与されるオブジェクトを指定します。
Condition ポリシーが有効になる時刻を指定します。

ポリシー要素の使い方

  • Effect

    例: "Effect": "Allow"

  • Action
    ほとんどの場合、各 Alibaba Cloud サービスには独自の API アクションセットがあります。 詳細は、RAM をサポートする Alibaba Cloud サービス をご参照ください.

    形式: <service-name>:<action-name>

    • service-name: ecs、rds、slb、oss、および ots などの Alibaba Cloud サービスの名前
    • action-name: service: 関連する API の名前

    例:"Action": ["oss:ListBuckets", "ecs:Describe*", "rds:Describe*"]

  • リソース

    形式: acs:<service-name>:<region>:<account-id>:<relative-id>

    • acs:Alibaba Cloud Service のイニシャル
    • service-name: ecs、rds、slb、oss、および ots など Alibaba Cloud サービスの名前
    • region :リージョン情報。 この要素がサポートされない場合は、アスタリスク( * )を使用します。
    • account-id :Alibaba Cloud のアカウント ID。例: 123456789012**** 。 ID が不要、または利用できない場合、アスタリスクで置き換えることができます (*)。
    • relative-id:サービス関連のリソース説明。 その意味は、特定のAlibaba Cloudサービスによって指定されます。 relative-id 要素はファイルパスに似ています。 たとえば、relative-id = "mybucket/dir1/object1.jpg" という記述は OSS オブジェクトを示します。

    例: "Resource": ["acs:ecs:*:*:instance/inst-001", "acs:ecs:*:*:instance/inst-002", "acs:oss:*:*:mybucket", "acs:oss:*:*:mybucket/*"]

  • Condition
    コンディションブロック(Condition Block)には複数の条件を含めることができ、各条件には複数のキーと値のペアを含めることができます。
    図 1. コンディションブロック


    • 特に指定がない限り、すべてのキーは複数の値を持つことができます。 条件が評価されるときに、condition キーワードのランタイム値が対応する値のいずれかと一致すると、その条件は満たされます。
    • 条件は、同じ操作タイプの複数の条件がすべて満たされた場合にのみ成立します。
    • コンディションブロックが成立するのは、そのすべての条件が満たされる場合に限ります。

    操作タイプ

    以下のタイプの操作がサポートされています:文字列、数値、日付と時刻、ブール値、および IP アドレス。
    操作タイプ サポートされているタイプ
    String
    • StringEquals
    • StringNotEquals
    • StringEqualsIgnoreCase
    • StringNotEqualsIgnoreCase
    • StringLike
    • StringNotLike
    Numeric
    • NumericEquals
    • NumericNotEquals
    • NumericLessThan
    • NumericLessThanEquals
    • NumericGreaterThan
    • NumericGreaterThanEquals
    日付と時刻
    • DateEquals
    • DateNotEquals
    • DateLessThan
    • DateLessThanEquals
    • DateGreaterThan
    • DateGreaterThanEquals
    Boolean Bool
    IP アドレス
    • IpAddress
    • NotIpAddress

    条件キー

    • 共通コンディションキーの形式は次のとおりです。
      acs:<condition-key>
      条件キー タイプ 説明
      acs:CurrentTime 日付と時刻 Web サーバーがリクエストを受信する日付と時刻。 このキーは ISO 8601 形式で定義されています。例:2012-11-11T23:59:59Z
      acs:SecureTransport Boolean HTTPS などセキュアチャネルを使用してリクエストを送信するかどうかを示します。
      acs:SourceIp IP address リクエストを送信するクライアントの IP アドレス。
      acs:MFAPresent Boolean ユーザーログイン時にマルチファクター認証(MFA)を使用するかどうか示します。
    • Alibaba Cloud サービス関連の条件キーの形式は次のとおりです。
      <service-name>:<condition-key>
      条件キー Alibaba Cloud サービス タイプ 説明
      ecs:tag/<tag-key> ECS String ECS の tag-key のペア。 このキーは、カスタマイズすることができます。
      rds:ResourceTag/<tag-key> RDS String RDS の tag-key のペア。 このキーは、カスタマイズすることができます。
      oss:Delimiter OSS String OSS がオブジェクト名をグループ化するときに使用する区切り文字。
      oss:Prefix OSS String OSS オブジェクト名のプレフィックス。

ポリシーの例

次のポリシーは、リクエストの送信元 IP アドレスが 10.0.0.0/8 であるという条件で、OSS バケット samplebucket に対する読み取り専用操作が許可されることを指定します。







{
      "Version": "1",
      "Statement":
        [{
          "Effect": "Allow",
            "Action": ["oss:List*", "oss:Get*"],
            "Resource": ["acs:oss:*:*:samplebucket", "acs:oss:*:*:samplebucket/*"],
            "Condition":
             {
                "IpAddress":
                 {
                    "acs:SourceIp": "100.1.1.1/32"
                  }
              }
         }]
}