ユーザーエクスペリエンスとセキュリティを向上させるために、Platform for AI (PAI) はAlibaba CloudのRAM (Resource Access Management) システムに完全に接続されています。 PAIリソース上のすべての操作は、RAMを使用して認証でき、RAMポリシーのワークスペースの可視性 /リソース作成者プロパティ、およびIPアドレスアクセスプロパティに基づいて管理できます。 ワークスペースに接続されているPAIサブサービスのすべての操作は、認証用のワークスペースAPIを使用してRAMにルーティングされます。
概要
RAMポリシーには、認証を有効にする条件を指定するCondition要素が含まれています。 Condition要素を設定して認証範囲を絞り込むことができます。これにより、詳細な権限管理を実現できます。 PAIでは、Condition要素は次の表に示すキーと値のペアをサポートします。
キー | 値 |
pai: アクセシビリティ | リソースの可視性。 有効な値:
|
pai:EntityAccessType | リソース作成者。
|
acs:SourceIp | リクエストの送信元IPアドレス。 |
可視性と作成者の設定
RAMのRAMロールに可視性 (pai:Accessibility) と作成者 (pai:EntityAccessType) のポリシーをアタッチして、PAIワークスペースのリソースのRAMロールにアクセス許可を付与できます。 ポリシーの詳細については、「ポリシー要素」をご参照ください。
アルゴリズム開発ロールにアタッチされたポリシーの例
{
"Version": "1",
"Statement": [
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"pai:Accessibility": "PRIVATE",
"pai:EntityAccessType": "CREATOR"
}
}
},
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"pai:Accessibility": "PUBLIC"
}
}
}
]
}注:
StatementのResource要素は、RAMリソースを標準形式で指定します。acs:<サブサービスコード >:< 地域 >:< アカウントID>: ワークスペース /<ワークスペースID>/<リソース名>/<リソースID>ステートメントには2つの部分があります。
最初の部分では、ポリシーがアタッチされているロールに、現在の認証ユーザーによって作成されたプライベートなリソースに対する操作を実行する権限があることを指定します。
2番目の部分では、ポリシーがアタッチされているロールに、任意のユーザーによって作成されたパブリックリソースに対する操作を実行する権限があることを指定します。
管理者ロールにアタッチされたポリシーの例
{
"Version": "1",
"Statement": [
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow"
}
]
}注:
この例では、ステートメントには特定の情報のみが含まれており、ポリシーがアタッチされているロールに、pai:Accessibilityプロパティとpai:EntityAccessTypeプロパティの値に関係なく、すべてのリソースで操作を実行する権限があることを指定します。
他のロールにアタッチされているポリシーの例
ワークスペースの他のロールにアタッチされているポリシーのCondition要素は、ワークスペースのアルゴリズム開発者ロールにアタッチされているポリシーのCondition要素と同様です。 2つのロールのAction要素は異なります。
IPアクセスの設定
次のモジュールのリソースでは、IPアクセスのポリシー (acs:SourceIp) をRAMロールにアタッチして、IPアドレスに基づいてアクセス制御を実装できます。 ポリシーの詳細については、「ポリシー要素」をご参照ください。 サンプルポリシー:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": [
"acs:eas:*:*:*",
"acs:pai*:*:*:*"
],
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"192.0.2.100",
"203.0.113.200"
]
}
}
}
]
}注:
StatementのResource要素は、RAMリソースを標準形式で指定します。acs:<Sub-service ram-code >:< region >:< account-id>:workspace/<workspace ID>/<pural形式のリソース名>/<Resource ID>この例では、
EffectはDenyに設定され、ConditionはIpAddressに設定されています。 ソースIPアドレスが192.0.2.100または203.0.113.200の場合、easおよびpai *リソースへのアクセス要求は拒否されます。
RAMの認証ロジック
以下は、可視性 (pai:Accessibility) と作成者 (pai:EntityAccessType) を例として、RAM認証ロジックの詳細な説明です。
ワークスペースのロールに対応するRAMポリシーは、RAMユーザーにアタッチされます。 RAMポリシーでは、Condition要素に
pai:Accessibilityとpai:EntityAccessTypeの2つのプロパティが含まれています。 ユーザーは、プロパティの条件が満たされている場合にのみ、APIオブジェクトにアクセスできます。RAMユーザーがAPIオブジェクトにアクセスしようとすると、PAIは認証のためにRAM APIを呼び出し、認証中にCondition要素のプロパティを構成します。
RAMが認証を実行する場合、RAMユーザーはAPIオブジェクトにアクセスする権限を持っている必要があり、PAIがRAM APIを呼び出すときにCondition要素で構成されているプロパティは、RAMユーザーにアタッチされているポリシーのCondition要素で構成されているプロパティと一致している必要があります。 RAMユーザーにアタッチされているポリシーに、Condition要素に
pai:Accessibilityプロパティとpai:EntityAccessTypeプロパティが含まれていない場合、RAM認証中にプロパティはチェックされません。