SDK、CLIまたはTerraformの構成
カスタム・ソリューションの開発を容易にするために使用できるOracle Cloud Infrastructureソフトウェア開発キット(SDKs)およびコマンドライン・インタフェース(CLI)について学習します。
SDKの詳細は、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください
Java SDKの場合:
Java SDKで、InstancePrincipalsAuthenticationDetailsProvider
オブジェクトを作成します。例:
public static void main(String[] args) throws Exception {
InstancePrincipalsAuthenticationDetailsProvider provider =
InstancePrincipalsAuthenticationDetailsProvider.builder().build();
IdentityClient identityClient = new IdentityClient(provider);
...
SDK for Pythonの場合:
SDK for Pythonで、oci.auth.signers.InstancePrincipalsSecurityTokenSigner
オブジェクトを作成します。例:
# By default this will hit the auth service in the region returned by http://169.254.169.254/opc/v1/instance/region on the instance.
signer = oci.auth.signers.InstancePrincipalsSecurityTokenSigner()
identity_client = oci.identity.IdentityClient(config={}, signer=signer)
...
待機せずにトークンをリフレッシュするには、次のコマンドを使用します。
signer.refresh_security_token()
CLIに対するインスタンス・プリンシパル認可の有効化
CLIからインスタンス・プリンシパル認可を有効にするには、コマンドに対して認可オプション(--auth
)を設定できます。例:
oci os ns get --auth instance_principal
または、次の環境変数を設定できます。
OCI_CLI_AUTH=instance_principal
両方を設定した場合は、--auth
に設定された値が環境変数より優先されることに注意してください。
CLIの使用の詳細は、コマンドライン・インタフェースの作業を参照してください。
Terraformに対するインスタンス・プリンシパル認可の有効化
Terraformでインスタンス・プリンシパル認可を有効にするには、次の例に示すように、プロバイダ定義でauth
属性を「InstancePrincipal」に設定できます。
variable "region" {}
provider "oci" {
auth = "InstancePrincipal"
region = "${var.region}"
}
インスタンス・プリンシパル認可を使用する場合は、tenancy_ocid
、user_ocid
、fingerprint
およびprivate_key_path
属性を含める必要はありません。