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_ociduser_ocidfingerprintおよびprivate_key_path属性を含める必要はありません。